Commit Graph

129336 Commits

Author SHA1 Message Date
Jakub Jelinek
4f148bbc73 re PR sanitizer/56781 (boostrap-asan failure: fixincl fails to link (missing -lasan))
PR sanitizer/56781
lto-plugin/
	* Makefile.am (CFLAGS, LDFLAGS): Filter out -fsanitize=address.
	(liblto_plugin_la_LIBADD, liblto_plugin_la_LDFLAGS,
	liblto_plugin_la_DEPENDENCIES): Prefer ../libiberty/noasan/libiberty.a
	over ../libiberty/pic/libiberty.a if the former exists.
	* Makefile.in: Regenerated.
libiberty/
	* maint-tool: Also emit rule for noasan/ subdirectory.
	* configure.ac (NOASANFLAG): Set and substitute.
	* Makefile.in: Regenerated.
	(NOASANFLAG): Set.
	(all, $(TARGETLIB), mostlyclean): Handle noasan subdir like pic
	subdir.
	(stamp-noasandir): New goal.
	* configure: Regenerated.

From-SVN: r209476
2014-04-17 14:25:25 +02:00
Jakub Jelinek
ffe7f7a75f re PR sanitizer/56781 (boostrap-asan failure: fixincl fails to link (missing -lasan))
PR sanitizer/56781
	* libtool-ldflags: Also prefix -static-lib*, -shared-lib*
	and -B* options with -Xcompiler.
lto-plugin/
	* Makefile.am (LTLDFLAGS, liblto_plugin_la_LINK): New variables.
	* Makefile.in: Regenerated.

From-SVN: r209475
2014-04-17 14:23:28 +02:00
Mark Wielaard
79896351cb dwarf2out: Use normal constant values in bound_info if possible.
* dwarf2out.c (add_bound_info): If HOST_WIDE_INT is big enough,
	then represent the bound as normal constant value.

From-SVN: r209473
2014-04-17 10:36:21 +00:00
Jakub Jelinek
5a65129e4e re PR target/60847 (x86 BMI intrinsics not recognized)
PR target/60847
	Forward port from 4.8 branch
	2013-07-19  Kirill Yukhin  <kirill.yukhin@intel.com>

	* config/i386/bmiintrin.h (_blsi_u32): New.
	(_blsi_u64): Ditto.
	(_blsr_u32): Ditto.
	(_blsr_u64): Ditto.
	(_blsmsk_u32): Ditto.
	(_blsmsk_u64): Ditto.
	(_tzcnt_u32): Ditto.
	(_tzcnt_u64): Ditto.

	* gcc.target/i386/bmi-1.c: Extend with new instrinsics.
	Fix scan patterns.
	* gcc.target/i386/bmi-2.c: Ditto.

From-SVN: r209471
2014-04-17 12:02:36 +02:00
Kito Cheng
59b266b1d7 * gcc.c (used_arg): Prevent out of bound access for multilib_options.
From-SVN: r209470
2014-04-17 11:01:22 +02:00
Richard Biener
83ad208e2c re PR tree-optimization/60849 (bogus comparison result type)
2014-04-17  Richard Biener  <rguenther@suse.de>

	PR middle-end/60849
	* tree-ssa-propagate.c (valid_gimple_rhs_p): Only allow effective
	boolean results for comparisons.

	* g++.dg/opt/pr60849.C: New testcase.

From-SVN: r209469
2014-04-17 08:13:53 +00:00
Richard Biener
730e78b045 re PR c++/60836 (invalid PHI argument and ICE in verify_gimple)
2014-04-17  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/60836
	* tree-vect-loop.c (vect_create_epilog_for_reduction): Force
	initial PHI args to be gimple values.

	* g++.dg/vect/pr60836.cc: New testcase.

