https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106973
Bug ID: 106973 Summary: coroutine generator and setjmp Product: gcc Version: 12.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: woohp135 at gmail dot com Target Milestone: --- #include "generator.hpp" #include <setjmp.h> using namespace std; cppcoro::generator<int> foo() { jmp_buf env; setjmp(env); co_yield 1; } int main() { return 0; } The generator.hpp file is from https://github.com/lewissbaker/cppcoro/blob/master/include/cppcoro/generator.hpp I'm getting this error: > g++ -std=c++2a -Wall -Wextra -freport-bug foo.cpp during GIMPLE pass: coro-early-expand-ifns foo.cpp: In function ‘void foo(foo()::_Z3foov.Frame*)’: foo.cpp:6:25: internal compiler error: Segmentation fault 6 | cppcoro::generator<int> foo() | ^~~ 0x19eab38 internal_error(char const*, ...) ???:0 I believe it is the setjmp that is causing the issue. This code compiles fine on clang.