PR c++/70648
* constexpr.c (cxx_eval_store_expression): Also copy
CONSTRUCTOR_NO_IMPLICIT_ZERO.
From-SVN: r234989
+2016-04-14 Jason Merrill <jason@redhat.com>
+
+ PR c++/70648
+ * constexpr.c (cxx_eval_store_expression): Also copy
+ CONSTRUCTOR_NO_IMPLICIT_ZERO.
+
2016-04-14 Martin Sebor <msebor@redhat.com>
PR c++/69517
CONSTRUCTOR_ELTS (*valp) = CONSTRUCTOR_ELTS (init);
TREE_CONSTANT (*valp) = TREE_CONSTANT (init);
TREE_SIDE_EFFECTS (*valp) = TREE_SIDE_EFFECTS (init);
+ CONSTRUCTOR_NO_IMPLICIT_ZERO (*valp)
+ = CONSTRUCTOR_NO_IMPLICIT_ZERO (init);
}
else
*valp = init;
--- /dev/null
+// PR c++/70648
+// { dg-do compile { target c++11 } }
+
+struct C
+{
+ template <class... U>
+ constexpr C (...) : c { static_cast<U &&>(0)... } {}
+ int c[1];
+};
+
+static constexpr int b = C{}.c[0];