From-SVN: r209468
2014-04-17 08:12:58 +00:00
Richard Biener
1428105c0d re PR tree-optimization/60841 (gcc: internal compiler error: Killed (program cc1) out of memory)
2014-04-17   Richard Biener  <rguenther@suse.de>

	PR tree-optimization/60841
	* tree-vect-data-refs.c (vect_analyze_data_refs): Count stmts.
	* tree-vect-loop.c (vect_analyze_loop_2): Pass down number
	of stmts to SLP build.
	* tree-vect-slp.c (vect_slp_analyze_bb_1): Likewise.
	(vect_analyze_slp): Likewise.
	(vect_analyze_slp_instance): Likewise.
	(vect_build_slp_tree): Limit overall SLP tree growth.
	* tree-vectorizer.h (vect_analyze_data_refs,
	vect_analyze_slp): Adjust prototypes.

	* gcc.dg/vect/pr60841.c: New testcase.

From-SVN: r209467
2014-04-17 08:09:02 +00:00
Evgeny Stupachenko
170c1776c4 i386.c (x86_add_stmt_cost): Fix vector cost model for Silvermont.
gcc/
        * config/i386/i386.c (x86_add_stmt_cost): Fix vector cost model for
        Silvermont.

From-SVN: r209466
2014-04-17 07:47:37 +00:00
Evgeny Stupachenko
a4ef7f3e57 x86-tune.def (TARGET_SLOW_PSHUFB): New tune definition.
gcc/
        * config/i386/x86-tune.def (TARGET_SLOW_PSHUFB): New tune definition.
        * config/i386/i386.h (TARGET_SLOW_PSHUFB): New tune flag.
        * config/i386/i386.c (expand_vec_perm_even_odd_1): Avoid byte shuffles
        for TARGET_SLOW_PSHUFB

From-SVN: r209465
2014-04-17 07:46:45 +00:00
Evgeny Stupachenko
cf055f6ef6 i386.c (slm_cost): Adjust vec_to_scalar_cost.
gcc/
        * config/i386/i386.c (slm_cost): Adjust vec_to_scalar_cost.
        * config/i386/i386.c (intel_cost): Ditto.

From-SVN: r209464
2014-04-17 07:45:42 +00:00
Joey Ye
eeee227783 opts.c (OPT_fif_conversion, [...]): Disable for Og.
2014-04-17  Joey Ye  <joey.ye@arm.com>

        * opts.c (OPT_fif_conversion, OPT_fif_conversion2): Disable for Og.

From-SVN: r209463
2014-04-17 07:09:56 +00:00
Jan Hubicka
1c58fe290b opts.c (common_handle_option): Disable -fipa-reference coorectly with -fuse-profile.
* opts.c (common_handle_option): Disable -fipa-reference coorectly
	with -fuse-profile.

From-SVN: r209462
2014-04-17 05:59:03 +00:00
Jan Hubicka
2d1644bf5b ipa-devirt.c (odr_type_d): Add field all_derivations_known.
* ipa-devirt.c (odr_type_d): Add field all_derivations_known.
	(type_all_derivations_known_p): New predicate.
	(type_all_ctors_visible_p): New predicate.
	(type_possibly_instantiated_p): New predicate.
	(get_odr_type): Compute all_derivations_known.
	(dump_odr_type): Dump the flag.
	(maybe_record_type): Cleanup.
	(record_target_from_binfo): Add bases_to_consider array;
	record bases for types w/o instances and skip CXX destructor.
	(possible_polymorphic_call_targets_1): Add bases_to_consider
	and consider_construction parameters; check if type may
	have instance.
	(get_polymorphic_call_info): Set maybe_in_construction to true
	when we know nothing.
	(record_targets_from_bases): Skip CXX destructors; they are
	never called for types in construction.
	(possible_polymorphic_call_targets): Do not record target when
	type may not have instance.

	* g++.dg/ipa/devirt-31.C: New testcase.

From-SVN: r209461
2014-04-17 02:43:53 +00:00
Jan Hubicka
7c1b1692e1 re PR lto/60820 (ice in ctor_for_folding, at varpool.c:291)
PR lto/60820
	* gcc.dg/lto/pr60820_0.c: New testcase.
	* gcc.dg/lto/pr60820_1.c: New testcase.

