Commit Graph

116609 Commits

Author SHA1 Message Date
Richard Biener 1d67dde883 common.opt (flto-report): Do not mark as Optimization.
2012-05-04  Richard Guenther  <rguenther@suse.de>

	* common.opt (flto-report): Do not mark as Optimization.

	lto/
	* lang.opt (fwpa): Do not mark as Optimization.
	(fltrans): Likewise.

	* gcc.dg/lto/pr53214_0.c: New testcase.

From-SVN: r187151
2012-05-04 11:08:42 +00:00
Eric Botcazou a2f2d218dd re PR target/48496 ('asm' operand requires impossible reload)
PR target/48496
	* recog.c (constrain_operands): If extra constraints are present, also
	accept pseudo-registers with equivalent memory locations during reload.

From-SVN: r187150
2012-05-04 11:01:34 +00:00
Olivier Hainque 9178a34585 collect2.c (may_unlink_output_file): New global.
* collect2.c (may_unlink_output_file): New global.
        (maybe_unlink): Honor it.
        * collect2.h: Add extern for it.
        * tlink.c (do_tlink): Set it to true if the link succeeded.

From-SVN: r187148
2012-05-04 08:05:52 +00:00
Olivier Hainque b50ff8bbb3 gcc.c (eval_spec_function): Finalize/restore the current string obstack state as part of the context...
* gcc.c (eval_spec_function): Finalize/restore the current string
        obstack state as part of the context push/pop operations.

From-SVN: r187146
2012-05-04 08:03:54 +00:00
Ian Lance Taylor b075f09963 compiler: Error if importing same package twice with same name.
From-SVN: r187142
2012-05-04 05:24:02 +00:00
Bin Cheng 73292fcf29 re PR rtl-optimization/52804 (IRA/RELOAD allocate wrong register on ARM for cortex-m0)
PR rtl-optimization/52804
	* reload1.c (reload_reg_reaches_end_p): Check whether successor
	reload with type RELOAD_FOR_INPUT_ADDRESS kills reload register
	of current one with type RELOAD_FOR_INPADDR_ADDRESS.
	Same stands for reloads with type RELOAD_FOR_OUTPUT_ADDRESS and
	RELOAD_FOR_OUTADDR_ADDRESS.

From-SVN: r187139
2012-05-04 02:52:27 +00:00
Manuel López-Ibáñez 2445414102 re PR c++/24985 (caret diagnostics)
2012-05-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	PR c++/24985
gcc/
	* tree-diagnostic.c (maybe_unwind_expanded_macro_loc): Show caret
	for macro expansion.

From-SVN: r187134
2012-05-04 00:31:55 +00:00
GCC Administrator 07c49ed5a6 Daily bump.
From-SVN: r187131
2012-05-04 00:18:01 +00:00
Manuel López-Ibáñez 50f305cacf re PR c/51712 (-Wtype-limits should not trigger for types of implementation-defined signedness)
2012-05-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	PR c/51712
c-family/
	* c-common.c (expr_original_type): New.
	(shorten_compare): Do not warn for enumeration types.
testsuite/
	* c-c++-common/pr51712.c: New.

From-SVN: r187125
2012-05-03 22:37:01 +00:00
Manuel López-Ibáñez 0c3641b0ea flags.h (flag_permissive): Do not declare.
2012-05-03  Manuel López-Ibáñez  <manu@gcc.gnu.org>

gcc/
	* flags.h (flag_permissive): Do not declare.
	* diagnostic.c (diagnostic_report_diagnostic): Handle fpermissive
	option specially.
	* toplev.c (flag_permissive): Do not define.
	* c-tree.h (system_header_p): Delete unused.
c-family/
	* c.opt (fpermissive): Add Var(flag_permissive).

From-SVN: r187123
2012-05-03 22:28:21 +00:00
David S. Miller d333c3ebce Fix long double float miscompilations on sparc 64-bit.
PR target/52684
	* config/sparc/sparc.c (emit_soft_tfmode_libcall): If we pass a
	MEM directly into a libcall, mark it's MEM_EXPR as addressable.
	(sparc_emit_float_lib_cmp): Likewise.

