Commit Graph

64354 Commits

Author SHA1 Message Date
GCC Administrator aa6cc10ded Daily bump.
From-SVN: r92022
2004-12-11 00:16:20 +00:00
Devang Patel 3dede806ac re PR driver/18732 (Compiler will not compile two source files if first has error or is unreadable)
PR 18732
       * gcc.c (main): Do not break out of loop when error is reported while
       processing one source file.

From-SVN: r92018
2004-12-10 16:01:59 -08:00
Diego Novillo 7d5f9cc68f tree-into-ssa.c (REWRITE_THIS_STMT): Define.
* tree-into-ssa.c (REWRITE_THIS_STMT): Define.
	(mark_def_sites): Clear REWRITE_THIS_STMT for statements that
	don't need any operands rewritten.
	(rewrite_stmt): Ignore statements that don't need to be
	rewritten.
	(rewrite_operand): Validate that an existing SSA_NAME is
	identical to the current reaching definition of the operand.


	* tree-dfa.c (mark_call_clobbered_vars_to_rename): New function.
	* tree-vectorizer.c (vectorizable_load): Call it.
	* tree-flow.h (mark_call_clobbered_vars_to_rename): Declare.
	* tree-sra.c (mark_all_v_defs): Also mark VUSEs for renaming.

From-SVN: r92010
2004-12-10 16:54:42 -05:00
Ben Elliston d49d090735 fibheap.h (struct fibnode): Only use unsigned long bitfields when __GNUC__ is defined and ints are less...
[include]
	* fibheap.h (struct fibnode): Only use unsigned long bitfields
	when __GNUC__ is defined and ints are less than 32-bits wide.
[libiberty]
	* configure.ac: Invoke AC_CHECK_SIZEOF for sizeof (int).
	* configure: Regenerate.
	* config.in: Likewise.

From-SVN: r92009
2004-12-11 08:25:00 +11:00
Kazu Hirata da0e2953e4 regmove.c (combine_stack_adjustments_for_block): Free memlist if it hasn't been freed.
* regmove.c (combine_stack_adjustments_for_block): Free
	memlist if it hasn't been freed.

From-SVN: r92008
2004-12-10 21:11:02 +00:00
Ziemowit Laski 22a0b85fcc c-typeck.c (lookup_field): Check if a TYPE_LANG_SPECIFIC pointer field is set before dereferencing it.
[gcc/ChangeLog]
2004-12-10  Ziemowit Laski  <zlaski@apple.com>

        * c-typeck.c (lookup_field): Check if a TYPE_LANG_SPECIFIC
        pointer field is set before dereferencing it.

From-SVN: r92007
2004-12-10 21:08:22 +00:00
Andrew Pinski ef0b4f287a re PR middle-end/18903 (ice in bsi_after_labels)
2004-12-10  Andrew Pinski  <pinskia@physics.uc.edu>

        PR middle-end/18903
        * gcc.c-torture/compile/pr18903.c: New test.

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

        PR middle-end/18903
        * tree-cfg.c (remove_bb): Put the moved label at the beginning
        of the basic block.

From-SVN: r92006
2004-12-10 11:32:14 -08:00
Kazu Hirata 26673217ad tree-ssa-dom.c (thread_across_edge): Speed up by avoiding a call to is_gimple_min_invariant if we know the result.
* tree-ssa-dom.c (thread_across_edge): Speed up by avoiding a
	call to is_gimple_min_invariant if we know the result.

From-SVN: r92003
2004-12-10 17:58:07 +00:00
Kazu Hirata 01c49ce8bd tree-data-ref.c (free_data_refs): Free each data_reference object.
* tree-data-ref.c (free_data_refs): Free each data_reference
	object.

From-SVN: r92002
2004-12-10 17:51:43 +00:00
Jeff Law f914cec236 tree-ssa-alias.c (setup_pointers_and_addressables): Remove redundant test of v_ann->mem_tag_kind.
* tree-ssa-alias.c (setup_pointers_and_addressables): Remove
	redundant test of v_ann->mem_tag_kind.

	* tree-ssa-operands.c (get_indirect_ref_operands): Remove
	redundant conditional clearing opf_kill_def.

