Commit Graph

89935 Commits

Author SHA1 Message Date
Richard Guenther 47af7a5c5f re PR tree-optimization/37145 (XFAILs from PRE rewrite, SCCVN union optimization disabled)
2008-09-22  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/37145
	* tree-ssa-pre.c (fully_constant_expression): Simplify builtin calls.
	(phi_translate_1): Constant fold references.

	* gcc.dg/tree-ssa/ssa-pre-15.c: Remove XFAIL.

From-SVN: r140547
2008-09-22 11:53:29 +00:00
Janus Weil f613cea7fc re PR fortran/37486 (alignment of data in COMMON blocks)
2008-09-22  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/37486
	* gfortran.h (gfc_option_t): New members flag_align_commons and
	warn_align_commons. 
	* lang.opt: New options falign-commons and Walign-commons.
	* invoke.texi: Documentation for new options.
	* options.c (gfc_init_options): Initialize new options.
	(gfc_handle_options): Handle new options.
	* trans-common.c (translate_common): Implement new options.
	(gfc_trans_common): Set correct locus.


2008-09-22  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/37486
	* gfortran.dg/common_align_1.f90: New.
	* gfortran.dg/warn_align_commons.f90: New.

From-SVN: r140546
2008-09-22 13:45:02 +02:00
Olivier Hainque 22868cbf56 decl.c (gnat_to_gnu_entity): Even when they are never assigned...
* gcc-interface/decl.c (gnat_to_gnu_entity): Even when they
        are never assigned, volatile entities are not constant for code
        generation purposes.

        * gnat.dg/volatile3.adb: New test.

From-SVN: r140545
2008-09-22 10:29:29 +00:00
Ira Rosen 5e038cad0b re PR tree-optimization/37482 (definition in block 51 follows the use for SSA_NAME with -maltivec)
PR tree-optimization/37482
	* tree-vectorizer.h (struct _slp_instance): Add new field.
	(SLP_INSTANCE_FIRST_LOAD_STMT): New.
	(get_earlier_stmt): New function.
	* tree-vect-analyze.c (vect_find_first_load_in_slp_instance): New
	function.
	(vect_analyze_slp_instance): Set SLP_INSTANCE_FIRST_LOAD_STMT.
	* tree-vect-transform.c (vect_finish_stmt_generation): Remove the
	asserts that GSI points to the scalar statement being vectorized.
	Set new statement location according to GSI.
	(vect_schedule_slp_instance): Use GSI of
	SLP_INSTANCE_FIRST_LOAD_STMT when vectorizing loads.

From-SVN: r140544
2008-09-22 07:55:39 +00:00
Jan Hubicka c801c273a6 ipa-cp.c (ipcp_estimate_growth): Check recursive calls.
* ipa-cp.c (ipcp_estimate_growth): Check recursive calls.
	(ipcp_insert_stage): Update dead_nodes bitmap.

From-SVN: r140542
2008-09-22 04:24:28 +00:00
Danny Smith d59e481e05 re PR target/37528 (boostrap failure due to configure problems)
PR target/37528	
	* config/i386/t-cygming (SHLIB_LC): Remove.
	(SHLIB_LINK): Don't add static objects to SHLIB_IMPLIB
	* config/i386/t-cygwin (SHLIB_LC): Specify all required
	libraries.

From-SVN: r140541
2008-09-22 02:56:50 +00:00
Hans-Peter Nilsson 187fcb85b6 re PR target/37170 (gcc.dg/weak/weak-1.c)
PR middle-end/37170
	PR middle-end/37280
	* gcc.dg/weak/weak-15.c, gcc.dg/weak/weak-16.c,
	g++.dg/ext/inline1.C: New tests.

From-SVN: r140540
2008-09-22 01:54:41 +00:00
Hans-Peter Nilsson c70d0414af re PR target/37170 (gcc.dg/weak/weak-1.c)
PR middle-end/37170
	PR middle-end/37280
	* final.c (mark_symbol_ref_as_used): New helper function.
	(output_operand): Instead of just looking inside MEMs for
	SYMBOL_REFs, use new helper function and for_each_rtx.
	* varasm.c (assemble_external): Move #ifndef ASM_OUTPUT_EXTERNAL
	to after weak-handling.  Don't mark decls with TREE_STATIC as weak.
	Make head comment more general.
	* config/darwin.c (machopic_output_indirection): Handle weak
	references here, like in assemble_external.

From-SVN: r140539
2008-09-22 01:54:03 +00:00
GCC Administrator df969fc7a3 Daily bump.
From-SVN: r140537
2008-09-22 00:16:31 +00:00
Kaz Kojima b2530b05e8 re PR rtl-optimization/33642 (unrecognizable insn for -frtl-abstract-sequences)
PR rtl-optimization/33642
	* gcc.c-torture/compile/pr11832.c: XFAIL on sh*-*-*.
	* gcc.c-torture/compile/pr33009.c: Likewise.

From-SVN: r140534
2008-09-21 22:37:16 +00:00
Paul Thomas ecd3b73c6d re PR fortran/37583 (ICE "insert_bbt(): Duplicate key" for self-calling ENTRY subprogram)
2008-09-21  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/37583
	* decl.c (scalarize_intrinsic_call): Both subroutines and
	functions can give a true for get_proc_mame's last argument so
	remove the &&gfc_current_ns->proc_name->attr.function.
	resolve.c (resolve_actual_arglist): Add check for recursion by
	reference to procedure as actual argument.

2008-09-21  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/37583
	* gfortran.dg/entry_18.f90: New test.