From-SVN: r209460
2014-04-17 02:32:26 +00:00
Jan Hubicka
789c274118 re PR ipa/60854 (inline constructor of extern template)
PR ipa/60854
	* ipa.c (symtab_remove_unreachable_nodes): Mark targets of
	external aliases alive, too.
	* g++.dg/torture/pr60854.C: New testcase.

From-SVN: r209459
2014-04-17 02:22:57 +00:00
Andrew Pinski
9950a4f212 host-linux.c (TRY_EMPTY_VM_SPACE): Change aarch64 ilp32 definition.
2014-04-16  Andrew  Pinski  <apinski@cavium.com>

	* config/host-linux.c (TRY_EMPTY_VM_SPACE): Change aarch64 ilp32
        definition.

From-SVN: r209457
2014-04-16 17:18:29 -07:00
GCC Administrator
25924c6153 Daily bump.
From-SVN: r209456
2014-04-17 00:17:05 +00:00
Eric Botcazou
82b9c0158b final.c (compute_alignments): Do not apply loop alignment to a block falling through to the exit.
* final.c (compute_alignments): Do not apply loop alignment to a block
	falling through to the exit.

From-SVN: r209451
2014-04-16 23:31:30 +00:00
Catherine Moore
d2dfaca3b8 mips.md (*mov<mode>_internal, [...]): Adjust constraints for microMIPS store patterns.
2014-04-16  Catherine Moore  <clm@codesourcery.com>

	gcc/
	* mips.md (*mov<mode>_internal, *movhi_internal, *movqi_internal):
	Adjust constraints for microMIPS store patterns.

	testsuite/
	* gcc.target/mips/umips-store16-2.c: New test.

From-SVN: r209450
2014-04-16 17:09:30 -04:00
Marc Glisse
fcde53d03f decl.c (reshape_init_r): Handle a single element of vector type.
2014-04-16  Marc Glisse  <marc.glisse@inria.fr>

gcc/cp/
	* decl.c (reshape_init_r): Handle a single element of vector type.
gcc/testsuite/
	* g++.dg/cpp0x/initlist-vect.C: New file.

From-SVN: r209449
2014-04-16 20:46:47 +00:00
Ian Lance Taylor
73cc28d4e7 libgo: Remove Solaris 8 & 9 support.
From Rainer Orth.

From-SVN: r209448
2014-04-16 20:33:57 +00:00
Patrick Palka
1dbdb75618 re PR c++/60765 (Function attributes ignored for pointer-to-member-function parameters)
2014-04-16  Patrick Palka  <patrick@parcs.ath.cx>

	PR c++/60765
	* decl2.c (cplus_decl_attributes): Handle
	pointer-to-member-function declarations.

2014-04-16  Patrick Palka  <patrick@parcs.ath.cx>

	PR c++/60764
	* call.c (build_user_type_coversion): Use build_dummy_object
	to create the placeholder object for a constructor method call.
	(build_special_member_call): Likewise.
	(build_over_call): Check for the placeholder object with
	is_dummy_object.
	(build_new_method_call_1): Likewise.  Don't attempt to resolve
	a dummy object for a constructor method call.

From-SVN: r209447
2014-04-16 20:17:46 +00:00
Pitchumani Sivanupandi
10353a7987 avr-mcus.def: Correct typo for atxmega256a3bu macro.
* config/avr/avr-mcus.def: Correct typo for atxmega256a3bu macro.

From-SVN: r209446
2014-04-16 22:26:30 +04:00
Jonathan Wakely
6e2d247b1e * include/std/functional (__is_location_invariant): Use __or_ helper.
From-SVN: r209445
2014-04-16 18:46:13 +01:00
Paul Pluzhnikov
23b0af0aa0 re PR c++/59295 (useless warning: 'Bar' is already a friend of 'Foo' [enabled by default])
2014-04-16  Paul Pluzhnikov  <ppluzhnikov@google.com>

	PR c++/59295
	* friend.c (add_friend, make_friend_class): Move repeated friend
	warning under Wredundant_decls.

