Commit Graph

48161 Commits

Author SHA1 Message Date
John David Anglin 1b2667c47a inline4.C (dg-final): Robustify regexp.
* g++.dg/opt/inline4.C (dg-final): Robustify regexp.
	* g++.dg/opt/inline6.C (dg-final): Robustify regexp.

From-SVN: r78449
2004-02-25 20:03:41 +00:00
Jan Hubicka 12c3874e62 basic-block.h (make_eh_edge, [...]): Declare.
* basic-block.h (make_eh_edge, break_superblocks): Declare.
	* cfgbuild.c (make_eh_edge):  Make global.
	* cfglayout.c (break_superblocks): Likewise; fix memory leak.
	* except.c (build_post_landing_pads, connect_post_landing_pads,
	dw2_build_landing_pads, sjlj_emit_function_enter,
	sjlj_emit_function_exit, sjlj_emit_dispatch_table,
	sjlj_build_landing_pads): Update CFG.
	(emit_to_new_bb_before): New function.
	(finish_eh_generation): Do not rebuild the CFG.

From-SVN: r78448
2004-02-25 20:00:00 +00:00
John David Anglin 7b79fe713d config.gcc (hppa*-*-*, [...]): Add MASK_BIG_SWITCH to all target_cpu_default defines.
* config.gcc (hppa*-*-*, parisc*-*-*): Add MASK_BIG_SWITCH to all
	target_cpu_default defines.
	* pa-hpux.h (TARGET_DEFAULT): Add MASK_BIG_SWITCH to define.
	* pa.h (TARGET_DEFAULT): Likewise.

From-SVN: r78446
2004-02-25 19:45:13 +00:00
John David Anglin 0193f437a1 builtins-config.h (HAVE_C99_RUNTIME): Don't define for PA HP-UX.
* gcc.dg/builtins-config.h (HAVE_C99_RUNTIME): Don't define for PA
	HP-UX.

From-SVN: r78443
2004-02-25 18:25:08 +00:00
Eric Botcazou 81fbecace5 fold-const.c (fold): Treat MAX_EXPR and MIN_EXPR like comparisons with regard to signedness.
* fold-const.c (fold): Treat MAX_EXPR and MIN_EXPR like
	comparisons with regard to signedness.

From-SVN: r78441
2004-02-25 18:15:52 +00:00
Joseph Myers 2495e20b5d * fr.po: Update.
From-SVN: r78439
2004-02-25 17:26:04 +00:00
Richard Earnshaw 6f5b4f3e5a arm.c (thumb_legitimize_address): New function.
* arm.c (thumb_legitimize_address): New function.
* arm-protos.h: Prototype it.
* arm.h (THUMB_LEGITIMIZE_ADDRESS): Define.
(LEGITIMIZE_ADDRESS): Use it.

From-SVN: r78437
2004-02-25 17:03:27 +00:00
Arnaud Charlet 8a7988f51a [multiple changes]
2004-02-25  Robert Dewar  <dewar@gnat.com>

	* 51osinte.ads, 52osinte.ads, 53osinte.ads, 54osinte.ads,
	55osinte.ads, 56osinte.ads, 5aosinte.ads, 5bosinte.ads,
	5cosinte.ads, 5fosinte.ads, 5gosinte.ads, 5hosinte.ads,
	5iosinte.ads, 5losinte.ads, 5nosinte.ads, 5oosinte.ads,
	5posinte.ads, 5sosinte.ads, 5tosinte.ads, 5vosinte.ads,
	5wosinte.ads, 5zosinte.ads: Move instances of Unchecked_Conversion to
	the defining instance of the type to avoid aliasing problems.
	Fix copyright header.  Fix bad comments in package header.

	* exp_util.adb, prj-part.adb, prj-part.adb: Minor reformatting

2004-02-25  Ed Schonberg  <schonberg@gnat.com>

	* exp_ch2.adb (Param_Entity): Handle properly formals that have been
	rewritten as references when aliased through an address clause.

	* sem_ch4.adb (Try_Indirect_Call): Normalize actuals before checking
	whether call can be interpreted as an indirect call to the result of a
	parameterless function call returning an access subprogram.

2004-02-25  Arnaud Charlet  <charlet@act-europe.fr>

	Code clean up:
	* exp_ch7.adb (Make_Clean): Remove generation of calls to
	Unlock[_Entries], since this is now done by Service_Entries directly.

	* exp_ch9.adb (Build_Protected_Subprogram_Body): ditto.

	* s-tpobop.ads, s-tpobop.adb (PO_Service_Entries): New nested procedure
	Requeue_Call for better code readability. Change spec and update calls:
	PO_Service_Entries now unlock the PO on exit.
	(Protected_Entry_Call, Timed_Protected_Entry_Call): Update calls to
	PO_Service_Entries.

	* s-tposen.ads, s-tposen.adb (Service_Entry): Now unlock the PO on exit.

	* s-taenca.adb, s-tasren.adb: Update calls to PO_Service_Entries.

2004-02-25  Sergey Rybin  <rybin@act-europe.fr>

	* exp_ch9.adb (Build_Simple_Entry_Call): Prevent expanding the
	protected subprogram call and analyzing the result of such expanding
	in case when the called protected subprogram is eliminated.

	* sem_elim.adb (Check_Eliminated): Skip blocks when comparing scope
	names.

2004-02-25  Jerome Guitton  <guitton@act-europe.fr>

	* Makefile.in: Clean ups.

From-SVN: r78436
2004-02-25 16:59:05 +01:00
J"orn Rennecke 4ab51fb500 reload1.c (reload): Only spill eliminable register with multiple adjacent elimination alternatives...
* reload1.c (reload): Only spill eliminable register with multiple
	adjacent elimination alternatives if all alternatives fail.

From-SVN: r78430
2004-02-25 12:42:26 +00:00
Richard Earnshaw e1471c91b8 arm.c (arm_legitimate_index_p): For QImode the range of an offset is -4095...+4095 inclusive.
* arm.c (arm_legitimate_index_p): For QImode the range of an offset
is -4095...+4095 inclusive.