From-SVN: r187120
2012-05-03 15:19:35 -07:00
Michael Meissner 65d512d10e re PR target/53199 (__builtin_bswap64 and __builtin_bswap32 generate errors if -mcpu=power6)
[gcc]
2012-05-03  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/53199
	* config/rs6000/rs6000.md (bswapdi splitters): If
	-mavoid-indexed-addresses (or -mcpu=power6 which sets it by
	default) is used, generate an alternate sequence that does not
	depend on using indexed addressing.

[gcc/testsuite]
2012-05-03  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/53199
	* gcc.target/powwerpc/pr53199.c: New file.

From-SVN: r187119
2012-05-03 21:47:45 +00:00
Jason Merrill 88f4f86ff0 gengtype.c (write_types): Fix warning message.
* gengtype.c (write_types): Fix warning message.
	(write_local): Likewise.

From-SVN: r187118
2012-05-03 17:29:07 -04:00
Benjamin Kosnik a85951f442 testsuite_flags.in (cxxflags): Remove -ftrack-macro-expansion=0.
2012-05-03  Benjamin Kosnik  <bkoz@redhat.com>

	* scripts/testsuite_flags.in (cxxflags): Remove
	-ftrack-macro-expansion=0.

From-SVN: r187117
2012-05-03 20:23:42 +00:00
Jason Merrill 05688bf703 dwarf2out.c (struct external_ref, [...]): New.
* dwarf2out.c (struct external_ref, build_local_stub): New.
	(hash_external_ref, external_ref_eq, lookup_external_ref): New.
	(optimize_external_refs, optimize_external_refs_1): New.
	(change_AT_die_ref): New.
	(clone_as_declaration): Add DW_AT_signature when cloning a declaration.
	(build_abbrev_table): Take the external refs hashtable.
	(output_comp_unit): Get it from optimize_external_refs and pass it in.

From-SVN: r187116
2012-05-03 15:55:16 -04:00
Jan Hubicka f95f017c42 re PR middle-end/53093 (tls/alias-1.c ICE, emutls)
PR middle-end/53093
	* tree-emutls.c (new_emutls_decl): Fix handling of aliases.

From-SVN: r187115
2012-05-03 19:22:03 +00:00
Jan Hubicka c2b6c111b6 re PR middle-end/53106 (Benchmarks in SPEC CPU 2006 failed to build)
PR middle-end/53106
	* ipa.c (cgraph_remove_unreachable_nodes): Fix handling of clones.

From-SVN: r187114
2012-05-03 19:18:51 +00:00
Ian Lance Taylor f070c0498e compiler: Build import tables as needed for imported interfaces.
From-SVN: r187111
2012-05-03 17:42:02 +00:00
Richard Sandiford ecfd6cece6 Add PR rtl-optimization/52543 to changelog.
From-SVN: r187110
2012-05-03 17:04:41 +00:00
Richard Henderson fa3cd3c37e libatomic: Enable AM_MAINTAINER_MODE
From-SVN: r187108
2012-05-03 09:30:11 -07:00
Jason Merrill d8acd563b2 dwarf2out.c (die_struct): Add comdat_type_p flag.
* dwarf2out.c (die_struct): Add comdat_type_p flag.  Use it instead of
	use_debug_types to discriminate the die_id union.
	(print_die, assign_symbol_names, copy_decls_walk): Likewise.
	(build_abbrev_table, output_die): Likewise.
	(prune_unused_types_walk_attribs): Likewise.
	(generate_type_signature, copy_declaration_context): Set it.
	(remove_child_or_replace_with_skeleton): Set it.
	(dwarf2out_start_source_file, dwarf2out_end_source_file): Don't
	check use_debug_types.
	(dwarf2out_finish): Do break_out_includes after .debug_types.

From-SVN: r187107
2012-05-03 12:19:17 -04:00
Jason Merrill 0fd0752e83 dwarf2out.c (modified_type_die): Use scope_die_for.
* dwarf2out.c (modified_type_die): Use scope_die_for.
	(gen_type_die_with_usage, dwarf2out_finish): Likewise.
	(uses_local_type_r, uses_local_type): New.
	(scope_die_for): Keep a type that uses a local type in local scope.
	Use get_context_die for namespace and type scope.

