mirror of git://gcc.gnu.org/git/gcc.git
re PR c++/70648 (adplug-xmms fails to compile)
PR c++/70648 * constexpr.c (cxx_eval_store_expression): Also copy CONSTRUCTOR_NO_IMPLICIT_ZERO. From-SVN: r234989
This commit is contained in:
parent
bc773aad99
commit
3ae9a8b765
|
|
@ -1,3 +1,9 @@
|
|||
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
|
||||
|
|
|
|||
|
|
@ -3149,6 +3149,8 @@ cxx_eval_store_expression (const constexpr_ctx *ctx, tree t,
|
|||
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;
|
||||
|
|
|
|||
|
|
@ -0,0 +1,11 @@
|
|||
// 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];
|
||||
Loading…
Reference in New Issue