From-SVN: r92000
2004-12-10 10:28:32 -07:00
Richard Sandiford 036ff63fee frv-modes.def: Fix comment typos.
* config/frv/frv-modes.def: Fix comment typos.
	(CC_NZ): Define new mode.
	* config/frv/frv-protos.h (frv_select_cc_mode): Declare.
	(condexec_intop_cmp_operator): Delete.
	* config/frv/frv.c (comparison_string): New function.
	(frv_print_operand): Use it to handle 'c' and 'C'.
	(relational_operator): Redefine in terms of integer_relational_operator
	and float_relational_operator.
	(signed_relational_operator, unsigned_relational_operator): Delete.
	(integer_relational_operator): New predicate, combining the above.
	Check the mode of the first operand but leave frv.md to check the rest.
	(float_relational_operator): Just check the mode of the first operand
	and leave frv.md to check the rest.
	(intop_compare_operator): Assume the result is compared with zero
	in mode CC_NZmode.  Allow PLUS and MINUS.  Leave frv.md to check
	the operand predicates.
	(condexec_intop_cmp_operator): Delete.
	(frv_ifcvt_modify_tests, frv_ifcvt_modify_multiple_tests)
	(frv_hard_regno_mode_ok): Handle CC_NZmode.
	(frv_select_cc_mode): New function.
	* config/frv/frv.h (SELECT_CC_MODE): Use frv_select_cc_mode.
	(REVERSIBLE_CC_MODE): Include CC_NZmode.
	(PREDICATE_CODES): Replace entries for signed_relational_operand and
	unsigned_relational_operator with one for integer_relational_operator.
	Delete entry for condexec_intop_cmp_operator.
	* config/frv/frv.md (movcc_nz, *internal_movcc_nz, reload_incc_nz)
	(reload_outcc_nz, *cmpsi_cc_nz, *cond_exec_cmpsi_cc_nz): New patterns.
	(*combo_intop_compare2, *combo_intop_compare4): Delete.
	(*combo_intop_compare1): Change mode to CC_NZ.
	(*combo_intop_compare2): Likewise.  Renamed from *combo_intop_compare3.
	(branch_{un,}signed_true, branch_{un,}signed_false)
	(*scc_{un,}signed, *scc_neg1_{un,}signed, *ck_{un,}signed)
	(*movqicc_internal1_{un,}signed, *movqicc_internal2_{un,}signed)
	(*movhicc_internal1_{un,}signed, *movhicc_internal2_{un,}signed)
	(*movsicc_internal1_{un,}signed, *movsicc_internal2_{un,}signed)
	(*movsfcc_has_fprs_{un,}signed, *movsfcc_no_fprs_{un,}signed)
	(*return_{unsigned_,}true, *return_{unsigned_,}false): Merge these
	pattern pairs.  Use integer_relational_operator.  Remove mode from
	icc_operand.

From-SVN: r91997
2004-12-10 16:33:25 +00:00
Mark Dettinger 2742a1edf5 s390.c (struct processor_costs): New fields ml, sqdbr, sqebr.
2004-12-06  Mark Dettinger  <dettinge@de.ibm.com>

	* config/s390/s390.c (struct processor_costs): New fields ml,
	sqdbr, sqebr.
	(s390_rtx_costs): Added the missing handling of multiply & add,
	square root, and umulsidi.

From-SVN: r91996
2004-12-10 16:25:51 +00:00
Volker Reichelt 9bf0e5888c re PR c++/18731 (ICE on invalid template declaration)
PR c++/18731
	* parser.c (cp_parser_class_head): Reject typedef-name in class head.

	* g++.dg/parser/struct-1.C: New test.
	* g++.dg/parser/struct-2.C: New test.
	* g++.dg/parser/struct-3.C: New test.