From-SVN: r78429
2004-02-25 12:30:13 +00:00
Eric Botcazou 94b18ec10c install.texi (sparc-sun-solaris2* specific notes): Document the bootstrap failure with Sun CC 5.4 and 5.5.
* doc/install.texi (sparc-sun-solaris2* specific notes): Document
	the bootstrap failure with Sun CC 5.4 and 5.5.

From-SVN: r78426
2004-02-25 10:42:05 +00:00
Kazu Hirata 2e802a6f2f cse.c (cse_change_cc_mode_insns): Stop at any instruction which modifies NEWREG.
* cse.c (cse_change_cc_mode_insns): Stop at any instruction
	which modifies NEWREG.
	(cse_condition_code_reg): Update the mode of CC_REG in
	CC_SRC_INSN on our own.

From-SVN: r78413
2004-02-25 00:54:30 +00:00
Michael Matz c30316fb64 * gcc.dg/i386-regparm.c: New.
From-SVN: r78412
2004-02-25 00:48:23 +00:00
Michael Matz 89ab2b79a7 i386.c (ix86_comp_type_attributes): Check for regparm attributes.
* config/i386/i386.c (ix86_comp_type_attributes): Check for
        regparm attributes.

From-SVN: r78411
2004-02-25 00:46:01 +00:00
Michael Matz 265d94acde i386.c (ix86_comp_type_attributes): Check for regparm attributes.
* config/i386/i386.c (ix86_comp_type_attributes): Check for
	regparm attributes.

From-SVN: r78410
2004-02-25 00:45:43 +00:00
GCC Administrator a00ad86b8c Daily bump.
From-SVN: r78405
2004-02-25 00:16:13 +00:00
Richard Henderson c263766cf3 toplev.c (dump_file_tbl): Rename from dump_file.
* toplev.c (dump_file_tbl): Rename from dump_file.
        * bb-reorder.c, bt-load.c, cfgcleanup.c, cfglayout.c, cfgloopanal.c,
        cfgloopmanip.c, cfgrtl.c, config/arm/arm.c, config/frv/frv.c,
        config/i386/i386.c, config/ia64/ia64.c, config/mips/mips.c,
        config/sh/sh.c, cse.c, flow.c, ifcvt.c, loop-iv.c, loop-unroll.c,
        loop-unswitch.c, output.h, predict.c, profile.c, ra-build.c,
        ra-colorize.c, ra-debug.c, ra-rewrite.c, ra.c, regrename.c, reload1.c,
        toplev.c, tracer.c, value-prof.c, var-tracking.c, web.c:
        s/rtl_dump_file/dump_file/g.

From-SVN: r78399
2004-02-24 15:40:03 -08:00
Aldy Hernandez dba2921d52 spe.md (spe_fix_truncsfsi2): Delete.
2004-02-24  Aldy Hernandez  <aldyh@redhat.com>

        * config/rs6000/spe.md (spe_fix_truncsfsi2): Delete.
        (spe_fixuns_truncsfsi2): Delete.

        * config/rs6000/rs6000.md (fix_truncsfsi2): Delete.
        (fixuns_truncsfsi2): Delete.

From-SVN: r78396
2004-02-24 22:59:03 +00:00
Josef Zlomek 173cd57124 rtlanal.c (replace_label): Fix replacing labels in constant pool.
PR/14240
	* rtlanal.c (replace_label): Fix replacing labels in constant pool.

From-SVN: r78392
2004-02-24 21:45:20 +00:00
Matt Austern abe57d38fc Reverted patch to add the -mmacosx= feature. (Darwin only)
From-SVN: r78383
2004-02-24 20:09:16 +00:00
Geoffrey Keating 8db4d7a18b * config/darwin.h (TARGET_HAS_F_SETLKW): Define.
From-SVN: r78382
2004-02-24 19:53:33 +00:00
Jason Merrill 134084ffe2 * tree.c (build_exception_variant): Use check_qualified_type.
From-SVN: r78380
2004-02-24 13:37:29 -05:00
Jason Merrill 47524eab1b xfail
From-SVN: r78379
2004-02-24 13:31:38 -05:00
Jason Merrill b82082972b re PR c++/13944 (exception in constructor of a class to be thrown is not caught)
PR c++/13944
        * except.c (do_free_exception): Remove #if 0 wrapper.
        (build_throw): Use it if we elide a copy into the exception object.

From-SVN: r78378
2004-02-24 13:30:47 -05:00
Jason Merrill 896c3aa346 tree.c (check_qualified_type): New fn.
* tree.c (check_qualified_type): New fn.
        (get_qualified_type): Use it.  If type already has the desired
        quals, just return it.
        * tree.h: Declare it.
        * cp/tree.c (build_exception_variant): Use it.

From-SVN: r78376
2004-02-24 13:23:25 -05:00
Sanjiv Kumar Gupta 58565a33ed target-def.h (TARGET_SCHED_INIT_GLOBAL, [...]): New macros.
2003-02-24  Sanjiv Kumar Gupta  <sanjivg@noida.hcltech.com>

	* target-def.h (TARGET_SCHED_INIT_GLOBAL,
	TARGET_SCHED_FINISH_GLOBAL): New macros.

	* target.h (md_init_global, md_finish_global): Function
	declarations corresponding to new target macros.

	* haifa-sched.c (sched_init, sched_finish): Allow target to
	call the new schedular hooks.

	* flow.c (recompute_reg_usage): Add PROP_DEATH_NOTES flag in
	call to update_life_info.

	* config/sh/sh.h (OVERRIDE_OPTIONS): Re-enable
	flag_schedule_insns for SH4.

	* config/sh/sh.c (sh_md_init_global, sh_md_finish_global,
	find_set_regmode_weight, find_insn_regmode_weight,
	find_regmode_weight), sh_md_init, sh_dfa_new_cycle,
	sh_variable_issue, high_pressure, ready_reorder,
	rank_for_reorder, swap_reorder, sh_reorder, sh_reorder2): New
	functions used to throttle the insn movement in first
	scheduling pass for SH.

	* gcc/doc/tm.texi: Document TARGET_SCHED_INIT_GLOBAL and
	TARGET_SCHED_FINISH_GLOBAL.

