1. 19 Jun, 2015 17 commits
  2. 18 Jun, 2015 14 commits
  3. 17 Jun, 2015 9 commits
    • re PR c++/66515 (g++ segfaults when creating an std::initializer_list) · 9fa6ffe1
      	PR c++/66515
      	* call.c (implicit_conversion): Call reshape_init here, early.
      	(build_aggr_conv): Not here.
      
      From-SVN: r224581
      Jason Merrill committed
    • C++11 allocator support for std::list. · cc7f3d0e
      	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
      Jonathan Wakely committed
    • noplt-1.c (dg-do): Fix target selector. · 917ad3c6
      	* 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
      Uros Bizjak committed
    • i386.c (ix86_function_arg): Nest TARGET_64BIT code. · 341d2da3
      	* 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
      Uros Bizjak committed
    • function.h (struct rtl_data): Remove struct and accessor macros. · 2bb8cb58
      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
      Andrew MacLeod committed
    • re PR middle-end/66429 (ICE in expand_GOMP_SIMD_LAST_LANE) · a1ceb604
      	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
      Jakub Jelinek committed
    • re PR c++/66571 (Template substitution causes some OpenMP rejects-valid) · 64b5fcfa
      	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
      Jakub Jelinek committed
    • re PR middle-end/66429 (ICE in expand_GOMP_SIMD_LAST_LANE) · 8c8b9f32
      	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
      Jakub Jelinek committed
    • tree-core.h (tree_target_option): Make opts field a pointer to a… · f6e3667f
      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
      Andrew MacLeod committed