From-SVN: r187106
2012-05-03 12:19:02 -04:00
Jason Merrill 63aaf27c3b i386.c (ix86_code_end): Set DECL_IGNORED_P on the pc thunk.
* config/i386/i386.c (ix86_code_end): Set DECL_IGNORED_P on the
	pc thunk.
	* dwarf2out.c (output_aranges): Skip DECL_IGNORED_P functions.
	(dwarf2out_finish): Likewise.

From-SVN: r187105
2012-05-03 12:18:51 -04:00
Ian Lance Taylor 29f31724ef compiler: Fix order of initialization bug with global var a, b = f().
From-SVN: r187103
2012-05-03 16:09:25 +00:00
Richard Henderson 0fe5522f8b acinclude.m4 (LIBAT_TEST_ATOMIC_BUILTIN): Handle compilation failure in gcc_no_link path.
* acinclude.m4 (LIBAT_TEST_ATOMIC_BUILTIN): Handle compilation
        failure in gcc_no_link path.
        * configure: Rebuild.

From-SVN: r187102
2012-05-03 08:59:43 -07:00
Martin Jambor 644ffefd9b builtins.c (get_object_alignment_1): Return whether we can determine the alignment or conservatively assume byte...
2012-05-03  Martin Jambor  <mjambor@suse.cz>

	* builtins.c (get_object_alignment_1): Return whether we can determine
	the alignment or conservatively assume byte alignment.  Return the
	alignment by reference.  Use get_pointer_alignment_1 for dereference
	alignment.
	(get_pointer_alignment_1): Return whether we can determine the
	alignment or conservatively assume byte alignment.  Return the
	alignment by reference.  Use get_ptr_info_alignment to get SSA name
	alignment.
	(get_object_alignment): Update call to get_object_alignment_1.
	(get_object_or_type_alignment): Likewise, fall back to type alignment
	only when it returned false.
	(get_pointer_alignment): Update call to get_pointer_alignment_1.
	* fold-const.c (get_pointer_modulus_and_residue): Update call to
	get_object_alignment_1.
	* ipa-prop.c (ipa_modify_call_arguments): Update call to
	get_pointer_alignment_1.
	* tree-sra.c (build_ref_for_offset): Likewise, fall back to the type
	of MEM_REF or TARGET_MEM_REF only when it returns false.
	* tree-ssa-ccp.c (get_value_from_alignment): Update call to
	get_object_alignment_1.
	(ccp_finalize): Use set_ptr_info_alignment.
	* tree.h (get_object_alignment_1): Update declaration.
	(get_pointer_alignment_1): Likewise.
	* gimple-pretty-print.c (dump_gimple_phi): Use get_ptr_info_alignment.
	(dump_gimple_stmt): Likewise.
	* tree-flow.h (ptr_info_def): Updated comments of fields align and
	misalign.
	(get_ptr_info_alignment): Declared.
	(mark_ptr_info_alignment_unknown): Likewise.
	(set_ptr_info_alignment): Likewise.
	(adjust_ptr_info_misalignment): Likewise.
	* tree-ssa-address.c (copy_ref_info): Use new access functions to get
	and set alignment of SSA names.
	* tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Call
	mark_ptr_info_alignment_unknown.
	* tree-ssanames.c (get_ptr_info_alignment): New function.
	(mark_ptr_info_alignment_unknown): Likewise.
	(set_ptr_info_alignment): Likewise.
	(adjust_ptr_info_misalignment): Likewise.
	(get_ptr_info): Call mark_ptr_info_alignment_unknown.
	* tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref):
	Likewise.
	(bump_vector_ptr): Likewise.
	* tree-vect-stmts.c (create_array_ref): Use set_ptr_info_alignment.
	(vectorizable_store): Likewise.
	(vectorizable_load): Likewise.

From-SVN: r187101
2012-05-03 17:48:56 +02:00
Olivier Hainque 445db530c3 mh-ppc-aix (LDFLAGS): Quote $(CC).
* config/mh-ppc-aix (LDFLAGS): Quote $(CC).

