https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117785
--- Comment #34 from Jakub Jelinek <jakub at gcc dot gnu.org> --- It is true that trying to evaluate it just in case can do less harm than if it is at runtime. That said, e.g. with the constexpr printing it can print different messages and a script can launch missiles or format disk if it sees such messages in the compiler output. Anyway, will defer this to Jason, the change to only do what() printing if derived from std::exception was fairly small and can be always reverted if there is agreement on that.