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

--- Comment #8 from m.cencora at gmail dot com ---
It does not matter whether A constructor is default or empty. If class instance
cannot be constant-initialized then dynamic initialization will take place.

I think gcc just incorrectly performs constant initialization in these
scenarios.

clang reports error as expected:
struct A
{
    int value;
};

struct B
{
    int value;
    B() = default;
};

constinit A a;
constinit B b;

Reply via email to