From-SVN: r187100
2012-05-03 15:39:07 +00:00
Michael Matz 3e8b732e26 basic-block.h (struct rtl_bb_info, [...]): Move in front of basic_block_def.
* basic-block.h (struct rtl_bb_info, struct gimple_bb_info): Move
	in front of basic_block_def.
	(struct basic_block_def): Make il.gimple the full struct, not a
	pointer.
	(__assert_gimple_bb_smaller_rtl_bb): Asserting typedef.

	* cfgexpand.c (expand_gimple_basic_block): Clear all il.gimple
	members.
	* gimple-iterator.c (gimple_stmt_iterator): Don't special case
	NULL il.gimple, which can't happen anymore.
	* gimple.h (bb_seq): il.gimple can't be NULL.
	(bb_seq_add): Ditto.
	(set_bb_seq): Adjust.
	(gsi_start_bb, gsi_last_bb): Tidy.
	* lto-streamer-in.c (make_new_block): Don't zero members that
	are zeroed already, don't allocate a gimple_bb_info.
	* tree-cfg.c (create_bb): Don't allocate a gimple_bb_info.
	(remove_bb): Clear all il.gimple members.
	(gimple_verify_flow_info): Adjust for flat il.gimple.
	* tree-flow-inline.h (phi_nodes, phi_nodes_ptr, set_phi_nodes): Adjust.

	* coretypes.h (const_gimple_seq): Remove typedef.
	* gimple.h (gimple_seq_first): Take gimple_seq.
	(gimple_seq_first_stmt): Ditto.
	(gimple_seq_last): Ditto.
	(gimple_seq_last_stmt): Ditto.
	(gimple_seq_empty_p): Ditto.

From-SVN: r187099
2012-05-03 14:34:07 +00:00
Paolo Carlini 1fa2969ff6 re PR c++/53186 ([C++11] missing devirtualization for operators "final")
/cp
2012-05-03  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/53186
	* call.c (build_over_call): Handle final member functions
	and class types.
	(build_new_method_call_1): Do not handle here.

/testsuite
2012-05-03  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/53186
	* g++.dg/other/final2.C: New.

From-SVN: r187097
2012-05-03 14:28:46 +00:00
Richard Guenther bea966c222 tree-ssa-pre.c (valid_in_sets): Remove checking of trapping operations.
2012-05-03  Richard Guenther  <rguenther@suse.de>

	* tree-ssa-pre.c (valid_in_sets): Remove checking of trapping
	operations.
	(prune_clobbered_mems): Do it here.  Do not uselessly sort
	expressions.
	(compute_avail): Do not add possibly trapping operations to
	EXP_GEN if they might not be executed in the block.

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

From-SVN: r187096
2012-05-03 13:07:31 +00:00
Uros Bizjak 1cbdef5105 elf.h (MAX_OFILE_ALIGNMENT): Remove.
* config/alpha/elf.h (MAX_OFILE_ALIGNMENT): Remove.

From-SVN: r187095
2012-05-03 14:03:01 +02:00
Uros Bizjak 520b49f3f1 hle-cmpxchg-acq-1.c (dg-options): Add -march=x86-64.
* gcc.target/i386/hle-cmpxchg-acq-1.c (dg-options): Add -march=x86-64.
	* gcc.target/i386/hle-xadd-acq-1.c (dg-options): Ditto.
	* gcc.target/i386/hle-cmpxchg-rel-1.c (dg-options): Ditto.
	* gcc.target/i386/hle-xadd-rel-1.c (dg-options): Ditto.

From-SVN: r187094
2012-05-03 13:54:58 +02:00
Steven Bosscher 6ab1ab1480 tree-switch-conversion.c (gen_inbound_check): Free post-dominance information as early as possible.
* tree-switch-conversion.c (gen_inbound_check): Free post-dominance
	information as early as possible.  Update dominance info instead of
	discarding it.

