https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93273
Bug ID: 93273 Summary: "error: missing definition" and "internal compiler error: verify_ssa failed", in code involving _setjmp Product: gcc Version: 10.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: sbergman at redhat dot com Target Milestone: --- With recent trunk (at g:ddd792fa53345180c782494aa597e438a73b6248): > $ cat test.cc > void _setjmp(void *); > struct S { ~S(); }; > void * (* fn)(); > void f(); > void g() { > S s; > _setjmp(fn()); > []{ f(); }(); > } > $ g++ -c test.cc > test.cc: In function ‘void g()’: > test.cc:5:6: error: missing definition > 5 | void g() { > | ^ > for SSA_NAME: .MEM_22 in statement: > # .MEM_14(ab) = VDEF <.MEM_22> > S::~S (&s); > during GIMPLE pass: ehdisp > test.cc:5:6: internal compiler error: verify_ssa failed > 0x11c8802 verify_ssa(bool, bool) > ../../src/gcc/tree-ssa.c:1208 > 0xeeef55 execute_function_todo > ../../src/gcc/passes.c:1990 > 0xeefc8c do_per_function > ../../src/gcc/passes.c:1638 > 0xeefc8c execute_todo > ../../src/gcc/passes.c:2037 > Please submit a full bug report, > with preprocessed source if appropriate. > Please include the complete backtrace with any bug report. > See <https://gcc.gnu.org/bugs/> for instructions. If I rename _setjmp to e.g. f2, it compiles fine.