blob: dea5a5b56f807c556c4a0b108d4d7d47cf86c272 [file] [log] [blame]
// PR c++/99859
// { dg-do compile { target c++14 } }
constexpr int
foo (int *x)
{
return ++*x;
}
struct S { constexpr S () : a(0) { foo (&a); foo (&a); } int a; };
constexpr S s = S ();
static_assert (s.a == 2, "");
struct R { int *p; };
constexpr int
bar (R x)
{
return ++*x.p;
}
struct T { int a = 0; constexpr T () { bar (R{&a}); bar (R{&a}); } };
constexpr T t = T ();
static_assert (t.a == 2, "");