blob: 96140e6c212b7100266b5b8bf693d345b34c77ff [file] [log] [blame]
// PR c++/91353 - P1331R2: Allow trivial default init in constexpr contexts.
// { dg-do compile { target c++20 } }
struct E { };
struct S {
E e;
constexpr S() {}
};
constexpr S s;
constexpr S s2[4];
struct W {
[[no_unique_address]] E e1, e2;
constexpr W() {}
};
constexpr W w;
constexpr W w2[4];
struct Y {
[[no_unique_address]] E e;
__extension__ char a[0];
constexpr Y() {}
};
constexpr Y y;
constexpr Y y2[4];
struct Z {
[[no_unique_address]] E e;
int i;
constexpr Z(int n) :i(n) { }
};
constexpr Z z(42);