From-SVN: r209444
2014-04-16 10:39:45 -07:00
Eric Botcazou
61c7fb308a tree-ssa-operands.c (create_vop_var): Set DECL_IGNORED_P.
* tree-ssa-operands.c (create_vop_var): Set DECL_IGNORED_P.
	(append_use): Run at -O0.
	(append_vdef): Likewise.
	* tree-ssa-ter.c (ter_is_replaceable_p): Do not special-case -O0.
	* tree-ssa-uninit.c (warn_uninitialized_vars): Remove obsolete comment.

From-SVN: r209443
2014-04-16 10:50:58 +00:00
Jakub Jelinek
42fae17c37 re PR tree-optimization/60844 (ICE in reassoc_stmt_dominates_stmt_p)
PR tree-optimization/60844
	* tree-ssa-reassoc.c (reassoc_remove_stmt): New function.
	(propagate_op_to_single_use, remove_visited_stmt_chain,
	linearize_expr, repropagate_negates, reassociate_bb): Use it
	instead of gsi_remove.

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

From-SVN: r209442
2014-04-16 11:25:52 +02:00
Martin Jambor
ca860d0367 cgraphclones.c (cgraph_create_virtual_clone): Duplicate ipa_transforms_to_apply.
2014-04-16  Martin Jambor  <mjambor@suse.cz>

	* cgraphclones.c (cgraph_create_virtual_clone): Duplicate
	ipa_transforms_to_apply.
	(cgraph_function_versioning): Assert that old_node has empty
	ipa_transforms_to_apply.
	* trans-mem.c (ipa_tm_create_version): Likewise.
	* tree-inline.c (tree_function_versioning): Do not duplicate
	ipa_transforms_to_apply.

From-SVN: r209441
2014-04-16 11:20:43 +02:00
Rainer Orth
fe4e71e4d7 Correctly detect native TLS support with 64-bit gas on Solaris/x86 (PR target/60817)
PR target/60817
	* configure.ac (set_have_as_tls): Merge i[34567]86-*-* and
	x86_64-*-* cases.
	Pass necessary as flags on 64-bit Solaris/x86.
	Use lowercase relocs for x86_64-*-*.
	* configure: Regenerate.

From-SVN: r209440
2014-04-16 09:09:42 +00:00
GCC Administrator
a10663add3 Daily bump.
From-SVN: r209439
2014-04-16 00:17:04 +00:00
Jan Hubicka
ccb05ef2c3 ipa-devirt.c (referenced_from_vtable_p): New predicate.
* ipa-devirt.c (referenced_from_vtable_p): New predicate.
	(maybe_record_node, likely_target_p): Use it.

From-SVN: r209435
2014-04-15 21:01:04 +00:00
Jonathan Wakely
33fbb3584a shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)): Remove name of unused parameter.
* include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)):
	Remove name of unused parameter.

From-SVN: r209434
2014-04-15 21:15:38 +01:00
Jonathan Wakely
b9de84c92d * include/experimental/string_view: Fix inconsistent exception specs.
From-SVN: r209433
2014-04-15 20:05:57 +01:00
Jonathan Wakely
a1e1bc90cb container.cc: Do not use uninitialized members in mem-initializers.
* testsuite/24_iterators/insert_iterator/requirements/container.cc: Do
	not use uninitialized members in mem-initializers.
	* testsuite/ext/throw_value/cons.cc: Fix most vexing parse.
	* testsuite/util/testsuite_common_types.h: Update comment.

