1. 03 Nov, 2015 7 commits
    • Make the default constructors of tuple and pair conditionally explicit. · f7632193
      2015-11-03  Ville Voutilainen  <ville.voutilainen@gmail.com>
      
      	Make the default constructors of tuple and pair conditionally explicit.
      	* include/std/type_traits (is_unsigned, __is_array_unknown_bounds,
      	__is_default_constructible_atom, __is_default_constructible_safe,
      	__is_direct_constructible_new_safe, __is_direct_constructible_ref_cast,
      	__is_nt_default_constructible_impl, is_nothrow_default_constructible,
      	is_nothrow_constructible, is_nothrow_assignable,
      	is_trivially_constructible, is_trivially_copy_constructible,
      	is_trivially_move_constructible, is_trivially_assignable,
      	is_trivially_copy_assignable, is_trivially_move_assignable,
      	is_trivially_destructible): Simplify.
      	* include/std/type_traits (
      	__do_is_implicitly_default_constructible_impl,
      	__is_implicitly_default_constructible_impl,
      	__is_implicitly_default_constructible_safe,
      	__is_implicitly_default_constructible): New.
      	* include/bits/stl_pair.h (pair::pair()): Use it.
      	* include/std/tuple (tuple<_T1, _T2>::tuple): Use it.
      	* include/std/tuple (_ImplicitlyDefaultConstructibleTuple): New.
      	* include/std/tuple (tuple<_Types...>::tuple()): Use it.
      	* testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
      	* testsuite/20_util/is_implicitly_default_constructible/requirements/explicit_instantiation.cc: New.
      	* testsuite/20_util/is_implicitly_default_constructible/requirements/typedefs.cc: Likewise.
      	* testsuite/20_util/is_implicitly_default_constructible/value.cc: Likewise.
      	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust.
      	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Likewise.
      	* testsuite/20_util/pair/cons/explicit_construct.cc: Likewise.
      	* testsuite/20_util/tuple/cons/explicit_construct.cc: Likewise.
      
      From-SVN: r229699
      Ville Voutilainen committed
    • mvc1.c: Move to ... · bbe741d0
      	* gcc.dg/mvc1.c: Move to ...
      	* gcc.target/i386/mvc1.c: ... here.  Require ifunc.
      	* gcc.dg/mvc2.c: Move to ...
      	* gcc.target/i386/mvc2.c: ... here.
      	* gcc.dg/mvc3.c: Move to ...
      	* gcc.target/i386/mvc3.c: ... here.
      	* gcc.dg/mvc4.c: Move to ...
      	* gcc.target/i386/mvc4.c: ... here.  Require ifunc.
      	* gcc.dg/mvc5.c: Move to ...
      	* gcc.target/i386/mvc5.c: ... here.
      	* gcc.dg/mvc6.c: Move to ...
      	* gcc.target/i386/mvc6.c: ... here.
      	* gcc.dg/mvc7.c: Move to ...
      	* gcc.target/i386/mvc7.c: ... here.
      
      	* g++.dg/ext/mvc1.C: Require ifunc.
      
      From-SVN: r229697
      Uros Bizjak committed
    • defer mark_addressable calls during expand till the end of expand · 1b223a9f
      for  gcc/ChangeLog
      
      	* gimple-expr.c: Include hash-set.h and rtl.h.
      	(mark_addressable_queue): New var.
      	(mark_addressable): Factor actual marking into...
      	(mark_addressable_1): ... this.  Queue it up during expand.
      	(mark_addressable_2): New.
      	(flush_mark_addressable_queue): New.
      	* gimple-expr.h (flush_mark_addressable_queue): Declare.
      	* cfgexpand.c: Include gimple-expr.h.
      	(pass_expand::execute): Flush mark_addressable queue.
      
      From-SVN: r229696
      Alexandre Oliva committed
    • ifcombine: factor out inner block viability test · 067339d2
      Bail out early if the inner block has side effects or is otherwise not
      eligible for ifcombine.
      
      for  gcc/ChangeLog
      
      	* tree-ssa-ifcombine.c (tree_ssa_ifcombine_bb_1): Factor out
      	bb_no_side_effects_p tests...
      	(tree_ssa_ifcombine_bb): ... here.
      
      From-SVN: r229691
      Alexandre Oliva committed
    • [PR68083] don't introduce undefined behavior in ifcombine · 828ca3d8
      The ifcombine pass may move a conditional access to an uninitialized
      value before the condition that ensures it is always well-defined,
      thus introducing undefined behavior.  Stop it from doing so.
      
      for  gcc/ChangeLog
      
      	PR tree-optimization/68083
      	* tree-ssa-ifcombine.c: Include tree-ssa.h.
      	(bb_no_side_effects_p): Test for undefined uses too.
      	* tree-ssa.c (gimple_uses_undefined_value_p): New.
      	* tree-ssa.h (gimple_uses_undefined_value_p): Declare.
      
      for  gcc/testsuite/ChangeLog
      
      	PR tree-optimization/68083
      	* gcc.dg/torture/pr68083.c: New.  From Zhendong Su.
      
      From-SVN: r229690
      Alexandre Oliva committed
    • Daily bump. · dac7e9b8
      From-SVN: r229689
      GCC Administrator committed
  2. 02 Nov, 2015 17 commits
  3. 01 Nov, 2015 5 commits
  4. 31 Oct, 2015 11 commits