From-SVN: r140532
2008-09-21 19:58:23 +00:00
Eric Botcazou 19047e4a03 sparc-protos.h (gen_compare_operator): Declare.
* config/sparc/sparc-protos.h (gen_compare_operator): Declare.
	(sparc_emit_float_lib_cmp): Change return type.
	* config/sparc/sparc.c (gen_compare_reg): Add comment about TFmode.
	(gen_compare_operator): New function.
	(sparc_emit_float_lib_cmp): Return the new operator to be used in
	the comparison sequence.  Minor tweaks.
	* config/sparc/sparc.md (seq, sne, sgt, slt, sge, sle): Assert
	that the final operator and the result of sparc_emit_float_lib_cmp
	match for software TFmode; use emit_insn in lieu of emit_jump_insn.
	(beq, bne, bgt, blt, bge, ble, bunordered, bordered, bungt, bunlt,
	buneq, bunge, bunle, bltgt): Assert that the final operator and the
	result of sparc_emit_float_lib_cmp match for software TFmode.
	(movqicc, movhicc, movsicc, movdicc): Merge into...
	(mov<I:mode>cc): ...this.
	(movsfcc, movdfcc, movtfcc): Merge into...
	(mov<F:mode>cc): ...this.
	(movqi_cc_sp64, movhi_cc_sp64, movsi_cc_sp64, movdi_cc_sp64): Merge
	into...
	(mov<I:mode>_cc_v9): ...this.
	(movdi_cc_sp64_trunc): Delete.
	(movqi_cc_reg_sp64, movhi_cc_reg_sp64, movsi_cc_reg_sp64,
	movdi_cc_reg_sp64): Merge into...
	(mov<I:mode>_cc_reg_sp64): ...this.
	(movsf_cc_sp64): Rename into...
	(movsf_cc_v9): ...this.
	(movdf_cc_sp64): Rename into...
	(movdf_cc_v9): ...this.
	(movtf_cc_hq_sp64): Rename into...
	(movtf_cc_hq_v9): ...this.
	(movtf_cc_sp64): Rename into...
	(movtf_cc_v9): ...this.  Adjust for renaming of movdf_cc_sp64.

From-SVN: r140530
2008-09-21 19:25:48 +00:00
Daniel Kraft 4b7f8314ba re PR fortran/35846 (ICE on nested character constructors)
2008-09-21  Daniel Kraft  <d@domob.eu>

	PR fortran/35846
	* trans.h (gfc_conv_string_length): New argument `expr'.
	* trans-expr.c (flatten_array_ctors_without_strlen): New method.
	(gfc_conv_string_length): New argument `expr' that is used in a new
	special case handling if cl->length is NULL.
	(gfc_conv_subref_array_arg): Pass expr to gfc_conv_string_length.
	* trans-array.c (gfc_conv_expr_descriptor): Ditto.
	(gfc_trans_auto_array_allocation): Pass NULL as new expr.
	(gfc_trans_g77_array), (gfc_trans_dummy_array_bias): Ditto.
	(gfc_trans_deferred_array): Ditto.
	(gfc_trans_array_constructor): Save and restore old values of globals
	used for bounds checking.
	* trans-decl.c (gfc_trans_dummy_character): Ditto.
	(gfc_trans_auto_character_variable): Ditto.

2008-09-21  Daniel Kraft  <d@domob.eu>

	PR fortran/35846
	* gfortran.dg/nested_array_constructor_1.f90: New test.
	* gfortran.dg/nested_array_constructor_2.f90: New test.
	* gfortran.dg/nested_array_constructor_3.f90: New test.
	* gfortran.dg/nested_array_constructor_4.f90: New test.
	* gfortran.dg/nested_array_constructor_5.f90: New test.
	* gfortran.dg/nested_array_constructor_6.f90: New test.

From-SVN: r140529
2008-09-21 17:33:37 +02:00
Daniel Kraft 74a9b89764 decl.c (match_procedure_in_type): Changed misleading error message for not yet implemented PROCEDURE(interface)...
2008-09-21  Daniel Kraft  <d@domob.eu>

	* decl.c (match_procedure_in_type): Changed misleading error message
	for not yet implemented PROCEDURE(interface) syntax.

2008-09-21  Daniel Kraft  <d@domob.eu>

	* gfortran.dg/typebound_proc_4.f03: Changed expected error for not
	yet implemented PROCEDURE(interface).

From-SVN: r140528
2008-09-21 17:24:55 +02:00
Diego Novillo e6c99067cb gccint.texi: Include generic.texi and gimple.texi.
2008-09-21  Diego Novillo  <dnovillo@google.com>

	* doc/gccint.texi: Include generic.texi and gimple.texi.
	Re-order index.
	* doc/tree-ssa.texi (GENERIC): Move to generic.texi.
	(GIMPLE): Move to gimple.texi.
	(Annotations): Remove references to to stmt_ann_t and
	ssa_name_ann_t.
	(SSA Operands): Rename from 'Statement Operands'.
	* doc/generic.texi: New.
	* doc/gimple.texi: New.
	* Makefile.in (TEXI_GCCINT_FILES): Add generic.texi and
	gimple.texi.
	* Makefile.in (TEXI_GCCINT_FILES):
	* gimple.c (gimple_copy_call_skip_args): Rename from
	giple_copy_call_skip_args.  Update all users.
	* doc/gimple.texi (gimple_copy_call_skip_args): Document.

From-SVN: r140527
2008-09-21 11:05:14 -04:00
Steven Bosscher 9453804343 * MAINTAINERS: Add myself in "Write After Approval".
From-SVN: r140526
2008-09-21 12:15:42 +00:00
Laurent GUERBY 7193e63927 re PR ada/5911 (Support for multilib in Ada)
2008-09-21  Laurent Guerby  <laurent@guerby.net>

        PR ada/5911
	* gcc-interface/Makefile.in: Add multilib handling for x86_64
	and sparc.
	* system-linux-sparcv9.ads: New file.
	
2008-09-21  Laurent Guerby  <laurent@guerby.net>
            Paolo Bonzini  <bonzini@gnu.org>
	
	PR ada/5911
	* Makefile.in (all, install, mostlyclean, clean, distclean): Add
	multilib handling.
	* configure.ac: Add multilib handling.
	* configure: Regenerate.


Co-Authored-By: Paolo Bonzini <bonzini@gnu.org>

