https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66001

--- Comment #1 from David Krauss <potswa at mac dot com> ---
If a non-constexpr constructor is addend to struct dt, the behavior is
different, and inconsistent between a bound temporary and an initializer_list
sequence.

#include <initializer_list>

struct dt
    { dt() {} ~ dt() {} };

struct x {
    std::initializer_list< dt > f = { {} };
} cx;

Result:

In constructor ‘constexpr x::x()’:
sorry, unimplemented: unexpected AST of kind try_block


This program is accepted, though:

struct dt
    { dt() {} ~ dt() {} };

struct x {
     dt && m = {};
} cx;

Reply via email to