Commit Graph

138979 Commits

Author SHA1 Message Date
Thomas Schwinge
d7efbbf6af libgomp: XFAIL two libgomp.oacc-* tests
PR libgomp/66518
	libgomp/
	* testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL.
	* testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.

From-SVN: r224639
2015-06-19 09:41:37 +02:00
Christian Bruel
a19d9c69e4 re PR target/66541 (r224314 causes ICE in gcc.dg/torture/pr52429.c)
PR target/66541
PR target/52144
* config/arm/arm.c (arm_set_current_function): Handle
explicit default options.

From-SVN: r224638
2015-06-19 08:58:22 +02:00
GCC Administrator
36f1dbb02f Daily bump.
From-SVN: r224637
2015-06-19 00:16:15 +00:00
Uros Bizjak
a5224bb7cb i386.md (*movsicc_noc_zext): New insn.
* config/i386/i386.md (*movsicc_noc_zext): New insn.
	(zero-extended cmove with mem peephole2): New pattern.
	(cmove with mem peephole2): Merge patterns.

testsuite/ChangeLog:

	* gcc.target/i386/cmov9.c: New test.

From-SVN: r224631
2015-06-18 21:26:26 +02:00
Segher Boessenkool
861b6407e4 * config/rs6000/rs6000.h (WORD_REGISTER_OPERATIONS): Delete.
From-SVN: r224629
2015-06-18 20:10:12 +02:00
Steve Ellcey
9ebfea12d2 mips.c (mips_rtx_costs): Remove HONOR_NAN check.
2015-06-18  Steve Ellcey  <sellcey@imgtec.com>

	* config/mips/mips.c (mips_rtx_costs): Remove HONOR_NAN check.
	* config/mips/mips.md (*madd4<mode>): Ditto.
	(*nmadd3<mode>) Ditto.
	(*nmadd4<mode>_fastmath): Ditto.
	(*nmadd3<mode>_fastmath): Ditto.
	(*nmsub4<mode>): Ditto.
	(*nmsub3<mode>): Ditto.
	(*nmsub4<mode>_fastmath): Ditto.
	(*nmsub3<mode>_fastmath): Ditto.

From-SVN: r224625
2015-06-18 15:17:49 +00:00
Jason Merrill
769430b29c re PR c++/66001 (ICE when NSDMI in a literal class uses a destructor)
PR c++/66001
	* constexpr.c (cxx_eval_constant_expression): Handle TRY_BLOCK and
	TRY_FINALLY_EXPR.
	(potential_constant_expression_1): Likewise.

From-SVN: r224620
2015-06-18 10:55:23 -04:00
Richard Biener
7e92772131 const4.C: New testcase.
2015-06-18  Richard Biener  <rguenther@suse.de>

	* g++.dg/other/const4.C: New testcase.

From-SVN: r224618
2015-06-18 14:52:57 +00:00
Jason Merrill
74cc78a623 * g++.dg/cpp0x/initlist96.C: Use <initializer_list>.
From-SVN: r224606
2015-06-18 09:44:16 -04:00
Michael Matz
f502d50e30 re PR middle-end/66253 (459.GemsFDTD in SPEC CPU 2006 is miscompiled)
PR middle-end/66253
	* tree-vect-stmts.c (vectorizable_store): Implement non-SLP
	grouped strided stores.
	(vectorizable_load): Don't use the DR from first_stmt in
	the non-SLP grouped strided case.

testsuite/
	* gcc.dg/vect/pr66253.c: New testcase.

From-SVN: r224605
2015-06-18 13:31:17 +00:00
Ilya Enkovich
55429190dd re PR target/66569 ([CHKP] internal compiler error: in assign_by_spills)
gcc/

	PR target/66569
	* function.c (assign_bounds): Add arguments assign_regs,
	assign_special, assign_bt.
	(assign_parms): For vararg functions handle bounds in BT
	and special slots after incoming vararg bounds.

gcc/testsuite/

	PR target/66569
	* gcc.target/i386/mpx/chkp-vararg.c: New test.

From-SVN: r224602
2015-06-18 10:18:48 +00:00
Ilya Enkovich
855f036dcc re PR middle-end/66568 ([CHKP] internal compiler error: in expand_expr_addr_expr_1)
gcc/

	PR middle-end/66568
	* cfgexpand.c (expand_return): Handle missing bounds.
	(expand_gimple_stmt_1): Likewise.
	* tree-chkp.c (chkp_expand_zero_bounds): New.
	* tree-chkp.h (chkp_expand_zero_bounds): New.

gcc/testsuite/

	PR middle-end/66568
	* gcc.target/i386/mpx/pr66568.c: New test.

From-SVN: r224601
2015-06-18 10:14:38 +00:00
Ilya Enkovich
847ffe1718 re PR middle-end/66567 ([CHKP] internal compiler error: in assign_parms)
gcc/

	PR middle-end/66567
	* ipa-chkp.c (chkp_maybe_create_clone): Require
	functions to be instrumentable.
	* tree-chkp.c (chkp_replace_function_pointer): Use
	chkp_instrumentable_p instead of attribute check.

gcc/testsuite/

	PR middle-end/66567
	* gcc.target/i386/mpx/pr66567.c: New test.

From-SVN: r224600
2015-06-18 10:09:22 +00:00
Jakub Jelinek
cc63a7fac4 re PR c++/66571 (Template substitution causes some OpenMP rejects-valid)
PR c++/66571
	* pt.c (tsubst_omp_clause_decl): New function.
	(tsubst_omp_clauses): Use it or tsubst_copy instead of
	tsubst_expr on OMP_CLAUSE_DECL.

	* g++.dg/gomp/pr66571-1.C: New test.

From-SVN: r224599
2015-06-18 11:54:17 +02:00
Richard Biener
91ff150410 re PR tree-optimization/66510 (gcc.target/arm/pr53636.c FAILs after r224221)
2015-06-18  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/66510
	* tree-vect-stmts.c (vectorizable_load): Properly compute the
	number of vector loads for SLP permuted loads.
	* tree-vect-data-refs.c (vect_compute_data_ref_alignment): Also
	check the stride for loop vectorization.
	(vect_enhance_data_refs_alignment): Deal with SLP adjusted
	vectorization factor.
	(vect_analyze_group_access): If the group size is not a power
	of two require a epilogue loop.
	* tree-vect-loop.c (vect_analyze_loop_2): Move alignment
	compute and optimizing and alias test pruning after final
	vectorization factor computation.
	* tree-vect-slp.c (vect_build_slp_tree_1): Remove check on
	vector alignment.
	(vect_transform_slp_perm_load): Properly compute the original
	number of vector load stmts.

	* gcc.dg/vect/slp-perm-12.c: New testcase.

From-SVN: r224598
2015-06-18 09:39:13 +00:00
Uros Bizjak
d38052e048 invoke.texi (-fsanitize-sections): Split @var to avoid "unlikely character , in @var" warning.
* doc/invoke.texi (-fsanitize-sections): Split @var to avoid
        "unlikely character , in @var" warning.