From-SVN: r140525
2008-09-21 11:45:23 +00:00
Paolo Carlini aa4652fac0 stl_algo.h (minmax(initializer_list<>): Use make_pair, consistently with the other overload for initializer_list.
2008-09-21  Paolo Carlini  <paolo.carlini@oracle.com>

 	* include/bits/stl_algo.h (minmax(initializer_list<>): Use make_pair,
	consistently with the other overload for initializer_list.

From-SVN: r140524
2008-09-21 09:36:27 +00:00
Ira Rosen 5abf386014 re PR tree-optimization/37539 (Hang for -O3)
PR tree-optimization/37539
	* tree-vect-transform.c (vect_transform_strided_load): Save vector
	statement in related statement field only for the first load of the
	group of loads with the same data reference.

From-SVN: r140522
2008-09-21 08:36:07 +00:00
Adam Nemet ce00be9ede mips.h (TUNE_OCTEON): New macro.
* config/mips/mips.h (TUNE_OCTEON): New macro.
	* config/mips/mips.c (mips_issue_rate): Return 2 for Octeon.
	(mips_multipass_dfa_lookahead): Return 2 for Octeon.
	* config/mips/octeon.md: New file.
	* config/mips/mips.md: Include octeon.md.  Restore
	semi-alphabetical order of include files.

From-SVN: r140521
2008-09-21 06:15:52 +00:00
GCC Administrator 4881ceecf3 Daily bump.
From-SVN: r140519
2008-09-21 00:16:39 +00:00
Eric Botcazou 9db2221827 re PR rtl-optimization/33642 (unrecognizable insn for -frtl-abstract-sequences)
PR rtl-optimization/33642
	* gcc.c-torture/compile/pr11832.c: XFAIL on SPARC.
	* gcc.c-torture/compile/pr33009.c: Likewise.

From-SVN: r140516
2008-09-20 19:15:19 +00:00
H.J. Lu 5a73c47600 re PR target/37571 (Performance regression due to compare/branch fuse optimization)
2008-09-20  H.J. Lu  <hongjiu.lu@intel.com>

	PR target/37571
	* config/i386/i386.md (*jcc_fused_1): Removed.
	(*jcc_fused_2): Likewise.
	(*jcc_fused_3): Likewise.
	(*jcc_fused_4): Likewise.

From-SVN: r140514
2008-09-20 08:07:46 -07:00
Eric Botcazou 7fda15966e exp_dbug.ads: Document new convention for the XVZ variable.
* exp_dbug.ads: Document new convention for the XVZ variable.
	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Generate
	debug info if necessary for the type padding the component type.
	<E_Array_Subtype>: Likewise.
	(maybe_pad_type): Emit the XVZ variable in units.
	* gcc-interface/trans.c (Loop_Statement_to_gnu): Fix formatting nits.
	(Subprogram_Body_to_gnu): Set the source line of the subprogram's node
	on statements generated to initialize the parameter attributes cache.
	Set the source line of the end label of the body on the special return
	statement built for a procedure with copy-in copy-out parameters.

From-SVN: r140513
2008-09-20 10:29:08 +00:00
Richard Sandiford 76e68dca26 tm.texi (TARGET_IRA_COVER_CLASSES): Define.
gcc/
	* doc/tm.texi (TARGET_IRA_COVER_CLASSES): Define.
	(IRA_COVER_CLASSES): Refer to TARGET_IRA_COVER_CLASSES.
	* target.h (gcc_target): Add ira_cover_classes.
	* ira.c: Remove IRA_COVER_CLASSES guards.
	(setup_cover_and_important_classes): Use targetm.ira_cover_classes
	instead of IRA_COVER_CLASSES.
	(setup_cover_and_important_classes): Remove IRA_COVER_CLASSES guard.
	(setup_class_translate): Likewise.
	(setup_reg_class_intersect_union): Likewise.
	(find_reg_class_closure): Replace IRA_COVER_CLASSES guard with a
	test of targetm.ira_cover_classes.
	* opts.c (decode_options): Use targetm.ira_cover_classes instead
	of IRA_COVER_CLASSES.
	* target-def.h (TARGET_IRA_COVER_CLASSES): Define.
	(TARGET_INITIALIZER): Include it.
	* targhooks.h (default_ira_cover_classes): Declare.
	* targhooks.c (default_ira_cover_classes): New function.

From-SVN: r140512
2008-09-20 09:15:43 +00:00
Eric Botcazou d84b344a6c re PR ada/37585 (undefined references at -O for ACATS c650001)
PR ada/37585
	* gcc-interface/utils.c (create_subprog_decl): Disable inlining for
	inlined external functions if they contain a nested function not
	declared inline.

From-SVN: r140511
2008-09-20 08:41:55 +00:00
Bob Wilson 398857e4fb * config/xtensa/xtensa.md (reload<mode>_literal): Handle MEM operands.
From-SVN: r140509
2008-09-20 02:43:00 +00:00
GCC Administrator b680c09618 Daily bump.
From-SVN: r140507
2008-09-20 00:16:57 +00:00
Ian Lance Taylor acafbcde95 varasm.c (narrowing_initializer_constant_valid_p): Return NULL_TREE if ENDTYPE is not an integer.
* varasm.c (narrowing_initializer_constant_valid_p): Return
	NULL_TREE if ENDTYPE is not an integer.

From-SVN: r140502
2008-09-19 22:30:12 +00:00
Andrew Pinski f22b7039d8 re PR tree-optimization/30930 (vector can cause to create an extra variable, DECL_GIMPLE_REG_P not recomputed)
2008-09-19  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR tree-opt/30930
        * tree-ssa.c (execute_update_addresses_taken): Also update
        DECL_GIMPLE_REG_P for vector and complex types.


2008-09-19  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR tree-opt/30930
        * gcc.dg/tree-ssa/vector-2.c: New test.
        * gcc.dg/tree-ssa/vector-3.c: New test.

From-SVN: r140501
2008-09-19 15:24:06 -07:00
Andreas Tobler 8c3b36006d Fix typo s/darwin/bsd
From-SVN: r140498
2008-09-19 22:28:53 +02:00
Jakub Jelinek e2b3410665 proc.c: New file.
2008-09-19  Jakub Jelinek  <jakub@redhat.com>
	    Andreas Tobler  <a.tobler@schweiz.org>

	* config/bsd/proc.c: New file.
	* configure.tgt (*-*-darwin*): Use config_path "darwin posix".
	* configure.ac: Check for header <sys/sysctl.h>
	* configure: Regenerate.
	* config.h.in: Likewise.

Co-Authored-By: Andreas Tobler <a.tobler@schweiz.org>

From-SVN: r140497
2008-09-19 22:27:11 +02:00
Andrew MacLeod 60ffe2fe5e re PR middle-end/37567 (tree SSA to normal checking takes abnormally long time)
PR middle-end/37567
	* tree-ssa-ter.c (free_temp_expr_table): Make sure fields are actually
	empty before freeing them.
	(find_replaceable_exprs): Move asserts to free_temp_expr_table.


Co-Authored-By: Jan Hubicka <jh@suse.cz>

From-SVN: r140494
2008-09-19 17:37:13 +00:00
Johannes Singler c38b84d8f1 re PR libstdc++/37470 (parallel/base.h log2 conflicts with math.h)
2008-09-19  Johannes Singler  <singler@ira.uka.de>

        PR libstdc++/37470
        * include/parallel/base.h: Rename log2 to __log2.
          (__log2) Avoid infinite loop for n <= 0, return 0.
        * include/parallel/losertree.h: Rename log2 to __log2.
        * include/parallel/multiseq_selection.h: Likewise.
        * include/parallel/random_shuffle.h: Likewise.

From-SVN: r140490
2008-09-19 11:37:16 +00:00
Bob Wilson 6a7a462cbf configure.ac: Add HAVE_AS_TLS check for Xtensa.
* configure.ac: Add HAVE_AS_TLS check for Xtensa.
	* config/xtensa/predicates.md (tls_symbol_operand): New.
	* config/xtensa/xtensa.c (TARGET_HAVE_TLS): Define.
	(TARGET_CANNOT_FORCE_MEM): Define.
	(xtensa_tls_symbol_p): New.
	(xtensa_emit_move_sequence): Check for and legitimize TLS addresses.
	(xtensa_legitimate_address_p): Disallow constant pool TLS references.
	(xtensa_tls_module_base): New.
	(xtensa_call_tls_desc): New.
	(xtensa_legitimize_tls_address): New.
	(xtensa_legitimize_address): Handle TLS symbols.
	(xtensa_tls_referenced_p_1): New.
	(xtensa_tls_referenced_p): New.
	(xtensa_output_addr_const_extra): Handle UNSPEC_TPOFF and UNSPEC_DTPOFF.
	(XTENSA_BUILTIN_THREAD_POINTER): New.
	(XTENSA_BUILTIN_SET_THREAD_POINTER): New.
	(xtensa_init_builtins): Set NOTHROW and READONLY for umulsidi3 builtin.
	Add declarations for __builtin_thread_pointer and
	__builtin_set_thread_pointer.
	(xtensa_fold_builtin): Recognize new builtins.
	(xtensa_expand_builtin): Expand new builtins.
	* config/xtensa/xtensa.h (XCHAL_HAVE_THREADPTR): Define default value.
	(TARGET_THREADPTR): Define.
	(HAVE_AS_TLS): Define default value.
	(LEGITIMATE_CONSTANT_P): Disallow TLS references.
	* config/xtensa/xtensa.md (UNSPEC_TPOFF, UNSPEC_DTPOFF): New.
	(UNSPEC_TLS_FUNC, UNSPEC_TLS_ARG, UNSPEC_TLS_CALL, UNSPEC_TP): New.
	(UNSPECV_SET_TP): New.
	(sym_TPOFF, sym_DTPOFF): New.
	(load_tp, set_tp, tls_func, tls_arg, tls_call): New.
	* config/xtensa/xtensa-protos.h (xtensa_tls_referenced_p): Declare.
	* configure: Regenerated.

From-SVN: r140482
2008-09-19 00:18:42 +00:00
GCC Administrator 342f11d55a Daily bump.
From-SVN: r140480
2008-09-19 00:16:37 +00:00
Bob Wilson 5448552def pr11832.c: xfail on xtensa*-*-*.
* gcc.c-torture/compile/pr11832.c: xfail on xtensa*-*-*.
	* gcc.c-torture/compile/pr33009.c: Likewise.

From-SVN: r140477
2008-09-19 00:16:04 +00:00
Janis Johnson 48ca24b27a re PR testsuite/25241 ([C++] DejaGNU does not distinguish between errors and warnings)
PR testsuite/25241
	* lib/g++.exp (g++_init): Enable overrides of dg-error, dg-warning
	for C++ tests.
	* g++.dg/conversion/ambig1.C: Clean up dg-error/dg-warning; use
	dg-message for notes.
	* g++.dg/conversion/simd1.C: Ditto.
	* g++.dg/conversion/simd3.C: Ditto.
	* g++.dg/cpp0x/rv2n.C: Ditto.
	* g++.dg/cpp0x/rv3n.C: Ditto.
	* g++.dg/cpp0x/rv4n.C: Ditto.
	* g++.dg/cpp0x/rv5n.C: Ditto.
	* g++.dg/cpp0x/rv6n.C: Ditto.
	* g++.dg/cpp0x/rv7n.C: Ditto.
	* g++.dg/cpp0x/variadic36.C: Ditto.
	* g++.dg/cpp0x/variadic59.C: Ditto.
	* g++.dg/cpp0x/variadic71.C: Ditto.
	* g++.dg/cpp0x/variadic-ex13.C: Ditto.
	* g++.dg/expr/cond9.C: Ditto.
	* g++.dg/expr/pmf-1.C: Ditto.
	* g++.dg/ext/case-range2.C: Ditto.
	* g++.dg/ext/case-range3.C: Ditto.
	* g++.dg/ext/is_class_error2.C: Ditto.
	* g++.dg/ext/label5.C: Ditto.
	* g++.dg/ext/pr27019.C: Ditto.
	* g++.dg/gomp/pr26690-1.C: Ditto.
	* g++.dg/gomp/pr26690-2.C: Ditto.
	* g++.dg/gomp/pr34694.C: Ditto.
	* g++.dg/gomp/tpl-parallel-2.C: Ditto.
	* g++.dg/inherit/base3.C: Ditto.
	* g++.dg/inherit/using6.C: Ditto.
	* g++.dg/init/brace6.C: Ditto.
	* g++.dg/init/ctor4.C: Ditto.
	* g++.dg/lookup/conv-1.C: Ditto.
	* g++.dg/lookup/new1.C: Ditto.
	* g++.dg/lookup/scoped6.C: Ditto.
	* g++.dg/lookup/using7.C: Ditto.
	* g++.dg/lookup/using9.C: Ditto.
	* g++.dg/other/abstract1.C: Ditto.
	* g++.dg/other/abstract2.C: Ditto.
	* g++.dg/other/anon5.C: Ditto.
	* g++.dg/other/crash-4.C: Ditto.
	* g++.dg/other/error10.C: Ditto.
	* g++.dg/other/error13.C: Ditto.
	* g++.dg/other/error20.C: Ditto.
	* g++.dg/other/error5.C: Ditto.
	* g++.dg/other/field1.C: Ditto.
	* g++.dg/other/offsetof5.C: Ditto.
	* g++.dg/other/semicolon.C: Ditto.
	* g++.dg/overload/ambig1.C: Ditto.
	* g++.dg/overload/arg3.C: Ditto.
	* g++.dg/overload/builtin1.C: Ditto.
	* g++.dg/overload/copy1.C: Ditto.
	* g++.dg/overload/new1.C: Ditto.
	* g++.dg/overload/template4.C: Ditto.
	* g++.dg/overload/using2.C: Ditto.
	* g++.dg/parse/bitfield2.C: Ditto.
	* g++.dg/parse/constant4.C: Ditto.
	* g++.dg/parse/crash20.C: Ditto.
	* g++.dg/parse/crash36.C: Ditto.
	* g++.dg/parse/crash5.C: Ditto.
	* g++.dg/parse/error11.C: Ditto.
	* g++.dg/parse/error12.C: Ditto.
	* g++.dg/parse/error19.C: Ditto.
	* g++.dg/parse/error28.C: Ditto.
	* g++.dg/parse/friend5.C: Ditto.
	* g++.dg/parse/invalid-op1.C: Ditto.
	* g++.dg/parse/missing-template1.C: Ditto.
	* g++.dg/parse/non-dependent2.C: Ditto.
	* g++.dg/parse/ret-type2.C: Ditto.
	* g++.dg/parse/specialization1.C: Ditto.
	* g++.dg/parse/template18.C: Ditto.
	* g++.dg/parse/template3.C: Ditto.
	* g++.dg/parse/template9.C: Ditto.
	* g++.dg/tc1/dr108.C: Ditto.
	* g++.dg/tc1/dr152.C: Ditto.
	* g++.dg/tc1/dr166.C: Ditto.
	* g++.dg/template/access11.C: Ditto.
	* g++.dg/template/access2.C: Ditto.
	* g++.dg/template/access3.C: Ditto.
	* g++.dg/template/access7.C: Ditto.
	* g++.dg/template/copy1.C: Ditto.
	* g++.dg/template/crash13.C: Ditto.
	* g++.dg/template/crash37.C: Ditto.
	* g++.dg/template/crash40.C: Ditto.
	* g++.dg/template/crash58.C: Ditto.
	* g++.dg/template/ctor5.C: Ditto.
	* g++.dg/template/dependent-expr5.C: Ditto.
	* g++.dg/template/eh2.C: Ditto.
	* g++.dg/template/error2.C: Ditto.
	* g++.dg/template/error33.C: Ditto.
	* g++.dg/template/error4.C: Ditto.
	* g++.dg/template/friend31.C: Ditto.
	* g++.dg/template/friend32.C: Ditto.
	* g++.dg/template/instantiate1.C: Ditto.
	* g++.dg/template/instantiate3.C: Ditto.
	* g++.dg/template/instantiate5.C: Ditto.
	* g++.dg/template/instantiate7.C: Ditto.
	* g++.dg/template/local6.C: Ditto.
	* g++.dg/template/lookup2.C: Ditto.
	* g++.dg/template/member5.C: Ditto.
	* g++.dg/template/memfriend15.C: Ditto.
	* g++.dg/template/memfriend16.C: Ditto.
	* g++.dg/template/memfriend17.C: Ditto.
	* g++.dg/template/memfriend7.C: Ditto.
	* g++.dg/template/meminit1.C: Ditto.
	* g++.dg/template/nested3.C: Ditto.
	* g++.dg/template/new3.C: Ditto.
	* g++.dg/template/nontype12.C: Ditto.
	* g++.dg/template/nontype13.C: Ditto.
	* g++.dg/template/nontype6.C: Ditto.
	* g++.dg/template/non-type-template-argument-1.C: Ditto.
	* g++.dg/template/overload9.C: Ditto.
	* g++.dg/template/ptrmem15.C: Ditto.
	* g++.dg/template/ptrmem17.C: Ditto.
	* g++.dg/template/ptrmem4.C: Ditto.
	* g++.dg/template/ptrmem6.C: Ditto.
	* g++.dg/template/ptrmem8.C: Ditto.
	* g++.dg/template/qualified-id1.C: Ditto.
	* g++.dg/template/qualttp20.C: Ditto.
	* g++.dg/template/qualttp3.C: Ditto.
	* g++.dg/template/qualttp4.C: Ditto.
	* g++.dg/template/qualttp5.C: Ditto.
	* g++.dg/template/qualttp6.C: Ditto.
	* g++.dg/template/qualttp7.C: Ditto.
	* g++.dg/template/qualttp8.C: Ditto.
	* g++.dg/template/recurse.C: Ditto.
	* g++.dg/template/sfinae10.C: Ditto.
	* g++.dg/template/sfinae3.C: Ditto.
	* g++.dg/template/spec22.C: Ditto.
	* g++.dg/template/spec23.C: Ditto.
	* g++.dg/template/static9.C: Ditto.
	* g++.dg/template/template-id-2.C: Ditto.
	* g++.dg/template/typename2.C: Ditto.
	* g++.dg/template/typename4.C: Ditto.
	* g++.dg/template/using14.C: Ditto.
	* g++.dg/template/using2.C: Ditto.
	* g++.dg/template/warn1.C: Ditto.
	* g++.dg/warn/incomplete1.C: Ditto.
	* g++.dg/warn/noeffect2.C: Ditto.
	* g++.dg/warn/noeffect4.C: Ditto.
	* g++.dg/warn/pr8570.C: Ditto.
	* g++.dg/warn/Wparentheses-13.C: Ditto.
	* g++.dg/warn/Wparentheses-15.C: Ditto.
	* g++.dg/warn/Wparentheses-16.C: Ditto.
	* g++.dg/warn/Wparentheses-17.C: Ditto.
	* g++.dg/warn/Wparentheses-18.C: Ditto.
	* g++.dg/warn/Wparentheses-19.C: Ditto.
	* g++.dg/warn/Wparentheses-20.C: Ditto.
	* g++.dg/warn/Wparentheses-23.C: Ditto.
	* g++.dg/warn/Wstrict-aliasing-3.C: Ditto.
	* g++.old-deja/g++.benjamin/15799.C: Ditto.
	* g++.old-deja/g++.benjamin/15800-1.C: Ditto.
	* g++.old-deja/g++.benjamin/16077.C: Ditto.
	* g++.old-deja/g++.bob/inherit2.C: Ditto.
	* g++.old-deja/g++.brendan/ambiguity1.C: Ditto.
	* g++.old-deja/g++.brendan/crash29.C: Ditto.
	* g++.old-deja/g++.brendan/crash48.C: Ditto.
	* g++.old-deja/g++.brendan/crash56.C: Ditto.
	* g++.old-deja/g++.brendan/cvt3.C: Ditto.
	* g++.old-deja/g++.brendan/overload1.C: Ditto.
	* g++.old-deja/g++.brendan/overload4.C: Ditto.
	* g++.old-deja/g++.brendan/overload9.C: Ditto.
	* g++.old-deja/g++.bugs/900127_01.C: Ditto.
	* g++.old-deja/g++.bugs/900205_04.C: Ditto.
	* g++.old-deja/g++.bugs/900330_02.C: Ditto.
	* g++.old-deja/g++.bugs/900404_03.C: Ditto.
	* g++.old-deja/g++.bugs/900514_03.C: Ditto.
	* g++.old-deja/g++.eh/ctor1.C: Ditto.
	* g++.old-deja/g++.eh/spec6.C: Ditto.
	* g++.old-deja/g++.ext/overload1.C: Ditto.
	* g++.old-deja/g++.jason/conversion11.C: Ditto.
	* g++.old-deja/g++.jason/crash3.C: Ditto.
	* g++.old-deja/g++.jason/lineno3.C: Ditto.
	* g++.old-deja/g++.jason/lineno4.C: Ditto.
	* g++.old-deja/g++.jason/opeq3.C: Ditto.
	* g++.old-deja/g++.jason/overload16.C: Ditto.
	* g++.old-deja/g++.jason/overload28.C: Ditto.
	* g++.old-deja/g++.jason/pmf5.C: Ditto.
	* g++.old-deja/g++.jason/scoping10.C: Ditto.
	* g++.old-deja/g++.jason/template30.C: Ditto.
	* g++.old-deja/g++.jason/temporary2.C: Ditto.
	* g++.old-deja/g++.jason/tredecl4.C: Ditto.
	* g++.old-deja/g++.law/arg11.C: Ditto.
	* g++.old-deja/g++.law/arg1.C: Ditto.
	* g++.old-deja/g++.law/arm9.C: Ditto.
	* g++.old-deja/g++.law/ctors11.C: Ditto.
	* g++.old-deja/g++.law/ctors17.C: Ditto.
	* g++.old-deja/g++.law/ctors5.C: Ditto.
	* g++.old-deja/g++.law/ctors9.C: Ditto.
	* g++.old-deja/g++.law/enum4.C: Ditto.
	* g++.old-deja/g++.law/missed-error2.C: Ditto.
	* g++.old-deja/g++.law/operators9.C: Ditto.
	* g++.old-deja/g++.mike/net22.C: Ditto.
	* g++.old-deja/g++.mike/net2.C: Ditto.
	* g++.old-deja/g++.mike/p11110.C: Ditto.
	* g++.old-deja/g++.mike/p1989.C: Ditto.
	* g++.old-deja/g++.mike/p2431.C: Ditto.
	* g++.old-deja/g++.mike/p438.C: Ditto.
	* g++.old-deja/g++.mike/p807a.C: Ditto.
	* g++.old-deja/g++.mike/p9068.C: Ditto.
	* g++.old-deja/g++.niklas/t120.C: Ditto.
	* g++.old-deja/g++.niklas/t121.C: Ditto.
	* g++.old-deja/g++.niklas/t128.C: Ditto.
	* g++.old-deja/g++.ns/overload2.C: Ditto.
	* g++.old-deja/g++.ns/template13.C: Ditto.
	* g++.old-deja/g++.ns/using12.C: Ditto.
	* g++.old-deja/g++.oliva/delete1.C: Ditto.
	* g++.old-deja/g++.oliva/overload1.C: Ditto.
	* g++.old-deja/g++.other/crash24.C: Ditto.
	* g++.old-deja/g++.other/crash25.C: Ditto.
	* g++.old-deja/g++.other/decl3.C: Ditto.
	* g++.old-deja/g++.other/expr1.C: Ditto.
	* g++.old-deja/g++.other/overcnv2.C: Ditto.
	* g++.old-deja/g++.other/overload11.C: Ditto.
	* g++.old-deja/g++.other/pmf3.C: Ditto.
	* g++.old-deja/g++.other/ptrmem7.C: Ditto.
	* g++.old-deja/g++.other/vaarg3.C: Ditto.
	* g++.old-deja/g++.other/volatile1.C: Ditto.
	* g++.old-deja/g++.pt/assign1.C: Ditto.
	* g++.old-deja/g++.pt/auto_ptr.C: Ditto.
	* g++.old-deja/g++.pt/const2.C: Ditto.
	* g++.old-deja/g++.pt/crash10.C: Ditto.
	* g++.old-deja/g++.pt/crash20.C: Ditto.
	* g++.old-deja/g++.pt/crash36.C: Ditto.
	* g++.old-deja/g++.pt/crash38.C: Ditto.
	* g++.old-deja/g++.pt/derived3.C: Ditto.
	* g++.old-deja/g++.pt/error2.C: Ditto.
	* g++.old-deja/g++.pt/explicit34.C: Ditto.
	* g++.old-deja/g++.pt/explicit70.C: Ditto.
	* g++.old-deja/g++.pt/friend23.C: Ditto.
	* g++.old-deja/g++.pt/ptrmem10.C: Ditto.
	* g++.old-deja/g++.pt/redecl1.C: Ditto.
	* g++.old-deja/g++.pt/spec35.C: Ditto.
	* g++.old-deja/g++.pt/t05.C: Ditto.
	* g++.old-deja/g++.pt/typename3.C: Ditto.
	* g++.old-deja/g++.pt/typename6.C: Ditto.
	* g++.old-deja/g++.pt/unify8.C: Ditto.
	* g++.old-deja/g++.pt/vaarg3.C: Ditto.
	* g++.old-deja/g++.robertl/eb109.C: Ditto.
	* g++.old-deja/g++.robertl/eb131.C: Ditto.
	* g++.old-deja/g++.robertl/eb22.C: Ditto.
	* g++.old-deja/g++.robertl/eb44.C: Ditto.
	* g++.old-deja/g++.robertl/eb4.C: Ditto.
	* g++.old-deja/g++.robertl/eb69.C: Ditto.
	* g++.dg/parse/constructor1.C: Remove "error" from dg-error, preserving
	column number.
	* g++.dg/parse/error10.C: Ditto.
	* g++.dg/parse/error13.C: Ditto.
	* g++.dg/parse/error14.C: Ditto.
	* g++.dg/parse/error15.C: Ditto.
	* g++.dg/parse/error16.C: Ditto.
	* g++.dg/parse/error17.C: Ditto.
	* g++.dg/parse/error18.C: Ditto.
	* g++.dg/parse/error1.C: Ditto.
	* g++.dg/parse/error20.C: Ditto.
	* g++.dg/parse/error21.C: Ditto.
	* g++.dg/parse/error22.C: Ditto.
	* g++.dg/parse/error23.C: Ditto.
	* g++.dg/parse/error24.C: Ditto.
	* g++.dg/parse/error25.C: Ditto.
	* g++.dg/parse/error26.C: Ditto.
	* g++.dg/parse/error27.C: Ditto.
	* g++.dg/parse/error29.C: Ditto.
	* g++.dg/parse/error2.C: Ditto.
	* g++.dg/parse/error30.C: Ditto.
	* g++.dg/parse/error31.C: Ditto.
	* g++.dg/parse/error3.C: Ditto.
	* g++.dg/parse/error4.C: Ditto.
	* g++.dg/parse/error5.C: Ditto.
	* g++.dg/parse/error6.C: Ditto.
	* g++.dg/parse/error7.C: Ditto.
	* g++.dg/parse/error8.C: Ditto.
	* g++.dg/parse/error9.C: Ditto.
	* g++.dg/parse/error-column.C: Ditto.
	* g++.dg/template/crash80.C: Ditto.
	* g++.dg/template/friend44.C: Ditto.
	* g++.dg/warn/pr26785.C: Ditto.
	* g++.old-deja/g++.brendan/crash16.C: Ditto.

From-SVN: r140476
2008-09-18 22:29:39 +00:00
H.J. Lu faae4ae73f re PR target/37394 (Segfault in ia64_variable_issue with -O -fschedule-insns2)
gcc/

2008-09-18  H.J. Lu  <hongjiu.lu@intel.com>

	PR target/37394
	* config/ia64/ia64.c (ia64_optimization_options): Move
	checking and setting flag_schedule_insns_after_reload and
	ia64_flag_schedule_insns2 back to ...
	(ia64_override_options): Here.

gcc/testsuite/

2008-09-18  H.J. Lu  <hongjiu.lu@intel.com>

	PR target/37394
	* g++.dg/other/pr37394.C: New.

From-SVN: r140475
2008-09-18 13:27:36 -07:00
Paul Thomas 334e912a93 re PR fortran/35945 (Complex module-based overloading fails)
2008-09-18  Paul Thomas  <pault@gcc.gnu.org>

       PR fortran/35945
       * resolve.c (resolve_fl_variable_derived):  Remove derived type
       comparison for use associated derived types.  Host association
       of a derived type will not arise if there is a local derived type
       whose use name is the same.

       PR fortran/36700
       * match.c (gfc_match_call):  Use the existing symbol even if
       it is a function.

2008-09-18  Paul Thomas  <pault@gcc.gnu.org>

       PR fortran/35945
       * gfortran.dg/host_assoc_types_2.f90: New test.

       PR fortran/36700
       * gfortran.dg/host_assoc_call_2.f90: New test.

From-SVN: r140474
2008-09-18 20:21:03 +00:00
DJ Delorie 47993132a0 * gcc.c-torture/execute/20060420-1.c: Fix alignment logic.
From-SVN: r140473
2008-09-18 16:12:14 -04:00
Jan Hubicka 4db26d6c4d utils.c (create_subprog_decl): Use DECL_DECLARED_INLINE_P.
* gcc-interface/utils.c (create_subprog_decl): Use DECL_DECLARED_INLINE_P.
	(end_subprog_body): Do not set DECL_INLINE.

From-SVN: r140472
2008-09-18 20:08:13 +00:00
Andrew Pinski b2a38b1d6e re PR rtl-optimization/37451 (Extra addition for doloop in some cases)
2008-09-18  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR rtl-opt/37451
        * loop-doloop.c (doloop_modify): New argument zero_extend_p and
        zero extend count after the correction to it is done.
        (doloop_optimize): Update call to doloop_modify, don't zero extend
        count before call.

From-SVN: r140470
2008-09-18 12:28:48 -07:00
Paolo Carlini c78a2119d8 shared_ptr.h (__shared_count<>:: __shared_count(_Ptr, _Deleter), [...]): Qualify new with ::.
2008-09-18  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/shared_ptr.h (__shared_count<>::
	__shared_count(_Ptr, _Deleter), __shared_count<>::
	__shared_count(_Ptr, _Deleter, _Alloc), __shared_count<>::
	__shared_count(_Sp_make_shared_tag, _Tp*, _Alloc, _Args&&...)):
	Qualify new with ::.

From-SVN: r140469
2008-09-18 18:55:55 +00:00
Jan Hubicka e7f8819332 re PR middle-end/37448 (cannot compile big function)
PR middle-end/37448
	* ipa-reference.c (ipa_reference_local_vars_info_d,
	ipa_reference_global_vars_info_d,
	ipa_reference_local_vars_info_t, ipa_reference_global_vars_info_t,
	ipa_reference_vars_info_t): Move here from ipa-reference.h
	(node_duplication_hook_holder, node_removal_hook_holder): New.
	(get_reference_vars_info_from_cgraph): Rename to ...
	(get_reference_vars_info): ... this one, use cgraph uids.
	(get_local_reference_vars_info, get_global_reference_vars_info):
	Use cgraph instead of decl.
	(ipa_reference_get_read_local, ipa_reference_get_written_local): Remove.
	(ipa_reference_get_read_global, ipa_reference_get_not_read_global
	ipa_reference_get_written_global, ipa_reference_get_not_written_global): Use
	cgraph argument.
	(check_call): Simplify avail check.
	(scan_stmt_for_static_refs): Update.
	(propagate_bits): Update.
	(merge_callee_local_info): Remove.
	(init_function_info): Use cgraph nodes.
	(clean_function_local_data): Break out from ...
	(clean_function): ... here.
	(copy_local_bitmap, copy_global_bitmap): New functions.
	(duplicate_node_data, remove_node_data): New functions.
	(generate_summary): Register hooks; use visibility instead of
	master clones.
	(propafate): Use cgraph nodes; copy bitmap to each node in cycle.
	* ipa-reference.h (ipa_reference_local_vars_info_d,
	ipa_reference_global_vars_info_d,
	ipa_reference_local_vars_info_t, ipa_reference_global_vars_info_t,
	ipa_reference_vars_info_t): Move to ipa-reference.c
	(ipa_reference_get_read_local, ipa_reference_get_written_local):
	Remove.
	(ipa_reference_get_read_global, ipa_reference_get_written_global,
	ipa_reference_get_not_read_global, ipa_reference_get_not_written_global):
	Update prototype.
	* ipa-pure-const.c (funct_state_vec): Turn into VECtor.
	(init_state): Remove.
	(node_duplication_hook_holder, node_removal_hook_holder): New.
	(get_function_state, set_function_state): Use VECtor.
	(analyze_function): Check body availability.
	(add_new_function): Likewise.
	(duplicate_node_data, remove_node_data): New.
	(generate_summary): Register hooks; do not care about clones.
	(propafate): Do not care about clones; recursive functions are not looping.
	* ipa-utils.c (searchc, ipa_utils_reduced_inorder): Do not skip clones.
	* ipa-prop.c (edge_removal_hook_holder, node_removal_hook_holder,
	* edge_duplication_hook_holder, node_duplication_hook_holder): Make
	static.
	* tree-flow.h (function_ann_d): Remove reference_vars_info.
	* tree-ssa-opreands.c (add_call_clobber_ops, add_call_read_ops): Update call of
	ipa-reference accesors.

From-SVN: r140465
2008-09-18 18:16:45 +00:00
Martin Jambor be95e2b925 ipa-cp.c (ipcp_estimate_growth): Return 0 instead of false.
2008-09-18  Martin Jambor  <mjambor@suse.cz>

	* ipa-cp.c (ipcp_estimate_growth): Return 0 instead of false.

	* ipa-prop.c: Correct comments.
	* ipa-prop.h: Likewise.

From-SVN: r140464
2008-09-18 19:57:05 +02:00
Jan Hubicka e2c9111c0e re PR middle-end/37448 (cannot compile big function)
PR middle-end/37448
	* ipa-reference.c (ipa_reference_local_vars_info_d,
	ipa_reference_global_vars_info_d,
	ipa_reference_local_vars_info_t, ipa_reference_global_vars_info_t,
	ipa_reference_vars_info_t): Move here from ipa-reference.h
	(node_duplication_hook_holder, node_removal_hook_holder): New.
	(get_reference_vars_info_from_cgraph): Rename to ...
	(get_reference_vars_info): ... this one, use cgraph uids.
	(get_local_reference_vars_info, get_global_reference_vars_info):
	Use cgraph instead of decl.
	(ipa_reference_get_read_local, ipa_reference_get_written_local): Remove.
	(ipa_reference_get_read_global, ipa_reference_get_not_read_global
	ipa_reference_get_written_global, ipa_reference_get_not_written_global): Use
	cgraph argument.
	(check_call): Simplify avail check.
	(scan_stmt_for_static_refs): Update.
	(propagate_bits): Update.
	(merge_callee_local_info): Remove.
	(init_function_info): Use cgraph nodes.
	(clean_function_local_data): Break out from ...
	(clean_function): ... here.
	(copy_local_bitmap, copy_global_bitmap): New functions.
	(duplicate_node_data, remove_node_data): New functions.
	(generate_summary): Register hooks; use visibility instead of
	master clones.
	(propafate): Use cgraph nodes; copy bitmap to each node in cycle.
	* ipa-reference.h (ipa_reference_local_vars_info_d,
	ipa_reference_global_vars_info_d,
	ipa_reference_local_vars_info_t, ipa_reference_global_vars_info_t,
	ipa_reference_vars_info_t): Move to ipa-reference.c
	(ipa_reference_get_read_local, ipa_reference_get_written_local):
	Remove.
	(ipa_reference_get_read_global, ipa_reference_get_written_global,
	ipa_reference_get_not_read_global, ipa_reference_get_not_written_global):
	Update prototype.
	* ipa-pure-const.c (funct_state_vec): Turn into VECtor.
	(init_state): Remove.
	(node_duplication_hook_holder, node_removal_hook_holder): New.
	(get_function_state, set_function_state): Use VECtor.
	(analyze_function): Check body availability.
	(add_new_function): Likewise.
	(duplicate_node_data, remove_node_data): New.
	(generate_summary): Register hooks; do not care about clones.
	(propafate): Do not care about clones; recursive functions are not looping.
	* ipa-utils.c (searchc, ipa_utils_reduced_inorder): Do not skip clones.
	* ipa-prop.c (edge_removal_hook_holder, node_removal_hook_holder,
	* edge_duplication_hook_holder, node_duplication_hook_holder): Make
	static.
	* tree-flow.h (function_ann_d): Remove reference_vars_info.
	* tree-ssa-opreands.c (add_call_clobber_ops, add_call_read_ops): Update call of
	ipa-reference accesors.

From-SVN: r140463
2008-09-18 17:28:40 +00:00
Steve Ellcey 52d1bfd8cd * MAINTAINERS: Add myself as ia64 maintainer.
From-SVN: r140462
2008-09-18 16:24:37 +00:00
Simon Baldwin c047ce9383 cpplib.h (struct cpp_options): Add new boolean flag warn_builtin_macro_redefined.
* include/cpplib.h (struct cpp_options): Add new boolean flag
	warn_builtin_macro_redefined.
	* init.c (cpp_create_reader): Initialize warn_builtin_macro_redefined.
	* (struct builtin_operator): Split out from previous struct builtin,
	enhance extra const correctness.
	* (struct builtin_macro): Split out from previous struct builtin, add
	new always_warn_if_redefined flag, enhance const correctness.
	* (mark_named_operators): Use struct builtin_operator.
	* (cpp_init_special_builtins): Use struct builtin_macro, add NODE_WARN
	to builtins selectively.
	* macro.c (warn_of_redefinition): Return false if a builtin macro
	is not flagged with NODE_WARN.

	* c-opts.c (c_common_handle_option): Add handling for
	-Wbuiltin-macro-redefined command line option.
	* c.opt: Added builtin-macro-redefined option.
	* doc/invoke.texi (Warning Options): Add -Wbuiltin-macro-redefined
	documentation.

	* gcc.dg/builtin-redefine.c: New.

From-SVN: r140461
2008-09-18 15:39:08 +00:00
Richard Guenther 1d29588628 re PR tree-optimization/37258 (ice in simplify_subreg, at simplify-rtx.c:4957)
2008-09-18  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/37258
	* tree-ssa-sccvn.c (vn_phi_compute_hash): Include the precision
	and signedness for integral types.
	(vn_phi_eq): Require compatible types.

	* gcc.c-torture/compile/pr37258.c: New testcase.

From-SVN: r140460
2008-09-18 15:27:21 +00:00