https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89513
Martin Sebor <msebor at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2019-02-26 CC| |msebor at gcc dot gnu.org Blocks| |55004 Ever confirmed|0 |1 --- Comment #1 from Martin Sebor <msebor at gcc dot gnu.org> --- Confirmed. Clang 7 prints: $ clang++ -S -Wall pr89513.C pr89513.C:2:1: error: function try block not allowed in constexpr function try { ^ pr89513.C:9:3: error: statement not allowed in constexpr function try { return true; } catch (...) {} ^ 2 errors generated. The latest Clang with -Wall: pr89513.C:3:1: warning: function try block in constexpr function is a C++2a extension [-Wc++2a-extensions] try { ^ pr89513.C:6:1: warning: control may reach end of non-void function [-Wreturn-type] } ^ pr89513.C:10:3: warning: use of this statement in a constexpr function is a C++2a extension [-Wc++2a-extensions] try { return true; } catch (...) {} ^ pr89513.C:14:16: warning: unused variable 'a' [-Wunused-const-variable] constexpr auto a = foo (); ^ pr89513.C:15:16: warning: unused variable 'b' [-Wunused-const-variable] constexpr auto b = bar (); ^ 5 warnings generated. Referenced Bugs: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55004 [Bug 55004] [meta-bug] constexpr issues