Commit Graph

64367 Commits

Author SHA1 Message Date
Kazu Hirata c431e4997f lcm.c (optimize_mode_switching): Free ptr even when mode_set is NULL_RTX.
* lcm.c (optimize_mode_switching): Free ptr even when mode_set
	is NULL_RTX.

From-SVN: r92044
2004-12-12 03:05:20 +00:00
Roger Sayle 00fc055e05 reg-stack.c (change_stack): Avoid placing the new top-of-stack in its correct location during popping if...
* reg-stack.c (change_stack): Avoid placing the new top-of-stack in
	its correct location during popping if we need to permute the stack
	afterwards.  Attempt to preserve the original stack ordering.

From-SVN: r92043
2004-12-12 01:41:27 +00:00
Kazu Hirata def6dcd75c lcm.c (optimize_mode_switching): Free insert and delete in the "for" loop.
* lcm.c (optimize_mode_switching): Free insert and delete in
	the "for" loop.

From-SVN: r92042
2004-12-12 01:11:34 +00:00
Tobias Schlüter 6ee42e0124 Fix date on ChangeLog, fix typo in function name
From-SVN: r92041
2004-12-12 01:56:30 +01:00
GCC Administrator 00887145f4 Daily bump.
From-SVN: r92039
2004-12-12 00:16:15 +00:00
Alexander Malmberg 64cbe55ee3 selector.c (__objc_init_selector_tables): Add missing void to definition.
2004-12-12  Alexander Malmberg  <alexander@malmberg.org>

        * selector.c (__objc_init_selector_tables): Add missing void to
        definition.

From-SVN: r92035
2004-12-11 15:26:00 -08:00
Paolo Carlini db5ff2363d type_traits: Implement rank.
2004-12-11  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/type_traits: Implement rank.
	* testsuite/testsuite_tr1.h (test_property): Generalize to any
	value_type.
	(test_category, test_relationship): Slightly tweak consistently.
	* testsuite/tr1/4_metaprogramming/type_properties/rank/
	rank.cc: New.
	* testsuite/tr1/4_metaprogramming/type_properties/rank/
	typedefs.cc: Likewise.

	* testsuite/tr1/4_metaprogramming/composite_type_traits/
	is_compound/is_compound.cc: New.
	* testsuite/tr1/4_metaprogramming/composite_type_traits/
	is_compound/typedefs.cc: Likewise.

	* testsuite/tr1/4_metaprogramming/composite_type_traits/
	is_arithmetic/is_arithmetic.cc: Tweak consistently with the
	testsuite_tr1.h changes.
	* testsuite/tr1/4_metaprogramming/composite_type_traits/
	is_fundamental/is_fundamental.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/primary_type_categories/
	is_array/is_array.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/primary_type_categories/
	is_floating_point/is_floating_point.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/primary_type_categories/
	is_integral/is_integral.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/primary_type_categories/
	is_reference/is_reference.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/primary_type_categories/
	is_void/is_void.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/relationships_between_types/
	is_same/is_same.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/type_properties/is_const/
	is_const.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/type_properties/is_volatile/
	is_volatile.cc: Likewise.

From-SVN: r92033
2004-12-11 21:46:27 +00:00
David Edelsohn 343f6bbf97 re PR middle-end/18641 (Another ICE caused by reload of a pseudo reg into f0 for a DImode expr)
2004-12-11  David Edelsohn  <edelsohn@gnu.org>
            Ulrich Weigand  <uweigand@de.ibm.com>

        PR target/18641
        * config/rs6000/darwin.h (PREFERRED_RELOAD_CLASS): Reload all
        constants into all register classes intersecting with FLOAT_REGS
        via memory.
        * config/rs6000/rs6000.h (PREFERRED_RELOAD_CLASS): Same.
        * config/rs6000/rs6000.md (movdi_internal32): Ignore FPRs when
        choosing register preferences.
        (movdi_internal64): Same.

Co-Authored-By: Ulrich Weigand <uweigand@de.ibm.com>

From-SVN: r92032
2004-12-11 12:37:25 -05:00
Kazu Hirata 3bb18f4921 tree-into-ssa.c (rewrite_ssa_into_ssa): Free SSA_NAME_AUX before we release an SSA_NAME.
* tree-into-ssa.c (rewrite_ssa_into_ssa): Free SSA_NAME_AUX
	before we release an SSA_NAME.

From-SVN: r92031
2004-12-11 15:58:51 +00:00
Roger Sayle ec7e2228d1 re PR middle-end/18921 (wrong code with operator "?")
PR middle-end/18921
	* fold-const.c (fold_unwidened_comparison): Use omit_one_operand
	instead of constant_boolean_node as arg0 may have side-effects.

	* gcc.dg/pr18921-1.c: New test case.

From-SVN: r92030
2004-12-11 13:46:37 +00:00
Tobias Schlüter 49e4d5803e re PR fortran/17175 (set_exponent breaks with integer*8 exponent)
fortran/
PR fortran/17175
* iresolve.c (gfc_resolve_scale): Convert 'I' argument if not of
same kind as C's 'int'.
(gfc_resolve_set_eponent): Convert 'I' argument if not of kind 4.

testsuite/
PR fortran/17175
* gfortran.dg/scale_1.f90: New test.

From-SVN: r92029
2004-12-11 12:06:31 +01:00
John David Anglin b990f4bcb8 pa-host.c (pa_gt_pch_use_address): Use lseek and read to copy PCH file to anonymous private map.
* pa-host.c (pa_gt_pch_use_address): Use lseek and read to copy PCH
	file to anonymous private map.

From-SVN: r92027
2004-12-11 02:08:26 +00:00
Roger Sayle 3e5bcef316 re PR target/18002 ('while' loop performace regression on avr target)
PR target/18002
	PR middle-end/18424
	* dojump.c (do_jump): When attempting to reverse the effects of
	fold_single_bit_test, we need to STRIP_NOPS and narrowing type
	conversions, and handle BIT_XOR_EXPR that's used to invert the
	sense of the single bit test.

From-SVN: r92024
2004-12-11 01:49:05 +00:00
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