From-SVN: r78374
2004-02-24 17:28:33 +00:00
Alexandre Oliva 34208acf14 Implement FR-V FDPIC ABI support for frv-uclinux and frv-linux.
2004-02-05  Alexandre Oliva  <aoliva@redhat.com>
* config/frv/frv.c (frv_emit_movsi): Use GOT relocations for
symbols in sections named by the user.
2004-01-30  Alexandre Oliva  <aoliva@redhat.com>
* config/frv/linux.h (TARGET_OS_CPP_BUILTINS): New.
2004-01-27  Alexandre Oliva  <aoliva@redhat.com>
* config.gcc (frv-*-*linux*): Handle like *-*-linux*.
* config/frv/t-linux (EXTRA_MULTILIB_PARTS): Remove, obviated by
the above.
2004-01-20  Alexandre Oliva  <aoliva@redhat.com>
* config/frv/frv.md (symGOT2reg_hilo, symGOTOFF2reg_hilo): Add
one more pseudo to further improve code generation.
2004-01-19  Alexandre Oliva  <aoliva@redhat.com>
* config/frv/frv.md (movdi_ldd): Introduce explicit indirection
inside UNSPEC.
2004-01-16  Alexandre Oliva  <aoliva@redhat.com>
* config/frv/frv.c (frv_legitimate_address_p): Added
allow_double_reg_p argument.  Adjust all callers.  Use it to
decide whether to enable double-register indirect addressing.
(frv_funcdesc_alias_set): Remove.
(frv_expand_fdpic_call): Force non-SYMBOL_REF operand into
register.  Emit movdi_ldd.
(ldd_address_operand): New.
* config/frv/frv-protos.h (frv_legitimate_address_p): Adjust.
* config/frv/frv.h (GO_IF_LEGITIMATE_ADDRESS): Likewise.
(PREDICATE_CODES): Add ldd_address_operand.
* config/frv/frv.md (movdi_ldd): New.
(symGOT2reg_hilo, symGOTOFF2reg_hilo): Use separate pseudo for
intermediate computations if possible.
(symGOTOFF2reg_i): Fix harmless typo.
2003-12-18  Alexandre Oliva  <aoliva@redhat.com>
* unwind-dw2-fde-glibc.c (_Unwind_IteratePhdrCallback): Cast
relocated p_vaddr to vaddr type.
* config/frv/frv-protos.h (frv_expand_fdpic_call): Return void.
* config/frv/frv.c (frv_get_funcdesc_alias_set): New.
(frv_expand_fdpic_call): Propagate incoming MEM's expr to funcdesc
MEM, or use a funcdesc alias set.  Use regular move instead of
ldd.
(dbl_memory_one_insn_operand): Recognize function descriptors by
type or by alias set, and don't split them.
* config/frv/frv.md (call, call_value): Never use call_internal
for fdpic.
(call_internal, call_value_internal): Never match for FDPIC.
(call_fdpicdi, call_fdpicsi, call_value_fdpicdi,
call_value_fdpicsi): Require FDPIC.
(ldd): Removed.
2003-12-17  Alexandre Oliva  <aoliva@redhat.com>
* config/frv/frv.h (CRT_GET_RFIB_DATA): Define for __FRV_FDPIC__.
* unwind-dw2-fde-glibc.c: Don't include elf-fdpic.h any more.
(_Unwind_IteratePhdrCallback): Adjust type of load_base for FRV
FDPIC.  Compute data base address.
* config/frv/linux.h (SUBTARGET_DRIVER_SELF_SPECS): Enable -mfdpic
before the other self-specs are processed.
* config/frv/t-linux (CRTSTUFF_T_CFLAGS, TARGET_LIBGCC2_CFLAGS):
Build with -fPIC.
2003-12-15  Alexandre Oliva  <aoliva@redhat.com>
* unwind-dw2-fde-glibc.c: Don't include bits/elf-fdpic.h if
inhibit_libc is defined.
2003-12-12  Alexandre Oliva  <aoliva@redhat.com>
* unwind-dw2-fde-glibc.c: Include bits/elf-fdpic.h for
__FRV_FDPIC__.
(__RELOC_POINTER): Define.
(_Unwind_IteratePhdrCallback): Use it.
* config/frv/frv.h (Twrite): Define.
(TRANSFER_FROM_TRAMPOLINE): Use it.
* config/frv/linux.h (INVOKE__main): Undefine.
(Twrite): Override.
2003-12-05  Richard Sandiford  <rsandifo@redhat.com>
* doc/invoke.texi (-mlong-calls, -mlinked-fp): Document FRV options.
(-mlibrary-pic): Emphasize that this option generates EABI code.
(-mcpu): Add fr550.
(-mpack): Remove.
2003-11-30  Alexandre Oliva  <aoliva@redhat.com>
* config/frv/frv.c (int_2word_operand): Reject LABELs, SYMBOL_REFs
and CONSTs in FDPIC mode.
* gcc/config.gcc (with_cpu): Default to fr400 on frv-*-*linux*.
2003-11-29  Richard Sandiford  <rsandifo@redhat.com>
* config/frv/frv.c (move_source_operand): Don't accept symbolic
constants.
* config/frv/frv.md (*movhi_internal, *movsi_internal): Use an 'n'
rather than 'i' constraint for the 2-instruction alternative.
(*movsi_2word): New, incorporating existing int_2word_operand splitter.
2003-11-29  Richard Sandiford  <rsandifo@redhat.com>
* config/frv/frv.h (EXTRA_CONSTRAINT_FOR_Q): Renamed from
EXTRA_CONSTRAINT_FOR_Y.
(EXTRA_CONSTRAINT): Remove handling of 'Y'.
* config/frv/frv.md (*movsi_internal): Remove 'Q' constraint.
(addsi3): Change 'Y' constraint to 'Q'.
2003-11-27  Richard Sandiford  <rsandifo@redhat.com>
* reload.c (CONST_POOL_OK_P): New macro.
(find_reloads): Use it to decide whether a constant can be forced
into memory.
* config/frv/frv.h (LEGITIMATE_PIC_OPERAND_P): Return true if the
constant satisfies got12_operand.
(frv_cannot_force_const_mem): Always return true for TARGET_FDPIC.
(frv_legitimate_address_p): Check for valid unspec offsets using
got12_operand rather than frv_legitimate_fdpic_operand_p.
(frv_legitimate_fdpic_operand_p): Delete.
(frv_emit_movsi): Abort if we try to use the FDPIC register during
or after reload.
(frv_legitimate_constant_p): Return LEGITIMATE_PIC_OPERAND_P if
TARGET_FDPIC.
* config/frv/frv.md (*movdf_double): Add alternatives for CONST_DOUBLE.
2003-11-19  Richard Sandiford  <rsandifo@redhat.com>
* config/frv/frv-protos.h (fdpic_operand, fdpic_got12_operand)
(frv_fdpic_fptr_operand): Don't declare here.
* config/frv/frv.h (EXTRA_CONSTRAINT_FOR_Y): Call got12_operand
rather than fdpic_got12_operand.
(PREDICATE_CODES): Remove symbolic_operand entry.  Add entries for
got12_operand and const_unspec_operand.
* config/frv/frv.c (got12_operand): Renamed from fdpic_got12_operand.
(gpr_or_int12_operand, dbl_memory_one_insn_operand): Update calls.
(symbolic_operand): Remove.
(const_unspec_operand): New predicate.
* config/frv/frv.md (*movsi_got): Use got12_operand.
(*movsi_high_got, *movsi_lo_sum_got): Use const_unspec_operand.
2003-11-18  Richard Sandiford  <rsandifo@redhat.com>
* config/frv/frv-protos.h (frv_output_addr_const_extra): Remove.
* config/frv/frv.h (OUTPUT_ADDR_CONST_EXTRA): Remove definition.
* config/frv/frv.c (frv_unspec): New structure.
(frv_small_data_reloc_p, frv_const_unspec_p): New functions.
(frv_print_operand_memory_reference): Use frv_const_unspec_p to
validate CONST indices.  Use frv_output_const_unspec to print them.
(frv_print_operand): Update call to unspec_got_name.  Use
frv_output_const_unspec to print constant unspecs.
(frv_legitimate_fdpic_operand_p): Return true if frv_const_unspec_p.
Reject UNSPECs otherwise.
(unspec_got_name): Take the relocation number as argument, not an
rtx containing it.
(frv_output_addr_const_extra): Remove, replacing with...
(frv_output_const_unspec): ...this new function.
(frv_find_base_term): Use frv_const_unspec_p & frv_small_data_reloc_p.
(gpr_or_int12_operand): Use fdpic_got12_operand.
(dbl_memory_one_insn_operand): Likewise.
(fdpic_got12_operand): Use frv_const_unspec_p.
(frv_emit_movsi): Use frv_const_unspec_p to check for CONSTs that
are already legitimate.  Use frv_small_data_reloc_p when deciding
whether to use HIGH/LO_SUM for R_FRV_GOTOFF12 and R_FRV_GPREL12.
2003-11-18  Alexandre Oliva  <aoliva@redhat.com>
* config/frv/t-linux (SHLIB_MAPFILES): Override so as to export...
* config/frv/libgcc-frv.ver: ... frv-specific symbols.  New file.
* config/frv/frv-abi.h (CREATE_DOUBLE_SHIFT): Use branch to local
label, for real this time.
* config/frv/frv.c (frv_local_funcdesc_p): Update to new
representation of visibility.
(fdpic_got12_operand, symbolic_operand): Mark unused arguments as
such.
2003-11-17  Richard Sandiford  <rsandifo@redhat.com>
* config/frv/frv.h (MASK_LINKED_FP, TARGET_LINKED_FP): New macros.
(TARGET_SWITCHES): Add -mlinked-fp and -mno-linked-fp.
* config/frv/frv.c (frv_override_options): Set MASK_LINKED_FP unless
it was explicitly disabled.
(frv_stack_info): There is no need to save the link register in every
frame unless TARGET_LINKED_FP is true.
(frv_frame_pointer_required): If !TARGET_LINKED_FP, only require a
frame pointer if the stack pointer might change value.
(frv_return_addr_rtx): Check and process "count" argument.
2003-11-14  Richard Sandiford  <rsandifo@redhat.com>
* config/frv/frv-protos.h (frv_legitimize_address): Remove.
(frv_find_base_term): Declare.
* config/frv/frv.h (LEGITIMIZE_ADDRESS): Do nothing.
(FIND_BASE_TERM): Define.
(PREDICATE_CODES): Remove pic_register_operand, pic_symbolic_operand,
small_data_register_operand, small_data_symbolic_operand.  Add
symbolic_operand.
* config/frv/frv.c (const_small_data_p, plus_small_data_p): Delete.
(frv_print_operand_memory_reference, output_move_single): Remove
special handling for unlegitimized sdata addresses.
(frv_legitimate_address_p): Don't allow sums of SDA_BASE_REG
and symbolic addresses.
(frv_legitimize_address, frv_legitimize_fdpic_address): Delete.
(frv_find_base_term): New function.
(int_2word_operand): Check specifically for symbolic address constants.
(pic_register_operand, pic_symbolic_operand): Delete.
(small_data_register_operand, small_data_symbolic_operand): Delete.
(dbl_memory_one_insn_operand): Don't call plus_small_data_p.
Allow UNSPEC_GOT constants if !TARGET_FDPIC.
(move_source_operand): Only accept CONSTs if they're a two-insn
symbolic constant.
(fdpic_got12_operand): Don't require TARGET_FDPIC.
(frv_emit_movsi): Legitimize sdata and -mlibrary-pic addresses
using gen_symGOTOFF2reg*.
(frv_ifcvt_rewrite_mem): Remove (plus gr16 ...) special cases.
(frv_rtx_costs): Give all MEM addresses a cost of 0.  Give MEMs
themselves a cost of 3 insns.
* config/mips/mips.md (*movsi_got): Allow for !TARGET_FDPIC too.
Change predicate to symbolic_operand.
(*movsi_high_got, *movsi_lo_sum_got): Likewise.
(*movsi_lda_sdata): Delete.
(*movsi_pic, movsi_high_pic, movsi_lo_sum_pic): Delete.
2003-11-05  Alexandre Oliva  <aoliva@redhat.com>
* config.gcc: Add t-slibgcc-elf-ver and support --with-cpu for
frv-*-*linux*.
* config/frv/frv-abi.h (CREATE_DOUBLE_SHIFT): Use branch to local
label.
* config/frv/frv.h (DRIVER_SELF_SPECS): Add blank before
-multilib-library-pic.
(LINK_SPEC): Add -z text for -mfdpic.
* config/frv/frvbegin.c (__ROFIXUP_LIST__): Don't define on FDPIC.
* config/frv/frvend.c (__ROFIXUP_END__): Likewise.
* config/frv/linux.h (STARTFILE_SPEC, ENDFILE_SPEC, LINK_SPEC):
Override.
(OPTION_DEFAULT_SPECS, HAS_INIT_SECTION, INIT_SECTION_ASM_OP,
FINI_SECTION_ASM_OP, CRT_CALL_STATIC_FUNCTION): Define.
* config/frv/t-linux (EXTRA_MULTILIB_PARTS): Use
crtstuff-generated files.
2003-10-31  Alexandre Oliva  <aoliva@redhat.com>
* config.gcc: Add frv-*-*linux*.
* config/frv/linux.h, config/frv/t-linux: New.
2003-10-06  Alexandre Oliva  <aoliva@redhat.com>
* config/frv/frv.h (LINK_SPEC): Pass -melf32frvfd to the linker
when -mfdpic even if a linker script is explicitly listed.
2003-10-02  Alexandre Oliva  <aoliva@redhat.com>
* config/frv/frv.c (frv_override_options): Clear asm_out
unaligned_op for SImode on FDPIC.
(frv_emit_movsi): Use compute_reloc_for_constant to compute the
argument passed to decl_readonly_section.
(frv_assemble_integer): Revert 2003-09-30's change, but make the
whole block run with FDPIC even with -fno-PIC.
2003-10-02  Alexandre Oliva  <aoliva@redhat.com>
* config/frv/frv.c (frv_cannot_force_const_mem): Don't force
symbol or label plus offset to memory.
(frv_emit_movsi): Emit GPREL only if -mgprel-ro.  Emit 32-bit
GOTOFF and GPREL for LABEL_REF.
* config/frv/frv.h (DRIVER_SELF_SPECS): Add -mgprel-ro with
-mfdpic unless -mno-gprel-ro, -fpic or -fpie.
(MASK_GPREL_RO, TARGET_GPREL_RO): New.
(TARGET_SWITCHES): Added gprel-ro and no-gprel-ro.
* doc/invoke.texi: Document them.
2003-09-30  Alexandre Oliva  <aoliva@redhat.com>
* config/frv/frv-protos.h (frv_gen_GPsym2reg): Declare.
(frv_splittable_got_operand): Removed.
* config/frv/frv.c (frv_cannot_force_const_mem): Reject HIGH and
LO_SUM.  Add comments.
(frv_override_options): Moved enabling of FDPIC to
DRIVER_SELF_SPECS.  Don't enable MASK_DWORD.
(frv_local_funcdesc_p): Remove unnecessary heck for flag_pie.
(frv_legitimize_fdpic_address): Don't duplicate logic in
frv_emit_movsi.
(frv_gen_GPsym2reg): New.
(unspec_got_name): Added gprel.
(frv_expand_fdpic_call): Add support for inlining PLTs.
(fdpic_fptr_operand): Renamed from frv_fdpic_fptr_operand.
(gpr_or_int12_operand): Added GPREL12.
(pic_symbolic_operand): Match even if !flag_pic for FDPIC.
(small_data_symbolic_operand): Fail if FDPIC.
(fdpic_splittable_got_operand): Removed.
(fdpic_got12_operand): Added GPREL12.
(frv_emit_movsi): Reorganize to avoid duplication.  Emit GPREL
when appropriate.  Fix sdata GOTOFF.
(frv_legitimate_constant_p): Require legitimate PIC operand for
FDPIC with pic, but only a legitimate fdpic operand for non-pic.
(frv_assemble_integer): Move FDPIC funcdesc handling out of
flag_pic case.
(frv_asm_out_constructor, frv_asm_out_destructor): Abort if
frv_assemble_integer fails.
* config/frv/frv.h (DRIVER_SELF_SPECS): New.
(SUBTARGET_DRIVER_SELF_SPECS): New.
(ASM_SPEC): Don't pass -mno-fdpic.
(LINK_SPEC): Pass -melf32frvfd for FDPIC.
(MASK_INLINE_PLT, TARGET_INLINE_PLT): New.
(TARGET_SWITCHES): Add -minline-plt, -mno-inline-plt and
-multilib-library-pic.
(PREDICATE_CODES): Added fdpic_operand, fdpic_fptr_operand,
condexec_si_media_operator, condexec_sf_add_operator and
condexec_sf_conv_operator.  Removed condexec_sf_binary_operator
and condexec_sf_unary_operator.
* config/frv/frv.md (R_FRV_GPREL12, R_FRV_GPRELHI, R_FRV_GPRELLO):
New.
(movsi_got, movsi_high_got, movsi_lo_sum_got): Move before
movsi_internal.  Give them internal names.  movsi_got has type
int.
(fdpic got splitters): Remove.
(symGPREL2reg, symGPREL2reg_hilo): New.
* config/frv/t-frv (MULTILIB_MATCHES): Don't map -fpic and -fPIC
to -mlibrary-pic.  Map -multilib-library-pic to it.
* doc/invoke.texi: -mfdpic, -minline-plt, -multilib-library-pic:
Document.
2003-09-28  Alexandre Oliva  <aoliva@redhat.com>
* config/frv/frv.c (frv_function_symbol_referenced_p): Declare.
(TARGET_CANNOT_FORCE_CONST_MEM): Define to...
(frv_cannot_force_const_mem): New function.
(const_small_data_p, plus_small_data_p): Update comments on sdata
on FDPIC.
(frv_override_options): Set flag_pie for FDPIC too.
(frv_conditional_register_usage): Mark gr16 and gr17 as non-fixed,
call-saved registers on FDPIC.
(frv_stack_info): Don't preserve the PIC register on FDPIC, and
don't force LR to be preserved.
(frv_expand_prologue): Likewise.
(frv_asm_output_mi_thunk): Use 12-bit funcdesc gotoff for -fpic.
(frv_frame_pointer_required): Don't force it just because the
FDPIC register is used.
(frv_legitimate_address_p) <CONST>: Accept a legitimate FDPIC
operand only if !condexec_p.
(frv_legitimize_address): Return the FDPIC-legitimized address.
Don't match small data here on FDPIC.
(frv_legitimate_fdpic_operand_p): Don't accept unadorned function
symbols.  Use TRUE/FALSE instead of 1/0.
(frv_local_funcdesc_p): New.
(frv_legitimize_fdpic_address): Rewrite to use GOTOFF and 12-bit
immediates when possible.
(pic_symbolic_operand): Accept SYMBOL_REFs and CONSTs in FDPIC.
(dbl_memory_one_insn_operand): Accept addresses that add a REG and
an UNSPEC_GOT.
(frv_emit_movsi): Handle FDPIC before small data.  Use GOTOFF and
12-bit immediates when possible.
(frv_legitimate_constant_p): In FDPIC, reject SImode operands that
are not legitimate pic operands.
(frv_in_small_data_p): Re-enable for FDPIC.
* config/frv/frv.h (SDA_BASE_REG): Remove comment about FDPIC.
(FRV_GLOBAL_P): Removed.
* config/frv/frv.md: Add modes to CONSTs.
(movsi_got): New.
(movsi_lo_sum_got): Use separate matches instead of match_dup.
(movsi_high_pic, movsi_lo_sum_pic): Match on non-FDPIC only.
(fdpic splittable operations): Match on flag_pic != 1.
2003-09-22  Alexandre Oliva  <aoliva@redhat.com>
* config/frv/frv.c (frv_asm_out_constructor,
frv_asm_out_destructor): Pass to frv_assemble_integer the size in
bytes, not bits.
2003-09-19  Alexandre Oliva  <aoliva@redhat.com>
* config/frv/frv.c (frv_assemble_integer): Reject complex
expressions referencing function SYMBOL_REFs.
* config/frv/frv.c (frv_function_symbol_referenced_p): New.
(move_source_operand): Reject CONSTs that reference function
SYMBOL_REFs on FDPIC.
(frv_emit_movsi): If we get such a CONST, break it up.
* config/frv/frv.h (CPP_SPEC): Define __FRV_FDPIC__ for -mfdpic.
(TRANSFER_FROM_TRAMPOLINE): Use different definitions for FDPIC.
* config/frv/frv.c (frv_print_operand) <I>: Recognize PLUS without
MEM.
(frv_assemble_integer): Don't use funcdesc for LABEL_REFs.
(frv_trampoline_size): Increase for FDPIC.
* config/frv/frv.h (TRAMPOLINE_ALIGNMENT): Bump to 64 for FDPIC.
(TRANSFER_FROM_TRAMPOLINE): Handle FDPIC trampolines.
* config/frv/frv.c (frv_legitimize_fdpic_address, frv_emit_movsi):
Disable use of GOTOFF for now.
(const_small_data_p, plus_small_data_p, frv_in_small_data_p):
Disable use of small data in FDPIC for now.
(frv_asm_output_mi_thunk): Implement for FDPIC.
* config/frv/frv.h (SDA_BASE_REG): Set to -1 with FDPIC.
* config/frv/frv.c (frv_asm_out_constructor): Use
frv_assemble_integer for FDPIC pointers.
(frv_asm_out_destructor): Likewise.
* config/frv/frv.md (ldd): Fix order of operands.  Use
address_operand for input.
2003-09-18  DJ Delorie  <dj@redhat.com>
* config/frv/frv.c (frv_legitimate_fdpic_operand_p): Remove UNSPEC_PIC.
(unspec_got_name): Correct typo.
(frv_emit_movsi): Pre-expand splittable GOTs.
(frv_expand_fdpic_call): Rename gen_lddi to gen_ldd.
* config/frv/frv.md (lddi): Fix syntax error, rename to ldd.
(symGOT2reg_hilo, symGOTOFF2reg_hilo): New.
* config/frv/t-frv: Add -mfdpic multilibs.
* config/frv/frv.h (ASM_SPEC): Pass -mfdpic/-mno-fdpic.
(TARGET_SWITCHES): Add -mno-fdpic, fix documentation.
* config/frv/frv.c (frv_override_options): -mfdpic assumes
flag_pic, default to 32-bit pics, require DWORD ops.
(frv_override_options): Add W and Z constraints.
(frv_expand_prologue): No pic prologue for -mfdpic.
(frv_asm_output_mi_thunk): Support -mfdpic (soon).
(frv_print_operand_memory_reference): Handle GOT constants.
(frv_legitimate_address_p): Allow GOT constants.
(frv_legitimize_address): Handle GOT addresses too.
(frv_legitimate_fdpic_operand_p): New.
(frv_legitimize_fdpic_address): New.
(unspec_got_name): New.
(frv_output_addr_const_extra): New.
(frv_expand_fdpic_call): New.
(frv_fdpic_fptr_operand): New.
(gpr_or_int12_operand): Handle GOT operands.
(int_2word_operand): Handle GOT operands.
(fdpic_operand): New.
(fdpic_splittable_got_operand): New.
(fdpic_got12_operand): New.
(frv_emit_movsi): Handle GOT operands.
(frv_assemble_integer): -mfdpic doesn't use rofixups.
(frv_print_operand): Support 'g' code for GOT operands.
* config/frv/frv-protos.h: Add prototypes as needed.
* config/frv/frv.md (R_FRV_GOT12, R_FRV_GOTHI, R_FRV_GOTLO,
R_FRV_FUNCDESC, R_FRV_FUNCDESC_GOT12, R_FRV_FUNCDESC_GOTHI,
R_FRV_FUNCDESC_GOTLO, R_FRV_FUNCDESC_VALUE,
R_FRV_FUNCDESC_GOTOFF12, R_FRV_FUNCDESC_GOTOFFHI,
R_FRV_FUNCDESC_GOTOFFLO, R_FRV_GOTOFF12, R_FRV_GOTOFFHI,
R_FRV_GOTOFFLO): New.
(movsi_high_got, movsi_lo_sum_got): New.
(*movsi_pic): Don't use this splitter for -mfdpic.
(addsi3): Allow GOT references also.
(call, call_value): Handle -mfdpic separately.
(call_fdpicdi, call_fdpicsi, lddi, call_value_fdpicdi,
call_value_fdpicsi): New.
(symGOT2reg, symGOT2reg_i, got splitters, symGOTOFF2reg,
symGOTOFF2reg_i): New.
* config/frv/frv.h (MASK_FDPIC): New.
(TARGET_FDPIC): New.
(TARGET_SWITCHES): Add -mfdpic.
(FDPIC_FPTR_REGNO): New.
(FDPIC_REGNO): New.
(OUR_FDPIC_REG): New.
(enum reg_class): Add FDPIC_REGS, FDPIC_FPTR_REGS, and
FDPIC_CALL_REGS.
(REG_CLASS_NAMES): Likewise.
(REG_CLASS_CONTENTS): Likewise.
(EXTRA_CONSTRAINT_FOR_Y): New, for 12-bit GOTs.
(EXTRA_CONSTRAINT): Add it here.
(FRV_GLOBAL_P): New.
(OUTPUT_ADDR_CONST_EXTRA): New.