From-SVN: r209432
2014-04-15 20:05:52 +01:00
Jonathan Wakely
3a0f3672e5 re PR c++/60786 (In C++11 an explicit instantiation with an unqualified name must be in the right namespace)
PR c++/60786
	* testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
	1.cc: Fix invalid explicit instantiations with unqualified names.
	* testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
	2.cc: Likweise.
	* testsuite/20_util/tuple/53648.cc: Likweise.
	* testsuite/20_util/weak_ptr/requirements/explicit_instantiation/1.cc:
	Likewise.
	* testsuite/20_util/weak_ptr/requirements/explicit_instantiation/2.cc:
	Likewise.
	* testsuite/23_containers/unordered_map/requirements/
	debug_container.cc: Likewise.
	* testsuite/23_containers/unordered_map/requirements/
	explicit_instantiation/3.cc: Likewise.
	* testsuite/23_containers/unordered_multimap/requirements/debug.cc:
	Likewise.
	* testsuite/23_containers/unordered_multimap/requirements/
	explicit_instantiation/3.cc: Likewise.
	* testsuite/23_containers/unordered_multiset/requirements/debug.cc:
	Likewise.
	* testsuite/23_containers/unordered_multiset/requirements/
	explicit_instantiation/3.cc: Likewise.
	* testsuite/23_containers/unordered_set/requirements/
	debug_container.cc: Likewise.
	* testsuite/23_containers/unordered_set/requirements/
	explicit_instantiation/3.cc: Likewise.

From-SVN: r209431
2014-04-15 20:05:45 +01:00
Jonathan Wakely
227df36e33 * include/std/atomic: Uglify parameter names.
From-SVN: r209429
2014-04-15 19:28:57 +01:00
Jonathan Wakely
ed39835fdc shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)): Use delegating constructor.
* include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)): Use
	delegating constructor.
	* include/bits/shared_ptr_base.h
	(__shared_ptr::__shared_ptr(nullptr_t)): Likewise

From-SVN: r209428
2014-04-15 19:28:50 +01:00
Jonathan Wakely
260d16c8ca atomic_base.h (__atomic_base<_PTp*>::_M_type_size): Add const to constexpr member functions.
* include/bits/atomic_base.h (__atomic_base<_PTp*>::_M_type_size): Add
	const to constexpr member functions.

From-SVN: r209427
2014-04-15 19:28:41 +01:00
Bill Schmidt
dfe449d152 re PR target/60839 (PowerPC: internal compiler error: in extract_insn, at recog.c:2154)
2014-04-15  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	PR target/60839
	Revert following patch

	2014-04-02  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/60735
	* config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): If we have
	software floating point or no floating point registers, do not
	allow any type in the FPRs.  Eliminate a test for SPE SIMD types
	in GPRs that occurs after we tested for GPRs that would never be
	true.

	* config/rs6000/rs6000.md (mov<mode>_softfloat32, FMOVE64):
	Rewrite tests to use TARGET_DOUBLE_FLOAT and TARGET_E500_DOUBLE,
	since the FMOVE64 type is DFmode/DDmode.  If TARGET_E500_DOUBLE,
	specifically allow DDmode, since that does not use the SPE SIMD
	instructions.

From-SVN: r209425
2014-04-15 18:20:01 +00:00
Mark Wielaard
25dce5c6fb Add DW_AT_const_value as unsigned or int depending on type and value used.
As the comment in the code already indicated DWARF2 does provide
DW_FORM_sdata/DW_FORM_udata to represent signed/unsigned data.
Enumeration constants wider than HOST_WIDE_INT are already handled
separately. Those constant values that do fit a HOST_WIDE_INT can
be encoded as signed or unsigned depending on type and value for
more efficient encoding.

	* dwarf2out.c (gen_enumeration_type_die): Add DW_AT_const_value
	as unsigned or int depending on type and value used.

From-SVN: r209424
2014-04-15 17:18:20 +00:00
Richard Biener
8d3c076f3d re PR rtl-optimization/56965 (nonoverlapping_component_refs_p is bogus and slow)
2014-04-15  Richard Biener  <rguenther@suse.de>

	PR rtl-optimization/56965
	* alias.c (ncr_compar, nonoverlapping_component_refs_p): Move ...
	* tree-ssa-alias.c (ncr_compar, nonoverlapping_component_refs_p):
	... here.
	* alias.c (true_dependence_1): Do not call
	nonoverlapping_component_refs_p.
	* tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Call
	nonoverlapping_component_refs_p.
	(indirect_refs_may_alias_p): Likewise.

	* gcc.dg/torture/pr56965-1.c: New testcase.
	* gcc.dg/torture/pr56965-2.c: Likewise.

