Commit graph

15482 commits

Author SHA1 Message Date
Richard Henderson
6fd1c67b8b expr.c (expand_builtin_setjmp): Accept two new arguments for the labels to branch to on first and subsequent...
* expr.c (expand_builtin_setjmp): Accept two new arguments for
 the labels to branch to on first and subsequent executions.  Don't
 play with __dummy.  Rename `setjmp' insn to `builtin_setjmp_setup',
 and provide it with the jmp_buf.  Use only one of
 `builtin_setjmp_receiver' or `nonlocal_goto_receiver',
 and provide the former with the target label.
 (expand_builtin) [BUILTIN_SETJMP]: Generate a label for use by setjmp.
 (expand_builtin) [BUILTIN_LONGJMP]: Split out to ...
 (expand_builtin_longjmp): ... here.  Recognize a `builtin_longjmp'
 insn to replace all of the normal nonlocal_goto code.  Don't play
 with __dummy.  Correct arguments to nonlocal_goto.
 * expr.h (expand_builtin_setjmp): Update prototype.
 * except.c (start_dynamic_handler): When using builtin_setjmp,
 generate more accurate flow information.
 * alpha.md (nonlocal_goto_receiver_osf): Delete.
 (nonlocal_goto_receiver_vms): Rename to nonlocal_goto_receiver.
 (builtin_longjmp, builtin_setjmp_receiver): New.
 * sparc.md (update_return): Disambiguate unspec number.
 (nonlocal_goto): Rearrange arguments to match caller in except.c.
 (builtin_setjmp_setup): Rename from setjmp.  Match and ignore the
 jmp_buf operand.
 * mips.md (nonlocal_goto_receiver, builtin_setjmp_receiver): Remove.
 (builtin_setjmp_setup*, builtin_longjmp): New.

From-SVN: r17602
1998-02-02 11:28:57 -08:00
John Carr
95936d18c1 Patch from John Carr to fix some 32/64 bit cross compiler bugs.
* mips.md: Change gen_rtx (CONST_INT) to GEN_INT.

From-SVN: r17601
1998-02-02 08:44:24 -08:00
Jeff Law
a5b699cfe1 Various updates.
From-SVN: r17600
1998-02-02 08:53:17 -07:00
Jim Wilson
c120c689a5 Remove last of bytecode support.
* vmsconfig.com: Remove bytecode references.

From-SVN: r17599
1998-02-02 05:09:22 -08:00
Mark Mitchell
8857f91e00 cp-tree.h (DECL_NONSTATIC_MEMBER_FUNCTION_P): New macro.
* cp-tree.h (DECL_NONSTATIC_MEMBER_FUNCTION_P): New macro.
	(revert_static_member_fn): Declare.
	* decl.c (revert_static_member_fn): Remove declaration.  Change
	linkage from internal to external.
	(cp_finish_decl): Deal with virtual functions in classes local to
	template functions.
	* decl2.c (finish_file): Don't forget to emit increment/decrement
	expressions in initializers for file-scope variables.
	* parse.y (typename_sub2): If the typename doesn't names a
	template, rather than a type, issue an error message.
	* pt.c (check_explicit_specialization): Handle specializations of
	static member functions.
	(coerce_template_parms): Handle offset references to lists of
	member functions.
	* search.c (note_debug_info_needed): Don't crash when handed a
	type which is being defined.
	* typeck.c (complete_type): Don't crash when handed NULL_TREE;
	that can happen with some illegal code.

From-SVN: r17598
1998-02-02 06:41:39 -05:00
Richard Henderson
318e3b20e4 configure.in: Update F2C_INTEGER and F2C_LONGINT tests for the new placement in the hierarchy.
* configure.in: Update F2C_INTEGER and F2C_LONGINT tests
for the new placement in the hierarchy.

From-SVN: r17597
1998-02-02 03:09:23 -08:00
Andreas Schwab
9119390023 dwarf2out.c (dwarf2out_frame_init): Undo last change...
* dwarf2out.c (dwarf2out_frame_init): Undo last change, so that
	-fno-sjlj-exceptions works for a target that defines
	DWARF2_UNWIND_INFO as zero.

From-SVN: r17596
1998-02-02 03:26:33 -07:00
Andreas Schwab
1a56b81fe6 regmove.c (fixup_match_1): Undo last change which removed some "useless" code...
* regmove.c (fixup_match_1): Undo last change which removed some
        "useless" code, and add a comment explaining this.

From-SVN: r17595
1998-02-02 03:23:22 -07:00
Gavin Koch
e4b3de45ac mips.c (mips_expand_prologue): Change uses of TARGET_64BIT to TARGET_LONG64.
* mips.c (mips_expand_prologue): Change uses of TARGET_64BIT
        to TARGET_LONG64.

From-SVN: r17594
1998-02-02 02:46:21 -07:00
Klaus Kaempf
2aabb736c9 makefile.vms: Remove bytecode references.
* makefile.vms: Remove bytecode references.
        Create genrtl files.

From-SVN: r17593
1998-02-02 02:37:18 -07:00
Jeff Law
4693911f10 Tweak again.
From-SVN: r17592
1998-02-02 02:33:14 -07:00
Michael P. Hayes
7457661d45 jump.c (jump_optimize): Allow conditional loading of floating point constants and constants from memory.
* jump.c (jump_optimize): Allow conditional loading of floating point
        constants and constants from memory.  Reinstalled modified_in_p tests.

From-SVN: r17591
1998-02-01 18:09:04 -07:00
J"orn Rennecke
460f50dc14 * loop.c (get_condition): Handle sign-extended constants.
From-SVN: r17590
1998-02-01 17:37:25 -07:00
Hans-Peter Nilsson
db771a3c53 * expr.c (emit_push_insn): Add code to use movstrti if present.
From-SVN: r17589
1998-02-01 17:23:13 -07:00
Hans-Peter Nilsson
7a6df7f924 expr.c (emit_push_insn): Use same max-move-amount for movstrhi and movstrqi as in emit_block_move ().
* expr.c (emit_push_insn): Use same max-move-amount for movstrhi
	and movstrqi as in emit_block_move ().

From-SVN: r17588
1998-02-01 17:21:46 -07:00
Jeff Law
8c01d9b6f7 Improve movstrXX documentation.
From-SVN: r17587
1998-02-01 17:17:02 -07:00
Kaveh R. Ghazi
a703fb388b Various fixes for -Wall problems from Kaveh. See ChangeLog for details.
From-SVN: r17586
1998-02-01 17:04:13 -07:00
Toon Moene
ceb6edf249 x-next: Remove /NextDeveloper/Headers from the directories to fixinclude - /usr/include...
* config/m68k/x-next: Remove /NextDeveloper/Headers from
        the directories to fixinclude - /usr/include is a link
        to it and hence its contents are fixed by default.

From-SVN: r17585
1998-02-01 16:08:28 -07:00
Jeff Law
f3e57cf831 Fix typo in hj's ChangeLog entry.
From-SVN: r17584
1998-02-01 16:06:22 -07:00
Franz Sirl
9cddeb31c8 * rs6000/linux.h: define JUMP_TABLES_IN_TEXT_SECTION
From-SVN: r17583
1998-02-01 06:14:01 -07:00
Andreas Schwab
54a60f6e25 iostream.cc (istream::operator>>(long double&)): Scan value into separate variable, in case long double is bigger than double.
* iostream.cc (istream::operator>>(long double&))
        [!_G_HAVE_LONG_DOUBLE_IO]: Scan value into separate variable, in
        case long double is bigger than double.
        (ostream::operator<<(double)) [_G_HAVE_PRINTF_FP]: Fix order of
        initializers of struct printf_info to match declaration order,
        to work around g++ bug.
        (ostream::operator<<(long double)) [_G_HAVE_PRINTF_FP]: Likewise.
        * gen-params: Add missing quotes.  Avoid useless use of command
        substitution.

From-SVN: r17582
1998-02-01 05:44:52 -07:00
H.J. Lu
6ad85f1770 linux.mt: Don't define _PTHREADS, but define _IO_MTSAFE_IO.
* config/linux.mt: Don't define _PTHREADS, but define
        _IO_MTSAFE_IO.

From-SVN: r17581
1998-02-01 05:38:27 -07:00
H.J. Lu
2b0aa3c5b3 filebuf.cc (filebuf::open): Call _IO_file_open if _G_HAVE_IO_FILE_OPEN is 1.
* filebuf.cc (filebuf::open): Call _IO_file_open if
        _G_HAVE_IO_FILE_OPEN is 1.
        * libio.h (_IO_fpos64_t, _IO_off64_t): Defined if
        _G_IO_IO_FILE_VERSION == 0x20001.
        * libioP.h (_IO_file_open): New declaration.
        * libio.h (_IO_FILE, _IO_stdin_, _IO_stdout_, _IO_stderr_,
        _IO_seekoff, _IO_seekpos): Add support for libio in egcs 2.1.
        * libioP.h (_IO_seekoff_t, _IO_seekpos_t, _IO_seek_t,
        _IO_seekoff, _IO_seekpos, _IO_default_seekoff,
        _IO_default_seekpos, _IO_default_seek, _IO_file_seekoff,
        _IO_file_seek, _IO_str_seekoff, _IO_pos_BAD, _IO_pos_as_off,
        _IO_pos_0): Ditto.
        * streambuf.h (streamoff, streampos): Ditto.
        * gen-params (__extension__): Use only if gcc version >= 2.8.

From-SVN: r17580
1998-02-01 05:29:15 -07:00
Krister Walfridsson
9563abe0c2 dbz.c (putconf): Handle systems which use "long long" as type for "off_t".
* dbz/dbz.c (putconf): Handle systems which use "long long" as type
        for "off_t".
        * dbz/dbzmain.c (mkfiles): Likewise.

From-SVN: r17579
1998-02-01 05:20:13 -07:00
Klaus Kaempf
d2f05a0aad * cccp.c (main): Predefine __VMS_VER on VMS.
From-SVN: r17578
1998-02-01 05:01:18 -07:00
J"orn Rennecke
f8dac6eb3f expr.c (get_inner_reference): Use sbitsizetype for type sizes.
* expr.c (get_inner_reference): Use sbitsizetype for type sizes.
        * fold-const.c (size_int): Replace with
        (size_int_wide).
        (make_bit_field_ref): Use bitsize_int for bit position.
        * stor-layout.c (sizetype): Delete.
        (sizetype_tab, sbitsizetype, ubitsizetype): Declare.
        (layout_record, layout_union, layout_type):
        Use bitsize_int for bit size.
        (set_sizetype): New function.
        (make_signed_type, make_unsigned_type): Use it.
        * c-decl.c (init_decl_processing): Likewise.
        * tree.h (size_int): Don't delcare, #define.
        (size_int_wide, sizetype_tab, sbitsize, ubitsize): Declare.
        (set_sizetype): Declare.
        (bitsize_int, size_int_2, BITS_PER_UNIT_LOG, sizetype, bitsizetype):
        Define.
        * c-typeck.c (c_sizeof, c_sizeof_nowarn, c_size_in_bytes):
        Convert result to sizetype.
        (really_start_incremental_init, push_init_level):
        Set type of constructor_bit_index to sbitsizetype.
        (push_init_level): Use unsigned arithmetic to determine padding.
        (output_init_element): Likewise.

From-SVN: r17577
1998-02-01 04:47:59 -07:00
J"orn Rennecke
f5426d1e9b decl.c (init_decl_processing): Use set_sizetype.
* decl.c (init_decl_processing): Use set_sizetype.
        * decl2.c (sizetype): Don't declare.
        * typeck.c (c_sizeof): Convert result of *_DIV_EXPR to sizetype.
        (c_sizeof_nowarn, build_binary_op_nodefault): Likewise.
        (build_component_addr, unary_complex_lvalue): Likewise.
        * rtti.c (expand_class_desc): Likewise.
        * class.c (get_vfield_offset): Likewise.

From-SVN: r17576
1998-02-01 04:45:10 -07:00
J"orn Rennecke
c8bec8c8be com.c (ffecom_tree_canonize_ptr_): Place bitsizetype typed expr as first agument in MULT_EXPR.
* com.c (ffecom_tree_canonize_ptr_): Place bitsizetype typed expr
        as first agument in MULT_EXPR.
        Use bitsize_int (0L, 0L) as zero for bitsizes.
        (ffecom_tree_canonize_ref_):
        Use bitsize_int (0L, 0L) as zero for bitsizes.
        (ffecom_init_0): Use set_sizetype.

From-SVN: r17575
1998-02-01 04:43:05 -07:00
Jeff Law
8d0f1540f8 Remove unnecessary file.
From-SVN: r17574
1998-02-01 04:36:50 -07:00
Jeffrey A Law
b577a8ffce * combine.c (simplify_shift_const): Fix typo in last change.
From-SVN: r17573
1998-01-31 19:31:03 -07:00
Mike Stump
4de160dd62 config.table (vxworks configs): Default to VxWorks 5.x, as that is the currently shipping OS.
(
        * config.table (vxworks configs): Default to VxWorks 5.x, as that is
        the currently shipping OS.

From-SVN: r17572
1998-01-31 18:51:20 -07:00
Mike Stump
c00f2b9d1a config.table (vxworks configs): Default to VxWorks 5.x, as that is the currently shipping OS.
�
        * config.table (vxworks configs): Default to VxWorks 5.x, as that is
        the currently shipping OS.

From-SVN: r17571
1998-01-31 18:51:19 -07:00
John Carr
6e0ef100da combine.c (simplify_shift_const): (lshiftrt (truncate (lshiftrt))) is (truncate (lshiftrt)).
* combine.c (simplify_shift_const):  (lshiftrt (truncate (lshiftrt)))
        is (truncate (lshiftrt)).

From-SVN: r17570
1998-01-31 18:49:32 -07:00
Richard Henderson
8821a725d6 Makefile.in (TARGET_CONFIGDIRS): Add libf2c.
* Makefile.in (TARGET_CONFIGDIRS): Add libf2c.
        (ALL_TARGET_MODULES, CONFIGURE_TARGET_MODULES): Similarly
        (CHECK_TARGET_MODULES, INSTALL_TARGET_MODULES): Similarly
        (CLEAN_TARGET_MODULES): Similarly
        (all-target-libf2c): Add dependences.
        * configure.in (target_libs): Add libf2c.

From-SVN: r17569
1998-01-31 18:41:24 -07:00
Jeff Law
81fea2b1d1 * Previous contents of gcc/f/runtime moved into toplevel
"libf2c" directory.

From-SVN: r17568
1998-01-31 18:37:08 -07:00
Richard Henderson
0dfb6849ef * runtime directory -- moved into "libfc2" in the toplevel
directory.
        * Make-lang.in: Remove all runtime related stuff.
Starting libfc2 rearrangement.

From-SVN: r17567
1998-01-31 18:30:56 -07:00
Jeff Law
3464ce01a5 No longer relavent.
From-SVN: r17566
1998-01-31 18:22:52 -07:00
Richard Henderson
4208b40ff0 alpha.c (alpha_expand_unaligned_load): Use expand_binop properly.
* alpha.c (alpha_expand_unaligned_load): Use expand_binop properly.
        Make sure result winds up in TGT.
        (alpha_expand_unaligned_store): Use expand_binop properly.  Allow
        src to be other than DImode.
        (alpha_expand_unaligned_load_words): Tidy.  Take an offset argument.
        (alpha_expand_unaligned_store_words): Likewise.
        (alpha_expand_block_move): Use REGNO_POINTER_ALIGN.  Restructure so
        that source and destination are separately optimized for alignment.
        (alpha_expand_block_clear): Use REGNO_POINTER_ALIGN.

From-SVN: r17565
1998-01-31 17:14:40 -08:00
Jeffrey A Law
82301b881c mips.md (adddi3_internal_2): Be consistent with adddi3 expander with handling of -32768.
* mips.md (adddi3_internal_2): Be consistent with adddi3 expander
        with handling of -32768.

From-SVN: r17564
1998-01-31 17:54:27 -07:00
Kaveh R. Ghazi
a81fb89ebe aclocal.m4 (GCC_NEED_DECLARATION): Modify macro to accept a shell variable argument instead of only hard coded...
* aclocal.m4 (GCC_NEED_DECLARATION): Modify macro to accept a
        shell variable argument instead of only hard coded functions.
        (GCC_NEED_DECLARATIONS): New macro to accept multiple functions.
        * configure.in: Collapse multiple calls to AC_CHECK_FUNCS into one
        call.  Collapse multiple calls to GCC_NEED_DECLARATION into one
        call to GCC_NEED_DECLARATIONS (new macro.)  Check if we need
        declarations for bcopy, bcmp and bzero.
        * acconfig.h: Add stubs for bcopy, bcmp and bzero declarations.
        * gansidecl.h: If we have bcopy but don't declare it, then do so.
        Likewise for bcmp and bzero.  Only define macros for bcopy, bcmp,
        bzero, index and rindex if they aren't already present.

From-SVN: r17563
1998-01-31 17:48:06 -07:00
Jeff Law
f65a7138c4 configure.in (getlogin,getgid,getuid, [...]): Check.
* libU77/configure.in (getlogin,getgid,getuid, kill,link,ttyname):
	Check.
	* libU77/config.h.in (HAVE_GETLOGIN, HAVE_GETGID, HAVE_GETUID,
	HAVE_KILL, HAVE_LINK, HAVE_TTYNAME): New defs.
	* libU77/getlog_.c: Conditionalize for target platform. Set errno
	to ENOSYS if target libc doesn't have the function.
	* libU77/getgid_.c: Likewise.
	* libU77/getuid_.c: Likewise.
	* libU77/kill_.c: Likewise.
	* libU77/link_.c: Likewise.
	* libU77/ttynam_.c: Likewise.

From-SVN: r17562
1998-01-31 17:41:14 -07:00
Jeffrey A Law
eed90b2cec toplev.c (close_dump_file): Wrap function prototype for argument "func" in PROTO.
* toplev.c (close_dump_file): Wrap function prototype for
        argument "func" in PROTO.
        (dump_rtl): Likewise.

From-SVN: r17561
1998-01-31 03:26:48 -07:00
John Carr
bfd6bc60f5 sparc.c (sparc_override_options): Make v8plus and ultrasparc set MASK_V8PLUS.
Fri Jan 30 22:30:39 1998  John Carr  <jfc@mit.edu>
        * sparc.c (sparc_override_options): Make v8plus and ultrasparc set
        MASK_V8PLUS.
        (output_function_epilogue): Omit epilogue if nothing drops through.
        (output_move_double): Supress int ldd usage on ultrasparc and v9.
        (registers_ok_for_ldd_peep): Likewise.
        (print_operand): Supress b,a on ultrasparc.  Let Y accept a constant.
        (ultrasparc_adjust_cost): New function.
        (sparc_issue_rate): New function.
        * sparc.h (MASK_VIS, TARGET_VIS): New
        (MASK_V8PLUS, TARGET_V8PLUS): New.
        (TARGET_HARD_MUL32, TARGET_HARD_MUL): New.
        (TARGET_SWITCHES): Add vis and v8plus.
        (REG_CLASS_FROM_LETTER): Accept d and b for VIS.
        (REGISTER_MOVE_COST): FP<->INT move cost 12 for ultrasparc.
        (RTX_COSTS): Use TARGET_HARD_MUL
        (ADJUST_COST): Call ultrasparc_adjust_cost.
        (ISSUE_RATE): New.
        * sparc.md (attr type): Add sload, fpmove, fpcmove.  Adjust users
        of load & fp appropritely.
        (supersparc function units): Adjust for Haifa.
        (ultrasparc function units): Likewise.
        (get_pc_via_rdpc): All v9, not just arch64.
        (movdi_v8plus, movdi_v8plus+1): New.
        (adddi3_sp32+1): New.
        (subdi3_sp32+1): New.
        (movsi_insn, movsf_const_insn, movdf_const_insn): Know VIS.
        (addsi3, subsi3, anddi3_sp32, andsi3, and_not_di_sp32): Likewise.
        (and_not_si, iordi3_sp32, iorsi3, or_not_di_sp32, or_not_si): Likewise.
        (xorsi3_sp32, xorsi3, xor_not_di_sp32, xor_not_si): Likewise.
        (one_cmpldi2_sp32, one_cmplsi2): Likewise.
        (ldd peepholes): Suppress for v9.
        (return_adddi): Kill redundant test.  Arg1 may be arith_operand.
        (return_subsi): Revmove.

From-SVN: r17560
1998-01-30 15:34:15 -08:00
John F. Carr
4b526a9a94 patch from jfc to improve aliasing/scheduling
* mips.c (save_restore_insns): Set RTX_UNCHANGING_P in register
	save/restore MEM rtl.

From-SVN: r17559
1998-01-30 10:31:34 -08:00
Jason Merrill
6209c7e96b new
From-SVN: r17558
1998-01-30 07:04:34 -05:00
Jeff Law
9c8933591e Tweak last entry.
From-SVN: r17557
1998-01-30 01:09:16 -07:00
Jeffrey A Law
64a438d6c4 configure.in: Check for declaration of abort.
* configure.in: Check for declaration of abort.
	* acconfig.h: Corresponding changes.
        * toplev.c: Use NEED_DECLARATION_ABORT to determine if abort should
        be declared.

From-SVN: r17556
1998-01-30 01:08:31 -07:00
Jeff Law
c5afbb4907 Forgot to commit these...
From-SVN: r17555
1998-01-30 01:04:59 -07:00
Jeff Law
f266c82f18 genattrtab.c (optimize): Define in case PRESERVE_DEATH_INFO_REGNO_P uses it.
* genattrtab.c (optimize): Define in case PRESERVE_DEATH_INFO_REGNO_P
        uses it.

From-SVN: r17554
1998-01-29 12:25:26 -07:00
Jason Merrill
98e10ea1cf new
From-SVN: r17553
1998-01-29 06:07:01 -05:00