From-SVN: r78373
2004-02-24 16:58:39 +00:00
Michael Matz 2d3a667a41 Make-lang.in (sta.o-warn): Delete.
* Make-lang.in (sta.o-warn): Delete.
        * sta.c (ffesta_save_): Don't break aliasing rules.

From-SVN: r78368
2004-02-24 16:07:29 +00:00
Kazu Hirata 7e26b0e365 sparc.h: Remove commented-out definitions of TARGET_EDOM and GEN_ERRNO_RTX.
* config/sparc/sparc.h: Remove commented-out definitions of
	TARGET_EDOM and GEN_ERRNO_RTX.

From-SVN: r78366
2004-02-24 15:50:46 +00:00
Kazu Hirata b57f2e100c df.c, [...]: Replace df_analyse with df_analyze.
* df.c, df.h, ra-build.c, ra-rewrite.c, ra.c, web.c: Replace
	df_analyse with df_analyze.

From-SVN: r78363
2004-02-24 13:55:06 +00:00
Alan Modra cb7c3c3f1a gcse.c (delete_null_pointer_checks_1): Set stop_insn to end, not beginning of block.
* gcse.c (delete_null_pointer_checks_1): Set stop_insn to end, not
	beginning of block.

From-SVN: r78361
2004-02-24 21:04:22 +10:30
Jim Wilson 238470bda3 Fix typo.
From-SVN: r78358
2004-02-23 23:36:08 -08:00
James E Wilson 3638733b62 Out-of-date comments noticed while looking at PR 169.
* calls.c (preompute_arguments): Update comment.

