https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110197
--- Comment #4 from Patrick Palka <ppalka at gcc dot gnu.org> --- Looks like this issue isn't specific to constexpr array construction: struct Currency { constexpr Currency(int) { } }; constexpr int f() { return __builtin_is_constant_evaluated(); }; struct A { Currency _M_elems; }; constexpr A _M_elems = {Currency{f()}}; Since r13-963 we reject this with <stdin>:8:38: error: ‘A{(void)0}’ is not a constant expression