https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102217
--- Comment #5 from Jonathan Wakely <redi at gcc dot gnu.org> --- I also see the ICE on trunk (but not the release branches) so I suspect it's related to --enable-checking cocrash.cxx: In function 'Co::Task<Foo> FooC(bool)': cocrash.cxx:171:1: internal compiler error: in flatten_await_stmt, at cp/coroutines.cc:2891 171 | } | ^ 0x6a8242 flatten_await_stmt /home/jwakely/src/gcc/gcc/gcc/cp/coroutines.cc:2891 0x9d7d57 flatten_await_stmt /home/jwakely/src/gcc/gcc/gcc/cp/coroutines.cc:2920 0x9d7d57 flatten_await_stmt /home/jwakely/src/gcc/gcc/gcc/cp/coroutines.cc:2920 0x9d9dee maybe_promote_temps /home/jwakely/src/gcc/gcc/gcc/cp/coroutines.cc:3105 0x9d9dee await_statement_walker /home/jwakely/src/gcc/gcc/gcc/cp/coroutines.cc:3749 0x14b54d3 walk_tree_1(tree_node**, tree_node* (*)(tree_node**, int*, void*), void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*, tree_node* (*)(tree_node**, int*, tree_node* (*)(tree_node**, int*, void*), void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*)) /home/jwakely/src/gcc/gcc/gcc/tree.cc:11270 0x9d9f30 await_statement_walker /home/jwakely/src/gcc/gcc/gcc/cp/coroutines.cc:3420 0x14b54d3 walk_tree_1(tree_node**, tree_node* (*)(tree_node**, int*, void*), void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*, tree_node* (*)(tree_node**, int*, tree_node* (*)(tree_node**, int*, void*), void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*)) /home/jwakely/src/gcc/gcc/gcc/tree.cc:11270 0x9d975f await_statement_walker /home/jwakely/src/gcc/gcc/gcc/cp/coroutines.cc:3697 0x14b54d3 walk_tree_1(tree_node**, tree_node* (*)(tree_node**, int*, void*), void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*, tree_node* (*)(tree_node**, int*, tree_node* (*)(tree_node**, int*, void*), void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*)) /home/jwakely/src/gcc/gcc/gcc/tree.cc:11270 0x9da03c await_statement_walker /home/jwakely/src/gcc/gcc/gcc/cp/coroutines.cc:3409 0x14b54d3 walk_tree_1(tree_node**, tree_node* (*)(tree_node**, int*, void*), void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*, tree_node* (*)(tree_node**, int*, tree_node* (*)(tree_node**, int*, void*), void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*)) /home/jwakely/src/gcc/gcc/gcc/tree.cc:11270 0x9d9f30 await_statement_walker /home/jwakely/src/gcc/gcc/gcc/cp/coroutines.cc:3420 0x14b54d3 walk_tree_1(tree_node**, tree_node* (*)(tree_node**, int*, void*), void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*, tree_node* (*)(tree_node**, int*, tree_node* (*)(tree_node**, int*, void*), void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*)) /home/jwakely/src/gcc/gcc/gcc/tree.cc:11270 0x14b56dd walk_tree_1(tree_node**, tree_node* (*)(tree_node**, int*, void*), void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*, tree_node* (*)(tree_node**, int*, tree_node* (*)(tree_node**, int*, void*), void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*)) /home/jwakely/src/gcc/gcc/gcc/tree.cc:11501 0x9d9f30 await_statement_walker /home/jwakely/src/gcc/gcc/gcc/cp/coroutines.cc:3420 0x14b54d3 walk_tree_1(tree_node**, tree_node* (*)(tree_node**, int*, void*), void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*, tree_node* (*)(tree_node**, int*, tree_node* (*)(tree_node**, int*, void*), void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*)) /home/jwakely/src/gcc/gcc/gcc/tree.cc:11270 0x9da03c await_statement_walker /home/jwakely/src/gcc/gcc/gcc/cp/coroutines.cc:3409 0x14b54d3 walk_tree_1(tree_node**, tree_node* (*)(tree_node**, int*, void*), void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*, tree_node* (*)(tree_node**, int*, tree_node* (*)(tree_node**, int*, void*), void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*)) /home/jwakely/src/gcc/gcc/gcc/tree.cc:11270 0x9db8e5 morph_fn_to_coro(tree_node*, tree_node**, tree_node**) /home/jwakely/src/gcc/gcc/gcc/cp/coroutines.cc:4496 Please submit a full bug report, with preprocessed source (by using -freport-bug). Please include the complete backtrace with any bug report. See <https://gcc.gnu.org/bugs/> for instructions.