From-SVN: r91993
2004-12-10 16:04:22 +00:00
Kazu Hirata 417c735c22 expmed.c (synth_mult): Initialize new_limit.latency before making a recursive call.
* expmed.c (synth_mult): Initialize new_limit.latency before
	making a recursive call.

From-SVN: r91992
2004-12-10 15:06:52 +00:00
Nick Clifton 5542b23d7b (legitimate_address_p): Reject address whose index is itself the sum of two
other parts.

From-SVN: r91991
2004-12-10 14:03:45 +00:00
Paolo Carlini d5f60056f0 type_traits: Implement remove_const, remove_volatile, and remove_cv.
2004-12-10  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/type_traits: Implement remove_const, remove_volatile,
	and remove_cv.
	* testsuite/tr1/4_metaprogramming/const_volatile_modifications/
	remove_const.cc: New.
	* testsuite/tr1/4_metaprogramming/const_volatile_modifications/
	remove_cv.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/const_volatile_modifications/
	remove_volatile.cc: Likewise.

	* testsuite/tr1/4_metaprogramming/primary_type_categories/
	is_array/is_array.cc: Slightly tweak consistently, remove typedefs,
	add a few tests.

From-SVN: r91990
2004-12-10 11:45:13 +00:00
Alan Modra 72b4c734a3 * config/t-slibgcc-sld (SHLIB_LINK): Correct symlink.
From-SVN: r91989
2004-12-10 20:58:22 +10:30
Uros Bizjak fdf97ad1fd i386.md (*cmpfp_sf): Change type attribute to "multi".
* config/i386/i386.md (*cmpfp_sf): Change type
	attribute to "multi".

From-SVN: r91988
2004-12-10 08:05:15 +01:00
Richard Henderson af99a0b024 * gcc.dg/loop-3.c: Don't use i386 tuning for amd64.
From-SVN: r91987
2004-12-09 22:18:03 -08:00
Richard Henderson 38ef242b42 fp-cmp-4q.c: Remove.
* gcc.c-torture/execute/ieee/fp-cmp-4q.c: Remove.
        * gcc.c-torture/execute/ieee/fp-cmp-8q.c: Remove.

From-SVN: r91986
2004-12-09 22:07:08 -08:00
GCC Administrator 3bcc0cde54 Daily bump.
From-SVN: r91982
2004-12-10 00:16:17 +00:00
Richard Henderson 2967685e3a Testcase for PR c/18282.
From-SVN: r91979
2004-12-09 14:56:57 -08:00
Richard Henderson d183862150 re PR c/18282 (PR c/17384 patch causes regression from 3.4.2)
PR c/18282
        * attribs.c (decl_attributes): Use relayout_decl.
        * c-common.c (handle_mode_attribute): Copy all relevant type
        parameters from the new underlying integral type.

From-SVN: r91978
2004-12-09 14:55:41 -08:00
Richard Henderson 88b3da50a8 c-common.c (shorten_compare): Don't special-case min/maxval for C enumerations.
* c-common.c (shorten_compare): Don't special-case min/maxval
        for C enumerations.

From-SVN: r91974
2004-12-09 14:52:15 -08:00
Matt Austern f80f1bab38 re PR c++/18514 (Alternate "asm" name ignored for redeclared builtin function imported into namespace std)
PR c++/18514
 	* name-lookup.c (do_nonmember_using_decl): A real function
 	declaration takes precedence over an anticipated declaration.
 	* g++.dg/ext/builtin1.C: New
 	* g++.dg/ext/builtin2.C: New
 	* g++.dg/ext/builtin3.C: New
 	* g++.dg/ext/builtin4.C: New
 	* g++.dg/ext/builtin5.C: New

From-SVN: r91972
2004-12-09 21:07:01 +00:00
Volker Reichelt 5a19910e7c * parser.c (cp_parser_member_declaration): Fix comment typo.
From-SVN: r91970
2004-12-09 20:47:35 +00:00
Richard Sandiford 4f1da2e923 simplify-rtx.c (simplify_subreg): In the CONCAT case...
* simplify-rtx.c (simplify_subreg): In the CONCAT case, check whether
	the request subreg is entirely contained in the requested component.
	(simplify_gen_subreg): Return null for CONCATs that are rejected
	by simplify_subreg.
	* expmed.c (store_bit_field): Create a temporary when changing the
	value to an integer mode.

