https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102217
John Eivind Helset <jehelset at gmail dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jehelset at gmail dot com --- Comment #9 from John Eivind Helset <jehelset at gmail dot com> --- Hit this as well on master (9d5c500c4fa) in something like `co_return co_await f(a, b ? c : d);`, if I lift the conditional out of await it seems ok. 0x2af0211 internal_error(char const*, ...) ../../gcc/diagnostic-global-context.cc:491 0xb4e45d fancy_abort(char const*, int, char const*) ../../gcc/diagnostic.cc:1772 0x79bd3b flatten_await_stmt ../../gcc/cp/coroutines.cc:3097 0xbdcc14 flatten_await_stmt ../../gcc/cp/coroutines.cc:3126 0xbdcc14 flatten_await_stmt ../../gcc/cp/coroutines.cc:3126 0xbdcc14 flatten_await_stmt ../../gcc/cp/coroutines.cc:3126 0xbde478 maybe_promote_temps ../../gcc/cp/coroutines.cc:3309 0xbde478 await_statement_walker ../../gcc/cp/coroutines.cc:3948 0x19c6754 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*> >*)) ../../gcc/tree.cc:11479 0xbde138 await_statement_walker ../../gcc/cp/coroutines.cc:3619 0x19c6754 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*> >*)) ../../gcc/tree.cc:11479 0xbde984 await_statement_walker ../../gcc/cp/coroutines.cc:3896 0x19c6754 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*> >*)) ../../gcc/tree.cc:11479 0xbde138 await_statement_walker ../../gcc/cp/coroutines.cc:3619 0x19c6754 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*> >*)) ../../gcc/tree.cc:11479 0xbde642 await_statement_walker ../../gcc/cp/coroutines.cc:3608 0x19c6754 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*> >*)) ../../gcc/tree.cc:11479 0x19c68ac 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*> >*)) ../../gcc/tree.cc:11713 0xbde642 await_statement_walker ../../gcc/cp/coroutines.cc:3608 0x19c6754 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*> >*)) ../../gcc/tree.cc:11479