From-SVN: r224596
2015-06-18 10:31:43 +02:00
GCC Administrator
acd170827c Daily bump.
From-SVN: r224591
2015-06-18 00:16:19 +00:00
Jason Merrill
9fa6ffe1ba re PR c++/66515 (g++ segfaults when creating an std::initializer_list)
PR c++/66515
	* call.c (implicit_conversion): Call reshape_init here, early.
	(build_aggr_conv): Not here.

From-SVN: r224581
2015-06-17 16:45:32 -04:00
Jonathan Wakely
cc7f3d0eee C++11 allocator support for std::list.
PR libstdc++/55409
	* include/bits/list.tcc (_List_base::_M_clear()): Use allocator traits.
	(list::list(const list&)): Use allocator propagation trait. Use
	_M_assign_dispatch to copy elements.
	* include/bits/stl_list.h (_List_node): Use __aligned_membuf in C++11.
	(_List_node::_M_valptr()): Add accessor for stored value.
	(_List_iterator, _List_const_iterator, _List_base): Use _M_valptr().
	(_List_base, list): Use allocator traits.
	(_List_base::_M_get_Tp_allocator, _List_base::get_allocator): Remove.
	(_List_base::_M_move_nodes): New function.
	(_List_base(_List_base&&)): Use _M_move_nodes.
	(_List_base(_List_base&&, _Node_alloc_type&&)): New constructor.
	(list::_M_create_node, list::_M_erase, list::max_size): Use allocator
	traits.
	(list(size_type)): Add allocator parameter.
	(list(const list&)): Use allocator propagation trait.
	(list(const list&, const allocator_type&)): New constructor.
	(list(list&&, const allocator_type&)): Likewise.
	(list::operator=(list&&), list::swap(list&)): Use allocator
	propagation traits.
	(list::_M_move_assign): New functions.
	* include/debug/list: Add allocator-extended constructors.
	* include/profile/list: Likewise.
	* python/libstdcxx/v6/printers.py (get_value_from_list_node): New
	function to get value from _List_node.
	(StdListPrinter): Use get_value_from_list_node.
	* testsuite/23_containers/list/allocator/copy.cc: New.
	* testsuite/23_containers/list/allocator/copy_assign.cc: New.
	* testsuite/23_containers/list/allocator/minimal.cc: New.
	* testsuite/23_containers/list/allocator/move.cc: New.
	* testsuite/23_containers/list/allocator/move_assign.cc: New.
	* testsuite/23_containers/list/allocator/noexcept.cc: New.
	* testsuite/23_containers/list/allocator/swap.cc: New.
	* testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
	Adjust dg-prune-output line number.
	* testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
	Likewise.
	* testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
	Likewise.

From-SVN: r224580
2015-06-17 21:36:42 +01:00
Uros Bizjak
917ad3c685 noplt-1.c (dg-do): Fix target selector.
* gcc.target/i386/noplt-1.c (dg-do): Fix target selector.
	* gcc.target/i386/noplt-2.c (dg-do): Ditto.
	* gcc.target/i386/noplt-3.c (dg-do): Ditto.
	* gcc.target/i386/noplt-4.c (dg-do): ditto.

From-SVN: r224578
2015-06-17 22:34:57 +02:00
Uros Bizjak
341d2da30c i386.c (ix86_function_arg): Nest TARGET_64BIT code.
* config/i386/i386.c (ix86_function_arg): Nest TARGET_64BIT code.
	(ix86_function_arg_advance): Ditto.
	(ix86_pass_by_reference): Ditto.  Rewrite MS_ABI part.

From-SVN: r224576
2015-06-17 21:54:10 +02:00
Andrew MacLeod
2bb8cb5896 function.h (struct rtl_data): Remove struct and accessor macros.
2015-06-17  Andrew MacLeod  <amacleod@redhat.com>

	* function.h (struct rtl_data): Remove struct and accessor macros.
	* emit-rtl.h (struct rtl_data): Relocate to here.
	* Makefile.in (GTFILES): Add emit-rtl.h.
	* df-core.c: Include emit-rtl.h.
	* genattrtab.c: Likewise.
	* genconditions.c: Likewise.
	* genpreds.c: Likewise.
	* genrecog.c: Likewise.
	* regcprop.c: Likewise.
	* resource.c: Likewise.
	* sched-rgn.c: Likewise.
	* config/aarch64/cortex-a57-fma-steering.c: Likewise.
	* config/i386/winnt.c: Likewise.

From-SVN: r224573
2015-06-17 18:53:03 +00:00
Jakub Jelinek
a1ceb6041e re PR middle-end/66429 (ICE in expand_GOMP_SIMD_LAST_LANE)
PR middle-end/66429
	* omp-low.c (expand_omp_taskreg, expand_omp_target): Use child_cfun
	instead of DECL_STRUCT_FUNCTION (child_fn).  Or in has_simduid_loops
	and has_force_vectorize_loops flags from cfun into
	child_cfun.
	(expand_omp_simd): For broken loop, set cfun->has_simduid_loops
	if simduid is non-NULL.
	* tree-pass.h (make_pass_simduid_cleanup): New prototype.
	* passes.def (pass_simduid_cleanup): Add new pass after loop
	passes.
	* tree-vectorizer.c (adjust_simduid_builtins): Remove one unnecessary
	indirection from htab argument's type.
	(shrink_simd_arrays): New function.
	(vectorize_loops): Use it.  Adjust adjust_simduid_builtins caller.
	Don't call adjust_simduid_builtins if there are no loops.
	(pass_data_simduid_cleanup, pass_simduid_cleanup): New variables.
	(pass_simduid_cleanup::execute): New method.
	(make_pass_simduid_cleanup): New function.

From-SVN: r224571
2015-06-17 20:11:42 +02:00
Jakub Jelinek
64b5fcfa3b re PR c++/66571 (Template substitution causes some OpenMP rejects-valid)
PR c++/66571
	* pt.c (tsubst_omp_clause_decl): New function.
	(tsubst_omp_clauses): Use it or tsubst_copy instead of
	tsubst_expr on OMP_CLAUSE_DECL.

	* g++.dg/gomp/pr66571-1.C: New test.

From-SVN: r224569
2015-06-17 20:01:05 +02:00
Jakub Jelinek
8c8b9f3265 re PR middle-end/66429 (ICE in expand_GOMP_SIMD_LAST_LANE)
PR middle-end/66429
	* omp-low.c (expand_omp_taskreg): Use child_cfun instead of
	DECL_STRUCT_FUNCTION (child_fn).  Or in has_simduid_loops
	and has_force_vectorize_loops flags from cfun into
	child_cfun.
	(expand_omp_simd): For broken loop, set cfun->has_simduid_loops
	if simduid is non-NULL.
	* tree-pass.h (make_pass_simduid_cleanup): New prototype.
	* passes.def (pass_simduid_cleanup): Add new pass after loop
	passes.
	* tree-vectorizer.c (adjust_simduid_builtins): Remove one unnecessary
	indirection from htab argument's type.
	(shrink_simd_arrays): New function.
	(vectorize_loops): Use it.  Adjust adjust_simduid_builtins caller.
	Don't call adjust_simduid_builtins if there are no loops.
	(pass_data_simduid_cleanup, pass_simduid_cleanup): New variables.
	(pass_simduid_cleanup::execute): New method.
	(make_pass_simduid_cleanup): New function.

	* c-c++-common/gomp/pr66429.c: New test.

