// 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); |