From-SVN: r187093
2012-05-03 11:14:15 +00:00
Richard Guenther 1937283892 tree-ssa-pre.c (debug_bitmap_sets_for): New function.
2012-05-03  Richard Guenther  <rguenther@suse.de>

	* tree-ssa-pre.c (debug_bitmap_sets_for): New function.
	(union_contains_value): Remove.
	(vro_valid_in_sets): Likewise.
	(op_valid_in_sets): New function.
	(valid_in_sets): Use op_valid_in_sets.
	(insert_into_preds_of_block): Move dumping ...
	(do_regular_insertion): ... here.
	(do_partial_partial_insertion): ... and here.  Dump that
	we've found a partial partial redundancy.
	(insert): Dump the current insert iteration.

From-SVN: r187092
2012-05-03 11:11:34 +00:00
Jakub Jelinek 68d2330693 re PR plugins/53126 (gcc-4.7.0 error "gcc-ar: Cannot find plugin")
PR plugins/53126
	* gcc-ar.c (main): If GCC_EXEC_PREFIX is set in env,
	append program name to it and pass that as first argument
	to make_relative_prefix.  Always pass standard_libexec_prefix
	as last argument to make_relative_prefix.  If
	make_relative_prefix returns NULL, fall back to
	standard_libexec_prefix.

From-SVN: r187090
2012-05-03 13:09:07 +02:00
Jakub Jelinek f95052cce5 hle-xadd-rel-1.c: Match .byte 0xf3 instead of .byte 0xf2.
* gcc.target/i386/hle-xadd-rel-1.c: Match .byte 0xf3 instead of
	.byte 0xf2.
	* gcc.target/i386/hle-sub-rel-1.c: Likewise.
	* gcc.target/i386/hle-xchg-rel-1.c: Likewise.
	* gcc.target/i386/hle-add-rel-1.c: Likewise.

From-SVN: r187089
2012-05-03 12:21:41 +02:00
Jakub Jelinek 273ccb6d85 re PR debug/53174 (ICE in expand_debug_expr, verify_ssa failed)
PR debug/53174
	* tree-predcom.c (remove_stmt): Call reset_debug_uses on stmts being
	removed.

	* gcc.dg/pr53174.c: New test.

From-SVN: r187087
2012-05-03 12:18:34 +02:00
Jakub Jelinek d40a89e777 re PR target/53187 (ICE in arm_select_dominance_cc_mode)
PR target/53187
	* config/arm/arm.c (arm_select_cc_mode): If x has MODE_CC class
	mode, return that mode.

	* gcc.target/arm/pr53187.c: New test.
	* gcc.c-torture/compile/pr53187.c: New test.

From-SVN: r187085
2012-05-03 12:16:01 +02:00
Jakub Jelinek d5becc1117 re PR target/53194 (Many x86 failures)
PR target/53194
	* config/i386/i386-c.c (ix86_target_macros_internal): Don't
	define __ATOMIC_HLE_* macros here.
	(ix86_target_macros): But here, using cpp_define_formatted.

From-SVN: r187084
2012-05-03 12:12:33 +02:00
Richard Guenther 55f520f6fa pr52621.f90: Add -w to avoid diagnostic about unsupported prefetching support.
2012-05-03  Richard Guenther  <rguenther@suse.de>

	* gfortran.dg/pr52621.f90: Add -w to avoid diagnostic about
	unsupported prefetching support.

From-SVN: r187082
2012-05-03 09:47:06 +00:00
Greta Yorsh 5c506dd0c3 composite-type.c (dg-options): Add option -ftrack-macro-expansion=0.
gcc/testsuite

2012-05-03  Greta Yorsh  <Greta.Yorsh@arm.com>

       * gcc.dg/fixed-point/composite-type.c (dg-options): Add
       option -ftrack-macro-expansion=0.
       * gcc.dg/fixed-point/operator-bitwise.c (dg-options): Add
       option -ftrack-macro-expansion=0.

From-SVN: r187081
2012-05-03 10:18:57 +01:00
Greta Yorsh 4b507196a1 builtin-stringop-chk-1.c (dg-options): Replace dg-options for target arm with dg-additional-options.
gcc/testsuite

2012-05-02  Greta Yorsh  <Greta.Yorsh@arm.com>

	* gcc.dg/builtin-stringop-chk-1.c (dg-options): Replace
	dg-options for target arm with dg-additional-options.