From-SVN: r224568
2015-06-17 19:59:25 +02:00
Andrew MacLeod
f6e3667f97 tree-core.h (tree_target_option): Make opts field a pointer to a cl_target_option instead of an instance of the...
2017-06-17  Andrew MacLeod  <amacleod@redhat.com>

	* tree-core.h (tree_target_option): Make opts field a pointer to a 
	cl_target_option instead of an instance of the struct.
	* tree.h (TREE_TARGET_OPTION): Return the pointer, not an address of
	the structure.
	* tree.c (make_node_stat ): Allocate a cl_target_option struct for 
	TARGET_OPTION_NODE.
	(copy_node_stat): Allocate and copy struct cl_target_option.

From-SVN: r224567
2015-06-17 17:55:26 +00:00
Jonathan Wakely
21bdef94b1 forward_list.h (_Fwd_list_base(const _Node_alloc_type&)): Change parameter to rvalue-reference.
* include/bits/forward_list.h
	(_Fwd_list_base(const _Node_alloc_type&)): Change parameter to
	rvalue-reference.
	(_Fwd_list_base(_Fwd_list_base&&, const _Node_alloc_type&)): Likewise.
	(forward_list(const _Alloc&)): Split default constructor out to
	separate function.
	(forward_list(forward_list&&, const _Alloc&)): Move elements if base
	class didn't do so.
	(forward_list::_M_move_assign(forward_list&&, true_type)): Replace
	swap call with two assignments.
	* include/bits/forward_list.tcc
	(_Fwd_list_base(_Fwd_list_base&&, const _Node_alloc_type&)): Don't
	move elements when allocators are not equal.
	* include/debug/forward_list (forward_list(const allocator_type&)):
	Split default constructor out to separate function.
	* include/profile/forward_list (forward_list(const _Alloc&)):
	Likewise.

From-SVN: r224566
2015-06-17 18:45:45 +01:00
David Malcolm
41571b55b1 jit: Add missing type-checking to gcc_jit_{l|r}value_access_field
gcc/jit/ChangeLog:
	* libgccjit.c (gcc_jit_lvalue_access_field): Verify that the field
	is for the correct struct.
	(gcc_jit_rvalue_access_field): Likewise.

gcc/testsuite/ChangeLog:
	* jit.dg/test-error-accessing-field-in-other-struct.c: Rename to...
	* jit.dg/test-error-gcc_jit_rvalue_dereference_field-wrong-struct.c:
	...this.
	* jit.dg/test-error-gcc_jit_lvalue_access_field-wrong-struct.c:
	New testcase.
	* jit.dg/test-error-gcc_jit_rvalue_access_field-wrong-struct.c:
	New testcase.

From-SVN: r224565
2015-06-17 16:04:18 +00:00
Andrew MacLeod
ee47f74ef0 tree.h (merge_dllimport_decl_attributes, [...]): Remove conditional exposure of prototypes.
* tree.h (merge_dllimport_decl_attributes, handle_dll_attribute):
	Remove conditional exposure of prototypes.
	(ANON_AGGRNAME_FORMAT, ANON_AGGRNAME_P): Delete.
	* tree.c (anon_aggrname_format, anon_aggrname_p): New.  Replace macro
	definitions in tree.h with functions.
	* lto-streamer-out.c (DFS_write_tree_body, hash_tree): Use
	anon_aggrname_p.
	* tree-streamer-out.c (write_ts_decl_minimal_tree_pointers): Likewise.

	* cp/cp-lang.c (cxx_dwarf_name): Use anon_aggrname_p.
	* cp/cp-tree.h (TYPE_ANONYMOUS_P): Likewise.
	* cp/decl.c (grokdeclarator, xref_tag_1): Likewise.
	* cp/error.c (dump_aggr_type): likewise.
	* cp/pt.c (push_template_decl_real): Likewise.
	* cp/name-lookup.c (make_anon_name): Use anon_aggrname_format.

From-SVN: r224564
2015-06-17 15:36:02 +00:00
Segher Boessenkool
82ba6a8e7e rs6000.md (*cmp<mode>_internal1): Rename to...
* config/rs6000/rs6000.md (*cmp<mode>_internal1): Rename to...
	(*cmp<mode>_signed): ... this.
	(*cmpsi_internal2, *cmpdi_internal2): Merge, rename to...
	(*cmp<mode>_unsigned): ... this.  Remove %b.