From-SVN: r78357
2004-02-23 23:35:42 -08:00
James E Wilson 69e9762e61 Testcase for PR 169.
* gcc.c-torture/execute/20040223-1.c: New.

From-SVN: r78356
2004-02-23 23:34:30 -08:00
Kazu Hirata fa0ac78a27 * et-forest.c: Replace et_occurences with et_occurrences.
From-SVN: r78351
2004-02-24 03:46:42 +00:00
Kazu Hirata 6d4e0ecc0e cfgloop.h, [...]: Replace iv_analyse with iv_analyze.
* cfgloop.h, loop-iv.c, loop-unswitch.c: Replace iv_analyse
	with iv_analyze.

From-SVN: r78350
2004-02-24 03:43:59 +00:00
Kelley Cook 9e200aafa5 i386.c: Rename pni to sse3.
2004-02-23  Kelley Cook  <kcook@gcc.gnu.org>

	* config/i386/i386.c: Rename pni to sse3.
	* config/i386/i386.h: Likewise.
        * config/i386/i386.md: Likewise.
	* config/i386/pmmintrin.h: Likewise.
	* doc/extend.texi: Likewise.
	* doc/invoke.texi: Likewise.

From-SVN: r78349
2004-02-23 19:27:11 -08:00
GCC Administrator bbb00ead7e Daily bump.
From-SVN: r78340
2004-02-24 00:16:12 +00:00
Kazu Hirata 66f6c39e46 Remove support for fwritable-strings-1.c.
From-SVN: r78337
2004-02-23 23:39:48 +00:00
Zack Weinberg 3521b33c2f Remove -fwritable-strings.
gcc/
	Remove -fwritable-strings.
	* c-common.c (fix_string_type): Don't check
	flag_writable_strings.
	(fix_string_type): Likewise.
	* c-opts.c (set_std_c89): Don't initialize
	flag_writable_strings.
	(set_std_c99): Likewise.
	* common.opt (fwritable-strings): Remove.
	* flags.h: Remove the external declaration of
	flag_writable_strings.
	* opts.c (common_handle_option) <OPT_fwritable_strings>:
	Remove.
	* toplev.c (flag_writable_strings): Remove.
	(f_options): Remove an entry for writable-strings.
	* varasm.c (const_hash_1) <STRING_CST>: Don't check
	flag_writable_strings.
	(compare_constant) <STRING_CST>: Likewise.
	(build_constant_desc): Likewise.
	* config/darwin.c (machopic_select_section): Likewise.
	* config/arm/arm.c (AOF_ASSEMBLER): Likewise.
	* config/arm/pe.c (arm_pe_encode_section_info): Likewise.
	* config/iq2000/iq2000.c (iq2000_select_section): Likewise.
	* config/mips/mips.c (mips_select_section): Likewise.
	(mips_encode_section_info): Likewise.
	* config/pa/pa.c (pa_select_section): Likewise.
	* config/pa/pa.h (TEXT_SPACE_P): Likewise.
	* config/v850/v850.c (v850_select_section): Likewise.
	* doc/invoke.texi (-fwritable-strings): Remove.
	(-fno-const-strings): Don't mention -fwritable-strings.
	* doc/trouble.texi: Don't mention -fwritable-strings.

