https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106908
Jonathan Wakely <redi at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution|--- |INVALID --- Comment #1 from Jonathan Wakely <redi at gcc dot gnu.org> --- Not a bug, this is intentional. std::unexpected_handler does not exist in C++17 and later, so using terminate_handler means the code compiles for any version of C++. The two types are identical, so it doesn't matter.