From-SVN: r224563
2015-06-17 17:18:03 +02:00
Andrew MacLeod
abb226c954 coretypes.h: Include input.h and as-a.h.
2015-06-17  Andrew MacLeod  <amacleod@redhat.com>

	* coretypes.h: Include input.h and as-a.h.
	* rtl.h: Include input.h and as-a.h for generator files.
	* hwint.c: Include input.h.
	* vec.c: Include input.h.
	* alias.c: Do not include input.h, line-map.h or is-a.h.
	* asan.c: Likewise.
	* attribs.c: Likewise.
	* auto-inc-dec.c: Likewise.
	* auto-profile.c: Likewise.
	* bb-reorder.c: Likewise.
	* bt-load.c: Likewise.
	* builtins.c: Likewise.
	* caller-save.c: Likewise.
	* calls.c: Likewise.
	* ccmp.c: Likewise.
	* cfg.c: Likewise.
	* cfganal.c: Likewise.
	* cfgbuild.c: Likewise.
	* cfgcleanup.c: Likewise.
	* cfgexpand.c: Likewise.
	* cfghooks.c: Likewise.
	* cfgloop.c: Likewise.
	* cfgloop.h: Likewise.
	* cfgloopanal.c: Likewise.
	* cfgloopmanip.c: Likewise.
	* cfgrtl.c: Likewise.
	* cgraph.c: Likewise.
	* cgraphbuild.c: Likewise.
	* cgraphclones.c: Likewise.
	* cgraphunit.c: Likewise.
	* cilk-common.c: Likewise.
	* combine-stack-adj.c: Likewise.
	* combine.c: Likewise.
	* compare-elim.c: Likewise.
	* convert.c: Likewise.
	* coverage.c: Likewise.
	* cppbuiltin.c: Likewise.
	* cprop.c: Likewise.
	* cse.c: Likewise.
	* cselib.c: Likewise.
	* data-streamer-in.c: Likewise.
	* data-streamer-out.c: Likewise.
	* data-streamer.c: Likewise.
	* dbxout.c: Likewise.
	* dce.c: Likewise.
	* ddg.c: Likewise.
	* debug.c: Likewise.
	* df-core.c: Likewise.
	* df-problems.c: Likewise.
	* df-scan.c: Likewise.
	* df.h: Likewise.
	* dfp.c: Likewise.
	* diagnostic-core.h: Likewise.
	* diagnostic.c: Likewise.
	* dojump.c: Likewise.
	* dominance.c: Likewise.
	* domwalk.c: Likewise.
	* double-int.c: Likewise.
	* dse.c: Likewise.
	* dumpfile.c: Likewise.
	* dumpfile.h: Likewise.
	* dwarf2asm.c: Likewise.
	* dwarf2cfi.c: Likewise.
	* dwarf2out.c: Likewise.
	* emit-rtl.c: Likewise.
	* et-forest.c: Likewise.
	* except.c: Likewise.
	* explow.c: Likewise.
	* expmed.c: Likewise.
	* expr.c: Likewise.
	* final.c: Likewise.
	* fixed-value.c: Likewise.
	* fold-const.c: Likewise.
	* function.c: Likewise.
	* fwprop.c: Likewise.
	* gcc-plugin.h: Likewise.
	* gcse.c: Likewise.
	* generic-match-head.c: Likewise.
	* ggc-page.c: Likewise.
	* gimple-builder.c: Likewise.
	* gimple-expr.c: Likewise.
	* gimple-fold.c: Likewise.
	* gimple-iterator.c: Likewise.
	* gimple-low.c: Likewise.
	* gimple-match-head.c: Likewise.
	* gimple-pretty-print.c: Likewise.
	* gimple-ssa-isolate-paths.c: Likewise.
	* gimple-ssa-strength-reduction.c: Likewise.
	* gimple-streamer-in.c: Likewise.
	* gimple-streamer-out.c: Likewise.
	* gimple-streamer.h: Likewise.
	* gimple-walk.c: Likewise.
	* gimple.c: Likewise.
	* gimplify-me.c: Likewise.
	* gimplify.c: Likewise.
	* godump.c: Likewise.
	* graph.c: Likewise.
	* graphite-blocking.c: Likewise.
	* graphite-dependences.c: Likewise.
	* graphite-interchange.c: Likewise.
	* graphite-isl-ast-to-gimple.c: Likewise.
	* graphite-optimize-isl.c: Likewise.
	* graphite-poly.c: Likewise.
	* graphite-scop-detection.c: Likewise.
	* graphite-sese-to-poly.c: Likewise.
	* graphite.c: Likewise.
	* haifa-sched.c: Likewise.
	* hw-doloop.c: Likewise.
	* ifcvt.c: Likewise.
	* init-regs.c: Likewise.
	* input.c: Likewise.
	* internal-fn.c: Likewise.
	* ipa-chkp.c: Likewise.
	* ipa-comdats.c: Likewise.
	* ipa-cp.c: Likewise.
	* ipa-devirt.c: Likewise.
	* ipa-icf-gimple.c: Likewise.
	* ipa-icf.c: Likewise.
	* ipa-inline-analysis.c: Likewise.
	* ipa-inline-transform.c: Likewise.
	* ipa-inline.c: Likewise.
	* ipa-polymorphic-call.c: Likewise.
	* ipa-profile.c: Likewise.
	* ipa-prop.c: Likewise.
	* ipa-pure-const.c: Likewise.
	* ipa-ref.c: Likewise.
	* ipa-reference.c: Likewise.
	* ipa-split.c: Likewise.
	* ipa-utils.c: Likewise.
	* ipa-visibility.c: Likewise.
	* ipa.c: Likewise.
	* ira-build.c: Likewise.
	* ira-color.c: Likewise.
	* ira-conflicts.c: Likewise.
	* ira-costs.c: Likewise.
	* ira-emit.c: Likewise.
	* ira-lives.c: Likewise.
	* ira.c: Likewise.
	* jump.c: Likewise.
	* langhooks.c: Likewise.
	* lcm.c: Likewise.
	* loop-doloop.c: Likewise.
	* loop-init.c: Likewise.
	* loop-invariant.c: Likewise.
	* loop-iv.c: Likewise.
	* loop-unroll.c: Likewise.
	* lower-subreg.c: Likewise.
	* lra-assigns.c: Likewise.
	* lra-coalesce.c: Likewise.
	* lra-constraints.c: Likewise.
	* lra-eliminations.c: Likewise.
	* lra-lives.c: Likewise.
	* lra-remat.c: Likewise.
	* lra-spills.c: Likewise.
	* lra.c: Likewise.
	* lto-cgraph.c: Likewise.
	* lto-compress.c: Likewise.
	* lto-opts.c: Likewise.
	* lto-section-in.c: Likewise.
	* lto-section-out.c: Likewise.
	* lto-streamer-in.c: Likewise.
	* lto-streamer-out.c: Likewise.
	* lto-streamer.c: Likewise.
	* mcf.c: Likewise.
	* mode-switching.c: Likewise.
	* modulo-sched.c: Likewise.
	* omega.c: Likewise.
	* omp-low.c: Likewise.
	* optabs.c: Likewise.
	* opts-global.c: Likewise.
	* opts.h: Likewise.
	* passes.c: Likewise.
	* plugin.c: Likewise.
	* postreload-gcse.c: Likewise.
	* postreload.c: Likewise.
	* predict.c: Likewise.
	* pretty-print.h: Likewise.
	* print-rtl.c: Likewise.
	* print-tree.c: Likewise.
	* profile.c: Likewise.
	* real.c: Likewise.
	* realmpfr.c: Likewise.
	* recog.c: Likewise.
	* ree.c: Likewise.
	* reg-stack.c: Likewise.
	* regcprop.c: Likewise.
	* reginfo.c: Likewise.
	* regrename.c: Likewise.
	* regstat.c: Likewise.
	* reload.c: Likewise.
	* reload1.c: Likewise.
	* reorg.c: Likewise.
	* resource.c: Likewise.
	* rtl-chkp.c: Likewise.
	* rtl-error.c: Likewise.
	* rtlanal.c: Likewise.
	* rtlhooks.c: Likewise.
	* sanopt.c: Likewise.
	* sched-deps.c: Likewise.
	* sched-ebb.c: Likewise.
	* sched-rgn.c: Likewise.
	* sched-vis.c: Likewise.
	* sdbout.c: Likewise.
	* sel-sched-dump.c: Likewise.
	* sel-sched-ir.c: Likewise.
	* sel-sched.c: Likewise.
	* sese.c: Likewise.
	* shrink-wrap.c: Likewise.
	* simplify-rtx.c: Likewise.
	* stack-ptr-mod.c: Likewise.
	* statistics.c: Likewise.
	* stmt.c: Likewise.
	* stor-layout.c: Likewise.
	* store-motion.c: Likewise.
	* streamer-hooks.c: Likewise.
	* stringpool.c: Likewise.
	* symtab.c: Likewise.
	* target-globals.c: Likewise.
	* targhooks.c: Likewise.
	* toplev.c: Likewise.
	* tracer.c: Likewise.
	* trans-mem.c: Likewise.
	* tree-affine.c: Likewise.
	* tree-browser.c: Likewise.
	* tree-call-cdce.c: Likewise.
	* tree-cfg.c: Likewise.
	* tree-cfgcleanup.c: Likewise.
	* tree-chkp-opt.c: Likewise.
	* tree-chkp.c: Likewise.
	* tree-chrec.c: Likewise.
	* tree-complex.c: Likewise.
	* tree-data-ref.c: Likewise.
	* tree-dfa.c: Likewise.
	* tree-diagnostic.c: Likewise.
	* tree-dump.c: Likewise.
	* tree-eh.c: Likewise.
	* tree-emutls.c: Likewise.
	* tree-if-conv.c: Likewise.
	* tree-inline.c: Likewise.
	* tree-into-ssa.c: Likewise.
	* tree-iterator.c: Likewise.
	* tree-loop-distribution.c: Likewise.
	* tree-nested.c: Likewise.
	* tree-nrv.c: Likewise.
	* tree-object-size.c: Likewise.
	* tree-outof-ssa.c: Likewise.
	* tree-parloops.c: Likewise.
	* tree-phinodes.c: Likewise.
	* tree-predcom.c: Likewise.
	* tree-pretty-print.c: Likewise.
	* tree-profile.c: Likewise.
	* tree-scalar-evolution.c: Likewise.
	* tree-sra.c: Likewise.
	* tree-ssa-address.c: Likewise.
	* tree-ssa-alias.c: Likewise.
	* tree-ssa-ccp.c: Likewise.
	* tree-ssa-coalesce.c: Likewise.
	* tree-ssa-copy.c: Likewise.
	* tree-ssa-copyrename.c: Likewise.
	* tree-ssa-dce.c: Likewise.
	* tree-ssa-dom.c: Likewise.
	* tree-ssa-dse.c: Likewise.
	* tree-ssa-forwprop.c: Likewise.
	* tree-ssa-ifcombine.c: Likewise.
	* tree-ssa-live.c: Likewise.
	* tree-ssa-loop-ch.c: Likewise.
	* tree-ssa-loop-im.c: Likewise.
	* tree-ssa-loop-ivcanon.c: Likewise.
	* tree-ssa-loop-ivopts.c: Likewise.
	* tree-ssa-loop-manip.c: Likewise.
	* tree-ssa-loop-niter.c: Likewise.
	* tree-ssa-loop-prefetch.c: Likewise.
	* tree-ssa-loop-unswitch.c: Likewise.
	* tree-ssa-loop.c: Likewise.
	* tree-ssa-math-opts.c: Likewise.
	* tree-ssa-operands.c: Likewise.
	* tree-ssa-phiopt.c: Likewise.
	* tree-ssa-phiprop.c: Likewise.
	* tree-ssa-pre.c: Likewise.
	* tree-ssa-propagate.c: Likewise.
	* tree-ssa-reassoc.c: Likewise.
	* tree-ssa-sccvn.c: Likewise.
	* tree-ssa-scopedtables.c: Likewise.
	* tree-ssa-sink.c: Likewise.
	* tree-ssa-strlen.c: Likewise.
	* tree-ssa-structalias.c: Likewise.
	* tree-ssa-tail-merge.c: Likewise.
	* tree-ssa-ter.c: Likewise.
	* tree-ssa-threadedge.c: Likewise.
	* tree-ssa-threadupdate.c: Likewise.
	* tree-ssa-uncprop.c: Likewise.
	* tree-ssa-uninit.c: Likewise.
	* tree-ssa.c: Likewise.
	* tree-ssanames.c: Likewise.
	* tree-stdarg.c: Likewise.
	* tree-streamer-in.c: Likewise.
	* tree-streamer-out.c: Likewise.
	* tree-streamer.c: Likewise.
	* tree-switch-conversion.c: Likewise.
	* tree-tailcall.c: Likewise.
	* tree-vect-data-refs.c: Likewise.
	* tree-vect-generic.c: Likewise.
	* tree-vect-loop-manip.c: Likewise.
	* tree-vect-loop.c: Likewise.
	* tree-vect-patterns.c: Likewise.
	* tree-vect-slp.c: Likewise.
	* tree-vect-stmts.c: Likewise.
	* tree-vectorizer.c: Likewise.
	* tree-vrp.c: Likewise.
	* tree.c: Likewise.
	* tsan.c: Likewise.
	* ubsan.c: Likewise.
	* valtrack.c: Likewise.
	* value-prof.c: Likewise.
	* var-tracking.c: Likewise.
	* varasm.c: Likewise.
	* varpool.c: Likewise.
	* vmsdbgout.c: Likewise.
	* vtable-verify.c: Likewise.
	* web.c: Likewise.
	* wide-int.cc: Likewise.
	* xcoffout.c: Likewise.
	* config/aarch64/aarch64-builtins.c: Likewise.
	* config/aarch64/aarch64.c: Likewise.
	* config/alpha/alpha.c: Likewise.
	* config/arc/arc.c: Likewise.
	* config/arm/aarch-common.c: Likewise.
	* config/arm/arm-builtins.c: Likewise.
	* config/arm/arm-c.c: Likewise.
	* config/arm/arm.c: Likewise.
	* config/avr/avr-c.c: Likewise.
	* config/avr/avr-log.c: Likewise.
	* config/avr/avr.c: Likewise.
	* config/bfin/bfin.c: Likewise.
	* config/c6x/c6x.c: Likewise.
	* config/cr16/cr16.c: Likewise.
	* config/cris/cris.c: Likewise.
	* config/darwin-c.c: Likewise.
	* config/darwin.c: Likewise.
	* config/default-c.c: Likewise.
	* config/epiphany/epiphany.c: Likewise.
	* config/epiphany/mode-switch-use.c: Likewise.
	* config/epiphany/resolve-sw-modes.c: Likewise.
	* config/fr30/fr30.c: Likewise.
	* config/frv/frv.c: Likewise.
	* config/ft32/ft32.c: Likewise.
	* config/glibc-c.c: Likewise.
	* config/h8300/h8300.c: Likewise.
	* config/i386/i386-c.c: Likewise.
	* config/i386/i386.c: Likewise.
	* config/i386/msformat-c.c: Likewise.
	* config/i386/winnt-cxx.c: Likewise.
	* config/i386/winnt-stubs.c: Likewise.
	* config/i386/winnt.c: Likewise.
	* config/ia64/ia64-c.c: Likewise.
	* config/ia64/ia64.c: Likewise.
	* config/iq2000/iq2000.c: Likewise.
	* config/lm32/lm32.c: Likewise.
	* config/m32c/m32c-pragma.c: Likewise.
	* config/m32c/m32c.c: Likewise.
	* config/m32r/m32r.c: Likewise.
	* config/m68k/m68k.c: Likewise.
	* config/mcore/mcore.c: Likewise.
	* config/mep/mep-pragma.c: Likewise.
	* config/mep/mep.c: Likewise.
	* config/microblaze/microblaze-c.c: Likewise.
	* config/microblaze/microblaze.c: Likewise.
	* config/mips/mips.c: Likewise.
	* config/mmix/mmix.c: Likewise.
	* config/mn10300/mn10300.c: Likewise.
	* config/moxie/moxie.c: Likewise.
	* config/msp430/msp430-c.c: Likewise.
	* config/msp430/msp430.c: Likewise.
	* config/nds32/nds32-cost.c: Likewise.
	* config/nds32/nds32-fp-as-gp.c: Likewise.
	* config/nds32/nds32-intrinsic.c: Likewise.
	* config/nds32/nds32-isr.c: Likewise.
	* config/nds32/nds32-md-auxiliary.c: Likewise.
	* config/nds32/nds32-memory-manipulation.c: Likewise.
	* config/nds32/nds32-pipelines-auxiliary.c: Likewise.
	* config/nds32/nds32-predicates.c: Likewise.
	* config/nds32/nds32.c: Likewise.
	* config/nios2/nios2.c: Likewise.
	* config/nvptx/nvptx.c: Likewise.
	* config/pa/pa.c: Likewise.
	* config/pdp11/pdp11.c: Likewise.
	* config/rl78/rl78-c.c: Likewise.
	* config/rl78/rl78.c: Likewise.
	* config/rs6000/rs6000-c.c: Likewise.
	* config/rs6000/rs6000.c: Likewise.
	* config/rx/rx.c: Likewise.
	* config/s390/s390-c.c: Likewise.
	* config/s390/s390.c: Likewise.
	* config/sh/sh-c.c: Likewise.
	* config/sh/sh-mem.cc: Likewise.
	* config/sh/sh.c: Likewise.
	* config/sh/sh_optimize_sett_clrt.cc: Likewise.
	* config/sh/sh_treg_combine.cc: Likewise.
	* config/sol2-c.c: Likewise.
	* config/sol2-cxx.c: Likewise.
	* config/sol2-stubs.c: Likewise.
	* config/sol2.c: Likewise.
	* config/sparc/sparc-c.c: Likewise.
	* config/sparc/sparc.c: Likewise.
	* config/spu/spu-c.c: Likewise.
	* config/spu/spu.c: Likewise.
	* config/stormy16/stormy16.c: Likewise.
	* config/tilegx/mul-tables.c: Likewise.
	* config/tilegx/tilegx-c.c: Likewise.
	* config/tilegx/tilegx.c: Likewise.
	* config/tilepro/mul-tables.c: Likewise.
	* config/tilepro/tilepro-c.c: Likewise.
	* config/tilepro/tilepro.c: Likewise.
	* config/v850/v850-c.c: Likewise.
	* config/v850/v850.c: Likewise.
	* config/vax/vax.c: Likewise.
	* config/visium/visium.c: Likewise.
	* config/vms/vms-c.c: Likewise.
	* config/vms/vms.c: Likewise.
	* config/vxworks.c: Likewise.
	* config/winnt-c.c: Likewise.
	* config/xtensa/xtensa.c: Likewise.