From-SVN: r91965
2004-12-09 20:28:14 +00:00
David Edelsohn 36cea87023 * real.c (ibm_extended): Correct comment.
From-SVN: r91964
2004-12-09 15:21:45 -05:00
Stan Shebs dc4d6ffa26 darwin-asm.h: New file, 32/64-bit assembly macros formerly in darwin-tramp.asm.
* config/rs6000/darwin-asm.h: New file, 32/64-bit assembly macros
        formerly in darwin-tramp.asm.
        * config/rs6000/darwin-tramp.asm: Include darwin-asm.h.
        * config/rs6000/darwin-fpsave.asm: Use 32/64-bit macros.
        * config/rs6000/t-darwin: Add dependencies.

From-SVN: r91960
2004-12-09 18:25:15 +00:00
Paolo Carlini 366e6bd173 type_traits: Implement remove_extent and remove_all_extents.
2004-12-09  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/type_traits: Implement remove_extent and
	remove_all_extents.
	* testsuite/tr1/4_metaprogramming/array_modifications/
	remove_all_extents.cc: New.
	* testsuite/tr1/4_metaprogramming/array_modifications/
	remove_extent.cc: Likewise.

From-SVN: r91958
2004-12-09 17:54:27 +00:00
Richard Henderson 88d6095610 re PR target/17025 (attribute regparm code-generation bug)
PR target/17025
        * config/i386/i386.md (testqi_1_maybe_si, andqi_2_maybe_si): New.
        (test_qi_1, andqi_2): Do not promote to simode.

From-SVN: r91956
2004-12-09 09:33:42 -08:00
David Edelsohn ad87ad6788 re PR bootstrap/18895 (libgfortran AM_MAKEFLAGS arg list + environment too large)
PR bootstrap/18895
        Revert 2004-12-07 change.
        * Makefile.am (AM_MAKEFLAGS): Delete.
        * Makefile.in: Regenerate.

From-SVN: r91955
2004-12-09 11:31:19 -05:00
Andrew Pinski 25a2fe8569 re PR tree-optimization/18904 (4.0-20041205 regression ICE with -O3)
2004-12-09  Andrew Pinski  <pinskia@physics.uc.edu>

        PR tree-opt/18904
        * g++.dg/opt/ptrmem5.C: New test.

2004-12-09  Andrew Pinski  <pinskia@physics.uc.edu>

        PR tree-opt/18904
        * tree-chrec.c (chrec_convert): Use fold_convert
        instead of convert.

From-SVN: r91954
2004-12-09 08:17:07 -08:00
Matt Rice 8748c00f94 re PR preprocessor/18102 (darwin framework header search depends on order of options)
2004-12-09  Matt Rice  <ratmice@yahoo.com>

        PR preprocessor/18102
        * c-incpath.c (remove_duplicates): Check for construct
        equality.

From-SVN: r91953
2004-12-09 07:54:15 -08:00
Alexandre Oliva 354e22e18a re PR c++/18757 (ICE (on invalid) in get_innermost_template_args)
gcc/cp/ChangeLog:
PR c++/18757
* parser.c (cp_parser_template_id): Don't create a CPP_TEMPLATE_ID
if parsing failed.
gcc/testsuite/ChangeLog:
* g++.dg/parse/typename5.C: Adjust for new error.
* g++.dg/parse/typename7.C: New.

