Commit Graph

62976 Commits

Author SHA1 Message Date
Richard Henderson 0da34ce409 re PR middle-end/18163 (libffi test case ICE's on darwin)
PR middle-end/18163
        * expr.c (emit_group_load): Don't go force temporary for memory
        or concat source.
        (emit_group_store): Similarly.

From-SVN: r89735
2004-10-27 20:53:31 -07:00
Andrew Pinski 744e6f334d re PR other/18186 (Spelling error)
2004-10-27  Andrew Pinski  <pinskia@physics.uc.edu>

        PR other/18186
        * common.opt (--param): Fix spelling of parameter.

From-SVN: r89731
2004-10-27 20:42:22 -07:00
Andrew Pinski 8e14584d63 re PR tree-optimization/17529 (ICE in get_indirect_ref_operands)
2004-10-27  Andrew Pinski  <pinskia@physics.uc.edu>

        PR tree-opt/17529
        * tree-cfg.c (remove_useless_stmts_1) <case SWITCH_EXPR>:
        Don't fold statement.
        <case ASM_EXPR>: Fold the statement.

2004-10-27  Andrew Pinski  <pinskia@physics.uc.edu>

        PR tree-opt/17529
        * gcc.c-torture/compile/pr17529.c: Remove the xfail.

From-SVN: r89730
2004-10-27 20:03:48 -07:00
Kazu Hirata 269da1e916 tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Use EDGE_COUNT instead of GOTO_DESTINATION.
* tree-ssa-dce.c (mark_stmt_if_obviously_necessary)
	<COND_EXPR>: Use EDGE_COUNT instead of GOTO_DESTINATION.

From-SVN: r89729
2004-10-28 02:56:50 +00:00
Andrew Pinski 425834072e decl.c: Move the q after the %.
2004-10-27  Andrew Pinski  <pinskia@physics.uc.edu>

        * decl.c: Move the q after the %.

From-SVN: r89728
2004-10-27 19:32:44 -07:00
Andrew Pinski 2fbe488952 parser.c (cp_parser_diagnose_invalid_type_name): Move the q after the %.
2004-10-27  Andrew Pinski  <pinskia@physics.uc.edu>

        * parser.c (cp_parser_diagnose_invalid_type_name): Move the q after
        the %.

From-SVN: r89727
2004-10-27 19:17:46 -07:00
Paolo Carlini 5536e07dad basic_string.h (assign(const basic_string&)): Move out of line...
2004-10-27  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/basic_string.h (assign(const basic_string&)):
	Move out of line...
	* include/bits/basic_string.tcc: ... here.

From-SVN: r89726
2004-10-28 01:04:35 +00:00
Joseph Myers 78466c0eb5 contrib.texi, [...]: Improve Texinfo formatting.
* doc/contrib.texi, doc/cpp.texi, doc/cppopts.texi,
	doc/extend.texi, doc/gcov.texi, doc/install.texi, doc/invoke.texi,
	doc/libgcc.texi, doc/md.texi, doc/passes.texi,
	doc/sourcebuild.texi, doc/tm.texi: Improve Texinfo formatting.

From-SVN: r89725
2004-10-28 02:00:31 +01:00
Joseph Myers d78aa55cc9 c-tree.texi, [...]: Put punctuation outside quotes.
* doc/c-tree.texi, doc/cpp.texi, doc/implement-c.texi,
	doc/invoke.texi, doc/md.texi, doc/passes.texi, doc/tm.texi: Put
	punctuation outside quotes.

From-SVN: r89724
2004-10-28 01:20:42 +01:00
Geoffrey Keating 98f61f572f typeof-2.c: Needs aliases as well as weak.
* gcc.dg/weak/typeof-2.c: Needs aliases as well as weak.
	* gcc.dg/weak/weak-3.c: Likewise.
	* gcc.dg/weak/weak-5.c: Likewise.
	* gcc.dg/weak/weak-9.c: Likewise.
	* lib/file-format.exp (gcc_target_object_format): Darwin has Mach-O.
	* lib/target-supports.exp (check_weak_available): Mach-O does weak.

From-SVN: r89723
2004-10-28 00:16:57 +00:00
GCC Administrator 02c2429ce9 Daily bump.
[[Split portion of a mixed commit.]]

From-SVN: r89721.2
2004-10-28 00:16:23 +00:00
GCC Administrator 821d7b632b Daily bump.
[[Split portion of a mixed commit.]]

From-SVN: r89720.2
2004-10-28 00:16:16 +00:00
Geoffrey Keating 005c1a13e5 Index: fixincludes/ChangeLog
2004-10-27  Geoffrey Keating  <geoffk@apple.com>

	* inclhack.def (darwin_gcc4_breakage): New.
	* fixincl.x: Regenerate.

Index: gcc/ChangeLog
2004-10-27  Geoffrey Keating  <geoffk@apple.com>

	* config/rs6000/rs6000.c (rs6000_attribute_table): Add
	SUBTARGET_ATTRIBUTE_TABLE.
	* config/darwin.h (ASM_WEAKEN_DECL): Handle weak_import.
	(SUBTARGET_ATTRIBUTE_TABLE): Define.
	* config/darwin.c (darwin_handle_weak_import_attribute): New.
	(HAVE_DEAD_STRIP): Delete.
	(no_dead_strip): Don't test HAVE_DEAD_STRIP.
	* config/darwin-protos.h (darwin_handle_weak_import_attribute):
	Prototype.

Index: gcc/testsuite/ChangeLog
2004-10-27  Geoffrey Keating  <geoffk@apple.com>

	* gcc.dg/darwin-weakimport-1.c: New.

From-SVN: r89716
2004-10-27 23:02:39 +00:00
David Mosberger 9a3137c336 correct attribution for last patch
From-SVN: r89715
2004-10-27 15:46:18 -07:00
David Mosberger a8f5224e01 IA-64 sibcall unwind bug, PR target/13158
IA-64 sibcall unwind bug, PR target/13158
* config/ia64/ia64.c (ia64_expand_epilogue): Set RTX_FRAME_RELATED_P on
sibcall alloc instruction.
(process_set): Handle sibcall alloc instruction.

From-SVN: r89714
2004-10-27 15:44:07 -07:00
Geoffrey Keating 09afda707e * doc/tm.texi (USE_SELECT_SECTION_FOR_FUNCTIONS): Document.
From-SVN: r89713
2004-10-27 21:17:08 +00:00
Geoffrey Keating 72747d40e9 * config/darwin.h (GTHREAD_USE_WEAK): Define.
From-SVN: r89712
2004-10-27 21:03:43 +00:00
Ben Elliston 61b5800161 params.def (PARAM_SRA_MAX_STRUCTURE_SIZE): New.
* params.def (PARAM_SRA_MAX_STRUCTURE_SIZE): New.
	(PARAM_SRA_FIELD_STRUCTURE_RATIO): Likewise.
	* params.h (SRA_MAX_STRUCTURE_SIZE): New.
	(SRA_FIELD_STRUCTURE_RATIO): Likewise.
	* tree-sra.c: Include "params.h".
	(decide_block_copy): Use new parameters.
	* doc/invoke.texi (Optimize Options): Document new SRA pass
	parameters sra-max-structure-size and sra-field-structure-ratio.

[testsuite]
	* gcc.dg/tree-ssa/sra-1.c: Pass --param sra-max-structure-size.

From-SVN: r89711
2004-10-28 07:02:16 +10:00
Nicolas Pitre 72111a1f4b * config/arm/ieee754-df.S (floatdidf): Fix regression with big values.
From-SVN: r89709
2004-10-27 20:32:02 +00:00
Zdenek Dvorak 38b0dcb81e re PR tree-optimization/18048 (mgrid loop performance regression with ivopts (register pressure))
PR tree-optimization/18048
	* fold-const.c (try_move_mult_to_index): New function.
	(fold): Use try_move_mult_to_index.
	* tree-ssa-loop-ivopts.c (try_add_cand_for): Prefer common candidates.
	* tree-ssa-loop-niter.c (number_of_iterations_cond): Produce
	an all-ones unsigned constant without extra bits.
	* tree.c (build_low_bits_mask): New function.
	* tree.h (build_low_bits_mask): Declare.

From-SVN: r89708
2004-10-27 20:27:20 +00:00
David Edelsohn 89e73849fd re PR target/17956 (ICE in rs6000_emit_minmax, config/rs6000/rs6000.c:11725)
PR target/17956
	* config/rs6000/rs6000.md (maxsf3): Add !flag_trapping_math to
	final condition.
	(minsf3): Same.
	(maxdf3): Same.
	(mindf3): Same.

From-SVN: r89707
2004-10-27 16:18:42 -04:00
Aaron W. LaFramboise 13cf7262ac re PR bootstrap/17832 (Bootstrap broken by fixincludes failures)
PR bootstrap/17832

	* fixfixes.c (main): Check for _PC_NAME_MAX.
----------------------------------------------------------------------

From-SVN: r89706
2004-10-27 14:13:57 -06:00
Kazu Hirata 0b371c72fe tree-cfg.c (thread_jumps): Speed up by reordering the two conditions for entering basic blocks into worklist.
* tree-cfg.c (thread_jumps): Speed up by reordering the two
	conditions for entering basic blocks into worklist.

From-SVN: r89700
2004-10-27 18:33:26 +00:00
Kazu Hirata af88d4ec96 tree-cfg.c (thread_jumps): Speed up by pretending to have ENTRY_BLOCK_PTR in worklist.
* tree-cfg.c (thread_jumps): Speed up by pretending to have
	ENTRY_BLOCK_PTR in worklist.

From-SVN: r89699
2004-10-27 18:24:13 +00:00
Kazu Hirata 7f604986cc tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Don't let an explicit GOTO_EXPR slip through.
* tree-ssa-dce.c (mark_stmt_if_obviously_necessary)
	<GOTO_EXPR>: Don't let an explicit GOTO_EXPR slip through.

From-SVN: r89698
2004-10-27 18:20:26 +00:00
Geoffrey Keating 36b8a0315c btest-gcc.sh (TESTLOGS): The libstdc++-v3 test log is called libstd++.sum not libstdc++-v3.sum.
* btest-gcc.sh (TESTLOGS): The libstdc++-v3 test log is called
	libstd++.sum not libstdc++-v3.sum.

From-SVN: r89697
2004-10-27 18:19:41 +00:00
Geoffrey Keating 95b0de03a2 Add missing ChangeLog line for configure.host change.
From-SVN: r89696
2004-10-27 18:09:48 +00:00
Daniel Berlin 52328bf6c8 re PR tree-optimization/17133 (wrong code with -ftree-lim)
2004-10-27  Daniel Berlin <dberlin@dberlin.org>

	Fix PR tree-optimization/17133

	* tree-cfg.c (rewrite_to_new_ssa_names_bb): Also rewrite must
	def kill operand.

	* tree-flow-inline.h: V_MUST_DEF_OP became V_MUST_DEF_RESULT.
	(get_v_must_def_result_ptr): Modify for new structure of
	v_must_defs array.
	(get_v_must_def_kill_ptr): New.
	(op_iter_next_use): Add support for the kill that occurs in V_MUST_DEFs.
	(op_iter_next_tree): Ditto. Also V_MAY_DEF_OP became V_MAY_DEF_RESULT.
	(op_iter_next_def): V_MAY_DEF_OP became V_MAY_DEF_RESULT.
	(op_iter_init): Initialize new mustu members.
	(op_iter_next_mustdef): New function.
	(op_iter_init_mustdef): Ditto.

	* tree-flow.h (rewrite_def_def_chains): New function.

	* tree-into-ssa.c (mark_def_sites): Handle mustdefkill operands.
	(ssa_mark_def_sites): Ditto.
	(rewrite_stmt): Ditto.
	(ssa_rewrite_stmt): Ditto.
	(rewrite_blocks): Factor out from rewrite_into_ssa.
	(mark_def_block_sites): Ditto.
	(rewrite_def_def_chains): New function, just rewrites def-def
	chains without phi node insertion.

	* tree-pass.h (TODO_fix_def_def_chains): New todo flag.

	* tree-optimize.c (execute_todo): Handle TODO_fix_def_def_chains.

	* tree-pretty-print.c (dump_vops): Print out MUST_DEF's so that
	they include the rhs now.

	* tree-ssa-ccp.c (visit_assignment): V_MUST_DEF_OP became
	V_MUST_DEF_RESULT.

	* tree-ssa-dce.c (mark_operand_necessary): Add phionly argument.
	Update callers.
	(mark_really_necessary_kill_operand_phis): New function.
	(perform_tree_ssa_dce): Call it.
	(pass_dce): Add TODO_fix_def_def_chains.
	(pass_cd_dce): Ditto.

	* tree-ssa-loop-im.c (determine_max_movement): Look at kills as
	well.
	(rewrite_mem_refs): Ditto.

	* tree-ssa-loop-manip.c (find_uses_to_rename_stmt): Look at kills
	as well.

	* tree-ssa-operands.c (allocate_v_may_def_optype):
	v_may_def_operand_type_t became v_def_use_operand_type_t.
	(allocate_v_must_def_optype) Ditto.
	(finalize_ssa_v_must_defs): Update for new operand type, as well
	as setting the use portion as well.
	(copy_virtual_operands): Copy the kill operand as well.
	(create_ssa_artficial_load_stmt): V_MUST_DEF_OP became
	V_MUST_DEF_RESULT.

	* tree-ssa-operands.h (v_may_def_operand_type): Renamed to
	v_def_use_operand_type.
	(v_must_def_optype_d): Use v_def_use_operand_type.
	(V_MUST_DEF_OP_*): Renamed to V_MUST_DEF_RESULT_*
	(V_MUST_DEF_KILL_*): New macros.
	(struct ssa_operand_iterator_d): Add num_v_mustu and v_mustu_i
	members.
	Rename existing must_i and num_v_must members to mustd_i and
	num_v_mustd.
	(SSA_OP_VMUSTDEFKILL): New flag.
	(SSA_OP_VIRTUAL_KILLS): New flag.
	(SSA_OP_ALL_OPERANDS): Add in SSA_OP_ALL_KILLS.
	(SSA_OP_ALL_KILLS): New flag.
	(FOR_EACH_SSA_MUSTDEF_OPERAND): New macro.

	* tree-ssa.c (verify_ssa): Verify virtual kills as well.

	* tree-vectorizer.c (vect_create_data_ref_ptr): V_MUST_DEF_OP
	became V_MUST_DEF_RESULT.
	(rename_variables_in_bb): Rename kill pointer as well.

	* tree-dfa.c (compute_immediate_uses_for_stmt): Add kills into the
	immediate uses.

From-SVN: r89695
2004-10-27 17:45:21 +00:00
Richard Sandiford 47a3c2dcc6 dbxout.c (dbxout_source_line): Move declaration of begin_label to the block that needs it.
* dbxout.c (dbxout_source_line): Move declaration of begin_label to
	the block that needs it.

From-SVN: r89694
2004-10-27 17:31:14 +00:00
Zack Weinberg 3da3d587c5 re PR c++/18075 (#pragma implementation broken in presence of #pragma ident)
PR 18075
	* directives.c (do_pragma): Do not defer pragmas which are unknown.
	(cpp_handle_deferred_pragma): Add cast to silence warning.

From-SVN: r89693
2004-10-27 17:29:29 +00:00
Zack Weinberg 121260258c dbxout.c (dbxout_finish_complex_stabs): Mark 'line' variable ATTRIBUTE_UNUSED.
* dbxout.c (dbxout_finish_complex_stabs): Mark 'line' variable
	ATTRIBUTE_UNUSED.

From-SVN: r89692
2004-10-27 17:28:29 +00:00
Zack Weinberg b6ff777cfc c-lex.c (cb_def_pragma): Clean up code for making location palatable to diagnostic.c.
* c-lex.c (cb_def_pragma): Clean up code for making location
	palatable to diagnostic.c.

From-SVN: r89691
2004-10-27 17:24:20 +00:00
Steven Bosscher 12525dd626 Add PR number.
From-SVN: r89690
2004-10-27 17:20:57 +00:00
Steven Bosscher 40b554a31c tree-phinodes.c (remove_phi_arg_num): Don't remove PHIs without any PHI arguments left.
* tree-phinodes.c (remove_phi_arg_num): Don't remove PHIs
	without any PHI arguments left.  Make sure the argument that
	we're supposed to remove exists at all.

From-SVN: r89689
2004-10-27 17:14:19 +00:00
Joseph Myers a559b61bf7 * de.po: Update.
From-SVN: r89687
2004-10-27 18:09:33 +01:00
Paul Brook 18fbf5995b configure.ac: Don't test for [build] __cxa_atexit when building a cross compiler.
* configure.ac: Don't test for [build] __cxa_atexit when building a
	cross compiler.
	* configure: Regenerate.

From-SVN: r89684
2004-10-27 16:08:48 +00:00
Paul Brook 57991ebac2 configure.ac: Use build_exeext not host_exeext when lookin for target tools.
* configure.ac: Use build_exeext not host_exeext when lookin for
	target tools.
	* configure: Regenerate.

From-SVN: r89683
2004-10-27 16:06:39 +00:00
Richard Earnshaw f20459f1b2 ffi.c (ffi_prep_cif_machdep): Handle functions that return long long values.
* src/arm/ffi.c (ffi_prep_cif_machdep): Handle functions that return
long long values.  Round stack allocation to a multiple of 8 bytes
for ATPCS compatibility.
* src/arm/sysv.S (ffi_call_SYSV): Rework to avoid use of APCS register
names.  Handle returning long long types.  Add Thumb and interworking
support.  Improve soft-float code.

From-SVN: r89681
2004-10-27 15:10:22 +00:00
Paolo Bonzini 5ae4c56561 re PR other/17991 (Two-process fixincludes broken: pz_mn_name_pat undefined)
2004-10-27  Paolo Bonzini  <bonzini@gnu.org>

	PR other/17991

	* configure.ac: Fix typo.
	* configure: Regenerate.
	* fixincl.c (fix_with_system): tSCC is not a pointer.  Fix.

From-SVN: r89680
2004-10-27 14:42:56 +00:00
Arnaud Charlet 0ca5fab2b7 Resync.
From-SVN: r89679
2004-10-27 15:57:10 +02:00
Cyrille Comar f142e9fab7 gnat_ugn.texi: Generalize "finding memory problems" section into a "memory management issues"...
2004-10-26  Cyrille Comar    <comar@act-europe.fr>
	    Vasiliy Fofanov  <fofanov@act-europe.fr>
	    Vincent Celier   <celier@gnat.com>

	* gnat_ugn.texi: Generalize "finding memory problems" section into a
	"memory management issues" section and document some of the useful
	memory pools provided as part of the GNAT library.
	Remove "virtual" from declaration of A::method2 in
	the simple example of Ada/C++ mixed system.
	Library Projects may be virtually extended: their virtual extensions
	are not Library Projects.
	Added section on extending project hierarchies.

From-SVN: r89678
2004-10-27 15:56:19 +02:00
Vincent Celier 1cfd6c3a59 2004-10-26 Vincent Celier <celier@gnat.com>
* a-dirval.ads, a-dirval.adb, a-dirval-vms.adb, a-dirval-mingw.adb
	(Is_Path_Name_Case_Sensitive): New function

	* a-direct.adb (To_Lower_If_Case_Insensitive): New procedure
	(Base_Name, Simple_Name, Current_Directory, Compose,
	Containing_Directory, Full_Name): Call To_Lower_If_Case_Insensitive on
	the result.

From-SVN: r89677
2004-10-27 15:56:03 +02:00
Eric Botcazou 04061aa5af trans.c (call_to_gnu): For an (in-)out parameter passed by reference whose type is a constructed...
2004-10-26  Eric Botcazou  <ebotcazou@act-europe.fr>

	* trans.c (call_to_gnu): For an (in-)out parameter passed by reference
	whose type is a constructed subtype of an aliased object with an
	unconstrained nominal subtype, convert the actual to the constructed
	subtype before taking its address.

From-SVN: r89676
2004-10-27 15:55:45 +02:00
Pascal Obry b194546ef0 tracebak.c (IS_BAD_PTR): Use IsBadCodePtr on Win32 to check for ptr validity (process must have read access).
2004-10-26  Pascal Obry  <obry@gnat.com>

	* tracebak.c (IS_BAD_PTR): Use IsBadCodePtr on Win32 to check for ptr
	validity (process must have read access). Set to 0 in all other cases.
	(STOP_FRAME): Now check for ptr validity to avoid a segmentation
	violation on Win32.
	(VALID_STACK_FRAME): Check for ptr validity on Win32 to avoid a
	segmentation violation.

From-SVN: r89675
2004-10-27 15:55:31 +02:00
Thomas Quinot 130c236a6a sem_util.adb (Is_Aliased_View): Defend against the case where this subprogram is called with a parameter that...
2004-10-26  Thomas Quinot  <quinot@act-europe.fr>
	    Ed Schonberg   <schonberg@gnat.com>

	* sem_util.adb (Is_Aliased_View): Defend against the case where this
	subprogram is called with a parameter that is not an object name. This
	situation arises for some cases of illegal code, which is diagnosed
	later, and in this case it is wrong to call Is_Aliased, as that might
	cause a compiler crash.
	(Explain_Limited_Type): Refine previous fix to include
	inherited components of derived types, to provide complete information.

	* exp_ch9.adb (Set_Privals): Set the Ekind of the actual object that
	is the prival for a protected object.
	It is necessary to mark this entity as a variable, in addition to
	flagging it as Aliased, because Sem_Util.Is_Aliased_View has been
	modified to avoid checking the Aliased flag on entities that are not
	objects. (Checking that flag for non-objects is erroneous and could
	lead to a compiler crash).

From-SVN: r89674
2004-10-27 15:54:52 +02:00
Ed Schonberg 65b03d7d59 sem_elab.adb (Check_Elab_Call): Do not check a call that does not appear in the code for the main unit.
2004-10-26  Ed Schonberg  <schonberg@gnat.com>

	* sem_elab.adb (Check_Elab_Call): Do not check a call that does not
	appear in the code for the main unit. Dependencies among units in the
	context of the main unit are established when those other units are
	compiled. Otherwise spurious elaboration constraints can generate
	incorrect elaboration circularities.

From-SVN: r89673
2004-10-27 15:54:38 +02:00
Ed Schonberg e895b4353e sem_ch6.adb (Analyze_Subprogram_Body): If body is a subunit for a different kind of stub (possibly wrong name for file)...
2004-10-26  Ed Schonberg  <schonberg@gnat.com>

	* sem_ch6.adb (Analyze_Subprogram_Body): If body is a subunit for a
	different kind of stub (possibly wrong name for file), do not check
	for conformance.
	(Uses_Secondary_Stack): New subsidiary to Build_Body_To_Inline. If body
	includes call to some function that returns an unconstrained type, do
	not inline.

From-SVN: r89671
2004-10-27 15:42:11 +02:00
Ed Schonberg fc4039b93c sem_ch3.adb (Complete_Private_Subtype): If the full view is a task or protected type with discriminants...
2004-10-26  Ed Schonberg  <schonberg@gnat.com>

	* sem_ch3.adb (Complete_Private_Subtype): If the full view is a task
	or protected type with discriminants, do not constrain the
	corresponding record type if the subtype declaration has no
	discriminant constraints. This can be the case in source code, or in
	the subtype declaration created to rename an actual type within an
	instantiation.

From-SVN: r89670
2004-10-27 15:41:55 +02:00
Cyrille Comar fe98a6aa82 sem_ch13.adb (Analyze_Attribute_Definition_Clause, [...]): enhance, document & limit detection of non-sharable internal pools.
2004-10-26  Cyrille Comar  <comar@act-europe.fr>

	* sem_ch13.adb (Analyze_Attribute_Definition_Clause, case
	'Storage_Pool): enhance, document & limit detection of non-sharable
	internal pools.

	* impunit.adb: Make System.Pool_Global and System.Pool_Local visible.

	* s-pooglo.ads: Add more documentation now that this pool is properly
	documented.

From-SVN: r89669
2004-10-27 15:41:23 +02:00
Andreas Krebbel db09b5b61b s390.md ("*subdf3_cc"): Replaced plus by minus.
2004-10-27  Andreas Krebbel  <krebbel1@de.ibm.com>

	* config/s390/s390.md ("*subdf3_cc"): Replaced plus by minus.

From-SVN: r89668
2004-10-27 13:41:18 +00:00