https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110810
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |ice-on-valid-code Last reconfirmed| |2023-07-26 Ever confirmed|0 |1 Target Milestone|--- |12.4 Known to fail| |12.1.0 Status|UNCONFIRMED |NEW Known to work| |11.4.0 Summary|ICE in check_noexcept_r, at |[12/13/14 Regression] ICE |cp/except.cc:1068 |in check_noexcept_r, at | |cp/except.cc:1068 --- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Confirmed. You don't even need it to be a inplacement new: ``` struct Foo { Foo() {} ~Foo() {} }; struct X { Foo data[4]; }; template<class H> void f() { auto& object = *new X{}; object.~X(); } ```