From-SVN: r209423
2014-04-15 16:04:11 +00:00
Jonathan Wakely
4803acceb2 re PR libstdc++/60594 (std::function of a type with a declared (but not defined) return type fails to compile)
PR libstdc++/60594
	* include/std/functional (function::_Callable): Exclude own type
	from the callable checks.
	* testsuite/20_util/function/60594.cc: New.

From-SVN: r209422
2014-04-15 16:25:52 +01:00
Teresa Johnson
d00e4baae7 cfg.c (dump_bb_info): Fix flags check.
2014-04-15  Teresa Johnson  <tejohnson@google.com>

	* cfg.c (dump_bb_info): Fix flags check.
	* tree-cfg.c (remove_bb): Only dump TDF_BLOCKS when removing.

2014-04-15  Teresa Johnson  <tejohnson@google.com>

	* gcc.dg/tree-prof/update-loopch.c: Update expected output.

From-SVN: r209421
2014-04-15 15:12:00 +00:00
Paolo Carlini
fe9208efaf decl.c (duplicate_decls): Remove redundant TYPE_NAME use.
2014-04-15  Paolo Carlini  <paolo.carlini@oracle.com>

	* decl.c (duplicate_decls): Remove redundant TYPE_NAME use.
	* name-lookup.c (pushdecl_maybe_friend_1): Likewise.
	(do_class_using_decl): Likewise.
	* mangle.c (dump_substitution_candidates): Use TYPE_NAME_STRING.

From-SVN: r209420
2014-04-15 14:31:40 +00:00
Kyrylo Tkachov
98a2fdfba6 re PR rtl-optimization/60663 (Errors out on valid inline asm)
PR rtl-optimization/60663
	* config/arm/arm.c (arm_new_rtx_costs): Improve ASM_OPERANDS case,
	avoid 0 cost.

From-SVN: r209419
2014-04-15 14:04:06 +00:00
Jonathan Wakely
9ffc6d0bc2 re PR libstdc++/60695 (std::atomic<X> doesn't work when X is of zero size)
PR libstdc++/60695
	* include/std/atomic (atomic<_Tp>): Add static assertion.
	* testsuite/29_atomics/atomic/60695.cc: New.

From-SVN: r209418
2014-04-15 14:48:07 +01:00
Richard Biener
b9ed2c2ce1 lto-streamer.h (LTO_major_version): Bump to 4.
2014-04-15  Richard Biener  <rguenther@suse.de>

	* lto-streamer.h (LTO_major_version): Bump to 4.

From-SVN: r209417
2014-04-15 13:25:44 +00:00
Richard Biener
783dab6bd5 common.opt (lto_partition_model): New enum.
2014-04-15  Richard Biener  <rguenther@suse.de>

	* common.opt (lto_partition_model): New enum.
	(flto-partition=): Merge separate options with a single with argument,
	add -flto-partition=one support.
	* flag-types.h (enum lto_partition_model): Declare.
	* opts.c (finish_options): Remove duplicate -flto-partition=
	option check.
	* lto-wrapper.c (run_gcc): Adjust.

	lto/
	* lto.c: Include params.h.
	(do_whole_program_analysis): Switch on flag_lto_partition value,
	add support for LTO_PARTITION_ONE.
	* lto-partition.h (lto_balanced_map): Adjust.
	* lto-partition.c (lto_balanced_map): Get number of desired
	partitions as argument to support -flto-partition=one.

From-SVN: r209416
2014-04-15 12:56:16 +00:00
Eric Botcazou
f51b85728a * gcc-interface/trans.c (Case_Statement_to_gnu): Revert latest change.
From-SVN: r209415
2014-04-15 11:09:33 +00:00