From-SVN: r91935
2004-12-09 12:33:09 +00:00
Dorit Naishlos d16b59fa0c genopinit.c (vec_realign_store_optab): Initialization removed.
2004-12-09  Dorit Naishlos  <dorit@il.ibm.com>

        * genopinit.c (vec_realign_store_optab): Initialization removed.
        * optabs.c (optab_for_tree_code): REALIGN_STORE_EXPR case removed.
        * optabs.h (optab_index): OTI_vec_realign_store Removed.
        (vec_realign_store_optab): Removed.
        * target-def.h (TARGET_VECTORIZE_BUILTIN_MASK_FOR_STORE): Removed.
        * target.h (builtin_mask_for_store): Removed.
        * tree.def (REALIGN_STORE_EXPR): Removed.
        * config/rs6000/rs6000.c (rs6000_builtin_mask_for_store): Removed.
        (altivec_builtin_mask_for_store): Removed.
        (altivec_init_builtins): Removed initialization of
        altivec_builtin_mask_for_store.

        * doc/tm.texi (TARGET_VECTORIZE_MISALIGNED_MEM_OK): New.
        (TARGET_VECTORIZE_BUILTIN_MASK_FOR_LOAD): New.

From-SVN: r91932
2004-12-09 11:06:20 +00:00
Nathan Sidwell 08f2586c92 tree.def (SET_TYPE): Remove.
* tree.def (SET_TYPE): Remove.
	(CONSTRUCTOR): Update description.
	* builtins.c (type_to_class) Remove SET_TYPE case.
	* dbxout.c (dbxout_type): Likewise.
	* dwarf2out.c (is_base_type): Likewise.
	(gen_set_type_die): Remove.
	(gen_type_die): Remove SET_TYPE case.
	* expr.c (count_type_elements): Likewise.
	(mostly_zeroes_p): Likewise.
	(store_constructor): Likewise.
	* print_tree.c (print_node): Likewise.
	* stor-layout.c (layout_type): Likewise.
	* tree-browser.c (browse_tree): Likewise.
	* tree-inline.c (remap_type): Likewise.
	* tree-pretty-print.c (dump_generic_node): Likewise.
	* tree.c (type_contains_plaeholder_1, type_hash_eq,
	variably_modified_type_p, initializer_zerop): Likewise.
	* tree.h (SET_OR_ARRAY_CHECK): Remove.
	(AGGREGATE_TYPE_P): Remove SET_TYPE check.
	(TYPE_DOMAIN): Use ARRAY_TYPE_CHECK.
	* typeclass.h (enum type_class): Remove set_type_class.
	* varasm.c (const_hash_1): Remove SET_TYPE case.
	(compare_constant, copy_constant, output_constant): Likewise.
	* config/i386/i386.c (classify_argument): Likewise.
	* config/ia64/ia64.c (hfa_element_mode): Likewise.
	* config/sparc/sparc.c (sparc_type_code): Likewise.

	* ada/decl.c (gnat_substitute_in_type): Remove SET_TYPE case.

From-SVN: r91931
2004-12-09 10:54:50 +00:00
Nathan Sidwell 61fcaeec1e re PR c++/16681 (array initialization in struct construct is a memory hog)
PR c++/16681
	* tree-inline.c (estimate_num_insns_1): Add RANGE_EXPR case.

From-SVN: r91930
2004-12-09 10:43:54 +00:00
Volker Reichelt 257d5f32ce re PR c++/18073 (mmintrin.h rejected by C++ frontend)
PR c++/18073
	* typeck.c (build_reinterpret_cast_1): Allow cast from vector type.

	* g++.dg/other/mmintrin.C: New test.

From-SVN: r91929
2004-12-09 10:34:21 +00:00
Nathan Sidwell 9476364759 re PR c++/16681 (array initialization in struct construct is a memory hog)
cp:
	PR c++/16681
	* init.c (build_zero_init): Build a RANGE_EXPR for an array
	initializer.
testsuite:
	PR c++/16681
	* g++.dg/init/array15.C: New.
	* g++.dg/init/array16.C: New.

From-SVN: r91928
2004-12-09 09:37:37 +00:00
Richard Henderson 42fabf21b2 * config/i386/i386.md: Use FLAGS_REG everywhere.
From-SVN: r91927
2004-12-08 23:21:19 -08:00
Kelley Cook 901713f134 Makefile.am: Add ../config to ACLOCAL_AMFLAGS.
2004-12-08  Kelley Cook  <kcook@gcc.gnu.org>

	* Makefile.am: Add ../config to ACLOCAL_AMFLAGS.
	* aclocal.m4, Makefile.in, testsuite/Makefile.in: Regenerate.