gcc/cp/
	* decl.c (cxx_init_decl_processing): Don't check
	flag_writable_strings.

gcc/testsuite/
	* gcc.dg/fwritable-strings-1.c: Remove.

Co-Authored-By: Kazu Hirata <kazu@cs.umass.edu>

From-SVN: r78333
2004-02-23 21:43:18 +00:00
Nathanael Nerode eb6bddf60c * doc/install.texi: Update for switch of boehm-gc to autoconf 2.57.
From-SVN: r78331
2004-02-23 20:29:37 +00:00
Matt Austern 4fd1ff2bdb darwin.h (SUBTARGET_OPTIONS): Add -mmacosx= option.
* config/darwin.h (SUBTARGET_OPTIONS): Add -mmacosx= option.
	(macosx_version_min_required): Declare global variable.
	* config/darwin-protos.h (darwin_parse_macosx_version_name): Declare.
	* config/darwin.c (macosx_version_min_required): Define variable.
	(darwin_macosx_vers_tbl): Define. Table mapping text strings of
	OS versions to numerical codes.
	(darwin_parse_macosx_version_name): Define.  Parse -mmacosx=,
	set macosx_version_min_required appropriately.
	* config/i386/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Define.
	Invoke darwin_parse_macosx_version_name.
	* config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Add
	darwin_parse_macosx_version_name to Darwin option handling.
	* doc/invoke.texi (-mmacosx=): Document.