ada
	* ada/gcc-interface/cuintp.c: Do not include input.h, line-map.h or
	is-a.h.
	* ada/gcc-interface/decl.c: Likewise.
	* ada/gcc-interface/misc.c: Likewise.
	* ada/gcc-interface/targtyps.c: Likewise.
	* ada/gcc-interface/trans.c: Likewise.
	* ada/gcc-interface/utils.c: Likewise.
	* ada/gcc-interface/utils2.c: Likewise.

c
	* c/c-array-notation.c: Do not include input.h, line-map.h or is-a.h.
	* c/c-aux-info.c: Likewise.
	* c/c-convert.c: Likewise.
	* c/c-decl.c: Likewise.
	* c/c-errors.c: Likewise.
	* c/c-lang.c: Likewise.
	* c/c-objc-common.c: Likewise.
	* c/c-parser.c: Likewise.
	* c/c-typeck.c: Likewise.

c-family
	* c-family/array-notation-common.c: Do not include input.h, line-map.h
	or is-a.h.
	* c-family/c-ada-spec.c: Likewise.
	* c-family/c-cilkplus.c: Likewise.
	* c-family/c-common.c: Likewise.
	* c-family/c-common.h: Likewise.
	* c-family/c-cppbuiltin.c: Likewise.
	* c-family/c-dump.c: Likewise.
	* c-family/c-format.c: Likewise.
	* c-family/c-gimplify.c: Likewise.
	* c-family/c-indentation.c: Likewise.
	* c-family/c-lex.c: Likewise.
	* c-family/c-omp.c: Likewise.
	* c-family/c-opts.c: Likewise.
	* c-family/c-pch.c: Likewise.
	* c-family/c-ppoutput.c: Likewise.
	* c-family/c-pragma.c: Likewise.
	* c-family/c-pretty-print.c: Likewise.
	* c-family/c-semantics.c: Likewise.
	* c-family/c-ubsan.c: Likewise.
	* c-family/cilk.c: Likewise.
	* c-family/stub-objc.c: Likewise.

