https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101429
Bug ID: 101429 Summary: __replacement_assert should be marked as noexcept Product: gcc Version: 12.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: unlvsur at live dot com Target Milestone: --- https://godbolt.org/z/eThdeW3Mv The function does not throw exception. However, clang still generate std::terminate() landing pad. You need to mark it as noexcept.