From-SVN: r78329
2004-02-23 19:49:23 +00:00
Dale Johannesen e074089354 rs6000.md (movsf_hardfloat): Add POWER form of nop.
2004-02-23  Dale Johannesen  <dalej@apple.com>

	* config/rs6000.md (movsf_hardfloat): Add POWER form of nop.
	(movdf_hardfloat64):  Ditto.
	(movdf_softfloat64):  Ditto.

From-SVN: r78325
2004-02-23 18:54:37 +00:00
Fariborz Jahanian e91fa876a6 config/rs6000/rs6000.c (function_arg): call to rs6000_mixed_function_arg for...
config/rs6000/rs6000.c (function_arg): call to
rs6000_mixed_function_arg for DFmode moved to allow
normal DFmode incoming register assignment.
OKed by David Edehlson.

From-SVN: r78323
2004-02-23 18:40:46 +00:00
Dale Johannesen ae6669e727 rs6000.md (movsf_hardfloat): Accept CTR-to-CTR copy.
2004-02-23  Dale Johannesen  <dalej@apple.com>

	* config/rs6000.md (movsf_hardfloat): Accept CTR-to-CTR copy.
	(movdf_hardfloat64):  Ditto.

From-SVN: r78322
2004-02-23 18:36:56 +00:00
Kazu Hirata 2a9f2ad3a5 convert.c, [...]: Update copyright.
* convert.c, gcov-io.c, libgcov.c, sched-int.h, sibcall.c,
	config/rs6000/linux.h, config/rs6000/rs6000-c.c: Update
	copyright.