From-SVN: r91926
2004-12-09 01:27:29 +00:00
Eric Christopher dec20d7404 mips.c (mips_scalar_mode_supported_p): Rewrite to avoid call to default function.
2004-12-08  Eric Christopher  <echristo@redhat.com>

	* config/mips/mips.c (mips_scalar_mode_supported_p): Rewrite
	to avoid call to default function.

From-SVN: r91925
2004-12-09 01:04:40 +00:00
GCC Administrator 1e6b30d091 Daily bump.
From-SVN: r91923
2004-12-09 00:16:17 +00:00
Kelley Cook 8a21aa30d8 typeck.c: Remove DOS line endings.
2004-12-08  Kelley Cook  <kcook@gcc.gnu.org>

	* typeck.c: Remove DOS line endings.

From-SVN: r91919
2004-12-08 23:47:20 +00:00
Richard Henderson 323c74dacc intrinsic.c (gfc_convert_type_warn): Propagate the input shape to the output expression.
* intrinsic.c (gfc_convert_type_warn): Propagate the input shape
        to the output expression.
        * iresolve.c (gfc_resolve_cshift, gfc_resolve_eoshift): Suppress
        warning conversion.
        (gfc_resolve_reshape): Force convert SHAPE and ORDER parameters
        to index kind.

From-SVN: r91917
2004-12-08 13:17:18 -08:00
David Edelsohn 1b227ee01a Makefile.def (flags_to_pass): Add PICFLAG_FOR_TARGET.
* Makefile.def (flags_to_pass): Add PICFLAG_FOR_TARGET.
	* Makefile.tpl (EXTRA_HOST_FLAGS): Add PICFLAG.
	(EXTRA_TARGET_FLAGS): Add PICFLAG.
	* Makefile.in: Regenerate.

From-SVN: r91916
2004-12-08 15:25:58 -05:00
Zack Weinberg 857e7259c4 re PR middle-end/17982 (stop calling assemble_external before final assembly output time)
PR 17982
	* varasm.c (pending_assemble_externals): New static.
	(assemble_external_real): Meat of assemble_external split out
	to this new function.
	(process_pending_assemble_externals): New function.
	(assemble_external): Use gcc_assert.  If flag_unit_at_a_time
	is true and the basic test passes, merely cons the decl onto
	the pending list to be handled later.
	* tree.h: Declare process_pending_assemble_externals.
	* cgraphunit.c (cgraph_optimize): Call it.

	* config/h8300/h8300.h: Do not define ASM_OUTPUT_EXTERNAL.

From-SVN: r91914
2004-12-08 19:13:35 +00:00
Kazu Hirata b057216dba cfgloopmanip.c (create_preheader): Speed up by "unrolling" and simplifying FOR_EACH_EDGE.
* cfgloopmanip.c (create_preheader): Speed up by "unrolling"
	and simplifying FOR_EACH_EDGE.

From-SVN: r91913
2004-12-08 18:52:48 +00:00
Paolo Carlini d63a0e228c type_traits: Implement is_same, add_reference and remove_reference.
2004-12-08  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/type_traits: Implement is_same, add_reference and
	remove_reference.
	* testsuite/testsuite_tr1.h (test_relationship): New.
	* testsuite/tr1/4_metaprogramming/reference_modifications/
	add_reference.cc: New.
	* testsuite/tr1/4_metaprogramming/reference_modifications/
	remove_reference.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/relationships_between_types/
	is_same/is_same.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/relationships_between_types/
	is_same/typedefs.cc: Likewise.

	* testsuite/tr1/4_metaprogramming/type_properties/is_const/
	is_const.cc: Minor tweaks.
	* testsuite/tr1/4_metaprogramming/type_properties/is_volatile/
	is_volatile.cc: Likewise.

From-SVN: r91907
2004-12-08 16:33:51 +00:00