From-SVN: r187079
2012-05-03 09:48:22 +01:00
Richard Guenther 9179ed9dfc re PR middle-end/53144 (PPRE infinite loop)
2012-05-03  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/53144
	* tree-ssa-sccvn.c (vn_reference_lookup_or_insert_constant_for_pieces):
	Rename to ...
	(vn_reference_lookup_or_insert_for_pieces): ... this.  Properly deal
	with SSA name values.
	(vn_reference_lookup_3): Adjust callers.

	* gcc.dg/torture/pr53144.c: New testcase.

From-SVN: r187078
2012-05-03 08:37:18 +00:00
Ganesh Gopalasubramanian d130f14648 With -march=native generate fma3 instruction by default for AMD processors which support both fma and fma4
From-SVN: r187077
2012-05-03 07:34:25 +00:00
Tobias Burnus bcb4ad361c re PR fortran/52864 (Assignment to pointer component for INTENT(IN) dummy argument)
2012-05-03  Tobias Burnus  <burnus@net-b.de>

        PR fortran/52864
        * interface.c (compare_parameter_intent): Remove.
        (check_intents): Remove call, handle CLASS pointer.
        (compare_actual_formal): Handle CLASS pointer.

2012-05-03  Tobias Burnus  <burnus@net-b.de>

        PR fortran/52864
        * gfortran.dg/pointer_intent_7.f90: New.
        * gfortran.dg/pure_formal_3.f90: New.

From-SVN: r187076
2012-05-03 09:18:56 +02:00
Kirill Yukhin 38d7f26e0d re PR target/53201 (unrecognized command line option '-mno-lzcnt-mno-hle)
PR target/53201
        * config/i386/driver-i386.c (host_detect_local_cpu): Add space to
        "-mno-hle".

From-SVN: r187075
2012-05-03 06:50:16 +00:00
Michael Matz 0285a18ecd re PR bootstrap/53197 (bootstrap comparison failure)
PR bootstrap/53197
	* tree-ssa-dse.c (dse_optimize_stmt): Take pointer to
	iterator.
	(dse_enter_block): Properly iterate the whole sequence even
	if the last statement was removed.

From-SVN: r187074
2012-05-03 02:32:08 +00:00
GCC Administrator f5c1a63312 Daily bump.
From-SVN: r187072
2012-05-03 00:18:18 +00:00
Jonathan Wakely 3b2b3556c1 faq.xml: Update outdated allocator documentation.
* doc/xml/faq.xml: Update outdated allocator documentation.
	* doc/xml/manual/allocator.xml: Likewise.
	* doc/xml/manual/debug.xml: Likewise.
	* doc/xml/manual/evolution.xml: Likewise.
	* doc/xml/manual/using.xml: Likewise.

From-SVN: r187068
2012-05-03 00:20:38 +01:00
Benjamin Kosnik d632488ae0 re PR libstdc++/44015 (template parameters not documented)
2012-05-02  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/44015
	* include/bits/basic_ios.h: Add tparam markup for
	* doxygen.  include/bits/basic_string.h: Same.
	* include/bits/forward_list.h: Same.
	* include/bits/stl_bvector.h: Same.
	* include/bits/stl_deque.h: Same.
	* include/bits/stl_list.h: Same.  include/bits/stl_map.h:
	* Same.  include/bits/stl_multimap.h: Same.
	* include/bits/stl_multiset.h: Same.
	* include/bits/stl_pair.h: Same.
	* include/bits/stl_queue.h: Same.
	* include/bits/stl_set.h: Same.
	* include/bits/stl_stack.h: Same.
	* include/bits/stl_vector.h: Same.
	* include/bits/unordered_map.h: Same.
	* include/bits/unordered_set.h: Same.  include/std/array:
	* Same.  include/std/atomic: Same.  include/std/fstream:
	* Same.  include/std/istream: Same.  include/std/ostream:
	* Same.  include/std/sstream: Same.
	* include/std/streambuf: Same.
	* testsuite/23_containers/deque/requirements/dr438/*:
          Adjust line numbers.
	* testsuite/23_containers/list/requirements/dr438/*: Same.
	* testsuite/23_containers/vector/requirements/dr438/*: Same.

From-SVN: r187066
2012-05-02 22:25:28 +00:00