common
	* common/common-target.h: Do not include input.h, line-map.h or is-a.h.
	* common/common-targhooks.c: Likewise.

cp
	* cp/call.c: Do not include input.h, line-map.h or is-a.h.
	* cp/class.c: Likewise.
	* cp/constexpr.c: Likewise.
	* cp/cp-array-notation.c: Likewise.
	* cp/cp-gimplify.c: Likewise.
	* cp/cp-lang.c: Likewise.
	* cp/cp-objcp-common.c: Likewise.
	* cp/cp-tree.h: Likewise.
	* cp/cp-ubsan.c: Likewise.
	* cp/cvt.c: Likewise.
	* cp/decl.c: Likewise.
	* cp/decl2.c: Likewise.
	* cp/dump.c: Likewise.
	* cp/error.c: Likewise.
	* cp/except.c: Likewise.
	* cp/expr.c: Likewise.
	* cp/friend.c: Likewise.
	* cp/init.c: Likewise.
	* cp/lambda.c: Likewise.
	* cp/lex.c: Likewise.
	* cp/mangle.c: Likewise.
	* cp/method.c: Likewise.
	* cp/name-lookup.c: Likewise.
	* cp/optimize.c: Likewise.
	* cp/parser.c: Likewise.
	* cp/pt.c: Likewise.
	* cp/ptree.c: Likewise.
	* cp/repo.c: Likewise.
	* cp/rtti.c: Likewise.
	* cp/search.c: Likewise.
	* cp/semantics.c: Likewise.
	* cp/tree.c: Likewise.
	* cp/typeck.c: Likewise.
	* cp/typeck2.c: Likewise.
	* cp/vtable-class-hierarchy.c: Likewise.

fortran
	* fortran/convert.c: Do not include input.h, line-map.h or is-a.h.
	* fortran/cpp.c: Likewise.
	* fortran/decl.c: Likewise.
	* fortran/f95-lang.c: Likewise.
	* fortran/gfortran.h: Likewise.
	* fortran/iresolve.c: Likewise.
	* fortran/match.c: Likewise.
	* fortran/module.c: Likewise.
	* fortran/options.c: Likewise.
	* fortran/target-memory.c: Likewise.
	* fortran/trans-array.c: Likewise.
	* fortran/trans-common.c: Likewise.
	* fortran/trans-const.c: Likewise.
	* fortran/trans-decl.c: Likewise.
	* fortran/trans-expr.c: Likewise.
	* fortran/trans-intrinsic.c: Likewise.
	* fortran/trans-io.c: Likewise.
	* fortran/trans-openmp.c: Likewise.
	* fortran/trans-stmt.c: Likewise.
	* fortran/trans-types.c: Likewise.
	* fortran/trans.c: Likewise.