From-SVN: r78318
2004-02-23 17:02:51 +00:00
Andrew Pinski 2b0c1c5623 re PR c++/14156 (no warning for address of parameter)
2004-02-23  Andrew Pinski  <pinskia@physics.uc.edu>

        PR c/14156
        * gcc.dg/20040223-1.c: New test.

From-SVN: r78313
2004-02-23 07:27:49 -08:00
Andrew Pinski a2f1f4c3f6 re PR c++/14156 (no warning for address of parameter)
PR c/14156
        * c-typeck.c (c_expand_return): Change check for VAR_DECL
        to use DECL_P instead.

        PR c++/14156
        * typeck.c (maybe_warn_about_returning_address_of_location):
        Change check for VAR_DECL to use DECL_P instead.

From-SVN: r78312
2004-02-23 07:22:04 -08:00
Andrew Pinski aa5fa0fc22 linux.h (OS_MISSING_POWERPC64): Define.
* config/rs6000/linux.h (OS_MISSING_POWERPC64): Define.
	* config/rs6000/linux64.h (OS_MISSING_POWERPC64): Define.

From-SVN: r78309
2004-02-23 06:54:11 -08:00
Kriang Lerdsuwanakij 887d68d9e9 re PR c++/14106 ([testcase] ICE on template func instanciation: stor-layout.c:1569)
PR c++/14106
	* g++.dg/ext/typeof9.C: New test.

From-SVN: r78304
2004-02-23 14:12:56 +00:00