https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78901
--- Comment #7 from Martin Sebor <msebor at gcc dot gnu.org> --- Here's a smaller test case: $ cat t.C && gcc -O1 -S -Wall t.C extern "C" int snprintf (char *, __SIZE_TYPE__, const char *, ...); int foo () { try { return snprintf (0, 0, ""); } catch (...) { } } t.C: In function ‘int foo()’: t.C:6:30: warning: zero-length gnu_printf format string [-Wformat-zero-length] return snprintf (0, 0, ""); ^ t.C:8:1: warning: control reaches end of non-void function [-Wreturn-type] } ^ t.C:3:5: error: dead STMT in EH table int foo () ^~~ # .MEM_3 = VDEF <.MEM_2(D)> _4 = snprintf (0B, 0, ""); t.C:3:5: internal compiler error: verify_gimple failed 0x1194b67 verify_gimple_in_cfg(function*, bool) /src/gcc/git/gcc/tree-cfg.c:5266 0x1023a92 execute_function_todo /src/gcc/git/gcc/passes.c:1965 0x1022b1d do_per_function /src/gcc/git/gcc/passes.c:1649 0x1023c64 execute_todo /src/gcc/git/gcc/passes.c:2015 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <http://gcc.gnu.org/bugs.html> for instructions.