go
	* go/go-backend.c: Do not include input.h, line-map.h or is-a.h.
	* go/go-gcc.cc: Likewise.
	* go/go-lang.c: Likewise.
	* go/go-system.h: Likewise.

java
	* java/boehm.c: Do not include input.h, line-map.h or is-a.h.
	* java/builtins.c: Likewise.
	* java/class.c: Likewise.
	* java/constants.c: Likewise.
	* java/decl.c: Likewise.
	* java/except.c: Likewise.
	* java/expr.c: Likewise.
	* java/java-gimplify.c: Likewise.
	* java/jcf-dump.c: Likewise.
	* java/jcf-io.c: Likewise.
	* java/jcf-parse.c: Likewise.
	* java/jvgenmain.c: Likewise.
	* java/lang.c: Likewise.
	* java/mangle.c: Likewise.
	* java/mangle_name.c: Likewise.
	* java/resource.c: Likewise.
	* java/typeck.c: Likewise.
	* java/verify-glue.c: Likewise.
	* java/verify-impl.c: Likewise.

jit
	* jit/dummy-frontend.c: Do not include input.h, line-map.h or is-a.h.
	* jit/jit-common.h: Likewise.
	* jit/jit-playback.c: Likewise.

lto
	* lto/lto-lang.c: Do not include input.h, line-map.h or is-a.h.
	* lto/lto-object.c: Likewise.
	* lto/lto-partition.c: Likewise.
	* lto/lto-symtab.c: Likewise.
	* lto/lto.c: Likewise.

objc
	* objc/objc-act.c: Do not include input.h, line-map.h or is-a.h.
	* objc/objc-encoding.c: Likewise.
	* objc/objc-gnu-runtime-abi-01.c: Likewise.
	* objc/objc-lang.c: Likewise.
	* objc/objc-map.c: Likewise.
	* objc/objc-next-runtime-abi-01.c: Likewise.
	* objc/objc-next-runtime-abi-02.c: Likewise.
	* objc/objc-runtime-shared-support.c: Likewise.

objcp
	* objcp/objcp-decl.c: Do not include input.h, line-map.h or is-a.h.
	* objcp/objcp-lang.c: Likewise.

From-SVN: r224562
2015-06-17 14:58:44 +00:00
Jonathan Wakely
9649e5b62e forward_list.h (forward_list::_M_get_Node_allocator): Remove unnecessary uses of operator& and static_cast.
* include/bits/forward_list.h (forward_list::_M_get_Node_allocator):
	Remove unnecessary uses of operator& and static_cast.
	* include/bits/forward_list.tcc
	(forward_list::operator=(const forward_list&)): Use __addressof
	instead of operator&.
	(forward_list::remove(const _Tp&), forward_list::remove(_Pred)):
	Remove invalid static_casts.
	* include/debug/forward_list: Use __addressof instead of operator&.
	* testsuite/23_containers/forward_list/modifiers/addressof.cc: New.

From-SVN: r224553
2015-06-17 12:33:31 +01:00
Jonathan Wakely
c92334d4c5 alloc_traits.h (__alloc_traits::_S_nothrow_swap()): Use __is_nothrow_swappable.
* include/ext/alloc_traits.h (__alloc_traits::_S_nothrow_swap()): Use
	__is_nothrow_swappable.

From-SVN: r224552
2015-06-17 11:51:46 +01:00
Uros Bizjak
db40fbca24 re PR testsuite/65944 (FAIL: g++.dg/lto/pr65276: undefined reference to std2::exception::~exception())
PR testsuite/65944
    * g++.dg/lto/pr65276_0.C: Add std2::exception::~exception() function.

From-SVN: r224550
2015-06-17 12:03:49 +02:00
Robert Suchanek
1a4115ae75 Implement TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS hook.
gcc/ChangeLog:

	* config/mips/mips.c (mips_ira_change_pseudo_allocno_class): New
	function.
	(TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS): Define macro.

gcc/testsuite/ChangeLog:

	* gcc.target/mips/pr65862-1.c: New test.
	* gcc.target/mips/pr65862-2.c: Likewise.

From-SVN: r224549
2015-06-17 09:55:59 +00:00
Uros Bizjak
7adcc56b9a pr54592.c: Remove dg-require-effective-target.
* gcc.target/i386/pr54592.c: Remove dg-require-effective-target.
        * gcc.target/i386/pr52252-atom.c: Ditto.
        * gcc.target/i386/vect-div-1.c: Ditto.
        * gcc.target/i386/rotate-5.c: Ditto.
        * gcc.target/i386/pr50202.c: Ditto.
        * gcc.target/i386/pr37843-3.c: Ditto.
        * gcc.target/i386/avx2-vect-aggressive-1.c: Ditto.
        * gcc.target/i386/pr53397-1.c: Ditto.
        * gcc.target/i386/pr55934.c: Ditto.
        * gcc.target/i386/pr37843-4.c: Ditto.
        * gcc.target/i386/pr60451.c: Ditto.
        * gcc.target/i386/pr53397-2.c: Ditto.
        * gcc.target/i386/vectorize1.c: Ditto.
        * gcc.target/i386/extract-insert-combining.c: Ditto.
        * gcc.target/i386/pr53759.c: Ditto.
        * gcc.target/i386/pr52252-core.c: Ditto.
        * gcc.target/i386/rotate-3.c: Ditto.
        * gcc.target/i386/sse-20.c: Ditto.
        * gcc.target/i386/rotate-4.c: Ditto.
        * gcc.target/i386/pr61403.c: Ditto.
        * gcc.target/i386/pr60205-2.c: Add dg-do compile directive.
        * gcc.target/i386/pr60901.c: Ditto.
        * gcc.target/i386/pr59794-7.c: Ditto.
        * gcc.target/i386/pr62208.c: Ditto.
        * gcc.target/i386/pr53416.c: Ditto.
        * gcc.target/i386/asm-dialect-1.c: Ditto.
        * gcc.target/i386/pr50038.c: Ditto.
        * gcc.target/i386/47698.c: Ditto.
        * gcc.target/i386/avx512vl-vpmuludq-1.c: Ditto.
        * gcc.target/i386/pr59794-2.c: Ditto.
        * gcc.target/i386/pr59794-3.c: Ditto.
        * gcc.target/i386/pr39058.c: Ditto.
        * gcc.target/i386/pr60205-1.c: Ditto.
        * gcc.target/i386/fma4-256-nmsubXX.c: Add dg-do run directive.
        * gcc.target/i386/sse2-movq-2.c: Ditto.

From-SVN: r224548
2015-06-17 11:34:46 +02:00
Richard Biener
c689ce1eaa revert: [multiple changes]
2015-06-17  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/66251
	* tree-vect-stmts.c (vectorizable_store): Fix gathering of vectorized
	stmts for SLP strided stores.

	* gfortran.fortran-torture/compile/pr66251-2.f90: New testcase.

	Revert
	2015-05-22  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/66251
	* tree-vect-stmts.c (vectorizable_conversion): Properly
	set STMT_VINFO_VEC_STMT even for the SLP case.

	2015-05-26  Michael Matz  <matz@suse.de>

	PR middle-end/66251
	* tree-vect-stmts.c (vect_create_vectorized_demotion_stmts): Always set
	STMT_VINFO_VEC_STMT, also with SLP.

