https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104055
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2022-01-17 Ever confirmed|0 |1 --- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Confirmed simplified testcase: extern "C" void exit(int); extern "C" void abort(void); struct A { ~A() { exit(0); } consteval A() {} }; int main() { { A{}; } abort(); } Here is a different testcase which shows the same problem too: extern "C" void exit(int); extern "C" void abort(void); struct A { ~A() { exit(0); } consteval A() {} }; template <class T> struct f { f(T){} }; f t(A{}); int main() { return 1; }