From-SVN: r224545
2015-06-17 07:37:40 +00:00
GCC Administrator
74c7484e82 Daily bump.
From-SVN: r224544
2015-06-17 00:16:16 +00:00
Jonathan Wakely
91b142ffc3 * include/bits/allocated_ptr.h (__allocated_ptr): Use __addressof.
From-SVN: r224540
2015-06-16 23:33:06 +01:00
Jonathan Wakely
200fcd3398 list.tcc (list::operator=(const list&), [...]): Use __addressof instead of operator&.
* include/bits/list.tcc (list::operator=(const list&), list::merge):
	Use __addressof instead of operator&.
	(list::sort): Use array-to-pointer decay instead of operator&.
	* include/bits/stl_list.h (list::splice): Use __addressof instead of
	operator&.
	* include/debug/formatter.h (_Error_formatter::_Parameter::_Parameter):
	Likewise.
	* include/debug/functions.h (__check_singular): Likewise.
	* include/debug/list (list::splice, list::merge): Likewise.
	* testsuite/23_containers/list/modifiers/addressof.cc: New.

From-SVN: r224539
2015-06-16 22:04:53 +01:00
Paolo Carlini
ba394ca69b re PR c++/59682 (Invalid syntax accepted: new-placement without expression-list)
/cp
2015-06-16  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/59682
	* parser.c (cp_parser_new_placement): Reject an empty expression-list.

/testsuite
2015-06-16  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/59682
	* g++.dg/parse/new-placement1.C: New.

From-SVN: r224537
2015-06-16 20:07:57 +00:00
David Malcolm
cd9ed559fb jit: Add a test for compound assignment
gcc/testsuite/ChangeLog:
	* jit.dg/all-non-failing-tests.h: Add test-compound-assignment.c.
	* jit.dg/test-compound-assignment.c: New testcase.

From-SVN: r224536
2015-06-16 19:52:37 +00:00
David Malcolm
e071028919 PR jit/66539: Properly add testcase
gcc/testsuite/ChangeLog:
	PR jit/66539
	* jit.dg/all-non-failing-tests.h: Add test-debug-strings.c
	to "testcases" array.

From-SVN: r224535
2015-06-16 19:44:05 +00:00
Jason Merrill
7599760d23 re PR c++/66536 (ICE in build_ctor_subob_ref, at cp/tree.c:2534)
PR c++/66536
	* tree.c (replace_placeholders_r) [CONSTRUCTOR]: Handle type
	mismatch.

From-SVN: r224534
2015-06-16 15:29:19 -04:00
Jason Merrill
2ed4c0297f re PR c++/58063 (default arguments evaluated twice per call)
PR c++/58063
	* tree.c (bot_manip): Remap SAVE_EXPR.

From-SVN: r224533
2015-06-16 15:29:09 -04:00
David Malcolm
bd93aa1a97 PR jit/66539: Add parentheses as needed to gcc_jit_object_get_debug_string
gcc/jit/ChangeLog:
	PR jit/66539
	* jit-recording.c: Within namespace gcc::jit::recording::
	(rvalue::get_debug_string_parens): New function.
	(binary_op::make_debug_string): Update to mimic C precedence
	rules.
	(binary_op_precedence): New array.
	(binary_op::get_precedence): New function.
	(comparison::make_debug_string): Update to mimic C precedence
	rules.
	(comparison_precedence): New array.
	(comparison::get_precedence): New function.
	(cast::make_debug_string): Update to mimic C precedence rules.
	(call::make_debug_string): Likewise.
	(call_through_ptr::make_debug_string): Likewise.
	(array_access::make_debug_string): Likewise.
	(access_field_of_lvalue::make_debug_string): Likewise.
	(access_field_rvalue::make_debug_string): Likewise.
	(dereference_field_rvalue::make_debug_string): Likewise.
	(dereference_rvalue::make_debug_string): Likewise.
	(get_address_of_lvalue::make_debug_string): Likewise.
	* jit-recording.h: Within namespace gcc::jit::recording::
	(precedence): New enum.
	(rvalue::rvalue): Initialize field "m_parenthesized_string".
	(rvalue::get_debug_string_parens): New method.
	(rvalue::get_precedence): New pure virtual function.
	(rvalue::m_parenthesized_string): New field.
	(param::get_precedence): New function.
	(global::get_precedence): New function.
	(memento_of_new_rvalue_from_const::get_precedence): New function.
	(memento_of_new_string_literal::get_precedence): New function.
	(unary_op::get_precedence): New function.
	(binary_op::get_precedence): New function.
	(comparison::get_precedence): New function.
	(cast::get_precedence): New function.
	(call::get_precedence): New function.
	(call_through_ptr::get_precedence): New function.
	(array_access::get_precedence): New function.
	(access_field_of_lvalue::get_precedence): New function.
	(access_field_rvalue::get_precedence): New function.
	(dereference_field_rvalue::get_precedence): New function.
	(dereference_rvalue::get_precedence): New function.
	(get_address_of_lvalue::get_precedence): New function.
	(local::get_precedence): New function.

gcc/testsuite/ChangeLog:
	PR jit/66539
	* jit.dg/all-non-failing-tests.h: Add test-debug-strings.c.
	* jit.dg/test-debug-strings.c: New test case.
	* jit.dg/test-quadratic.c (make_calc_discriminant): Verify that
	the discriminant has a sane debug string.

From-SVN: r224531
2015-06-16 18:13:44 +00:00
Jonathan Wakely
0dc3cba1bd re PR libstdc++/65393 (std::thread shared_ptr inefficiency)
PR libstdc++/65393
	* src/c++11/thread.cc (thread::_M_make_thread): Replace shared_ptr
	copies with moves.

From-SVN: r224530
2015-06-16 18:53:52 +01:00
Uros Bizjak
b2c15a7780 * ChangeLog: Fixup PR number.
From-SVN: r224529
2015-06-16 19:43:14 +02:00
Uros Bizjak
61b720616a * ChangeLog: Added missing ChangeLog entries.
From-SVN: r224528
2015-06-16 19:15:38 +02:00
Uros Bizjak
5fd816e650 re PR target/56766 (Fails to combine (vec_select (vec_concat ...)) to (vec_merge ...))
PR target/56776
	* config/i386/sse.md (*avx_addsubv4df3_1): New insn pattern.
	(*avx_addsubv4df3_1s): Ditto.
	(*sse3_addsubv2df3_1): Ditto.
	(*sse3_addsubv2df3_1s): Ditto.
	(*avx_addsubv8sf3_1): Ditto.
	(*avx_addsubv8sf3_1s): Ditto.
	(*sse3_addsubv4sf3_1): Ditto.
	(*sse3_addsubv4sf3_1s): Ditto.

testsuite/ChangeLog:

	PR target/56776
	* gcc.target/i386/pr56776-1.c: New test.
	* gcc.target/i386/pr56776-2.c: Ditto.

From-SVN: r224527
2015-06-16 19:14:00 +02:00