https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111651
--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> --- /workspaces/booxy/main.cpp: In function ‘boost::asio::awaitable<void> make(boost::asio::any_io_executor)’: /workspaces/booxy/main.cpp:19:1: internal compiler error: tree check: expected record_type or union_type or qual_union_type, have array_type in build_special_member_call, at cp/call.cc:11052 0x96ac48 tree_check_failed(tree_node const*, char const*, int, char const*, ...) /home/apinski/src/upstream-gcc-git/gcc/gcc/tree.cc:8956 0x771727 tree_check3(tree_node*, char const*, int, char const*, tree_code, tree_code, tree_code) /home/apinski/src/upstream-gcc-git/gcc/gcc/tree.h:3637 0x771727 build_special_member_call(tree_node*, tree_node*, vec<tree_node*, va_gc, vl_embed>**, tree_node*, int, int) /home/apinski/src/upstream-gcc-git/gcc/gcc/cp/call.cc:11052 0xaca46c maybe_promote_temps /home/apinski/src/upstream-gcc-git/gcc/gcc/cp/coroutines.cc:3146 0xaca46c await_statement_walker /home/apinski/src/upstream-gcc-git/gcc/gcc/cp/coroutines.cc:3757 0x16120ac 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/apinski/src/upstream-gcc-git/gcc/gcc/tree.cc:11400 0xac9c28 await_statement_walker /home/apinski/src/upstream-gcc-git/gcc/gcc/cp/coroutines.cc:3428 0x16120ac 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/apinski/src/upstream-gcc-git/gcc/gcc/tree.cc:11400 0xaca0c8 await_statement_walker /home/apinski/src/upstream-gcc-git/gcc/gcc/cp/coroutines.cc:3417 0x16120ac 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/apinski/src/upstream-gcc-git/gcc/gcc/tree.cc:11400 0xac9c28 await_statement_walker /home/apinski/src/upstream-gcc-git/gcc/gcc/cp/coroutines.cc:3428 0x16120ac 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/apinski/src/upstream-gcc-git/gcc/gcc/tree.cc:11400 0x1612204 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/apinski/src/upstream-gcc-git/gcc/gcc/tree.cc:11634 0xac9c28 await_statement_walker /home/apinski/src/upstream-gcc-git/gcc/gcc/cp/coroutines.cc:3428 0x16120ac 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/apinski/src/upstream-gcc-git/gcc/gcc/tree.cc:11400 0xaca0c8 await_statement_walker /home/apinski/src/upstream-gcc-git/gcc/gcc/cp/coroutines.cc:3417 0x16120ac 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/apinski/src/upstream-gcc-git/gcc/gcc/tree.cc:11400 0xacb94f morph_fn_to_coro(tree_node*, tree_node**, tree_node**) /home/apinski/src/upstream-gcc-git/gcc/gcc/cp/coroutines.cc:4508 0xb20f6b finish_function(bool) /home/apinski/src/upstream-gcc-git/gcc/gcc/cp/decl.cc:18168 0xc252d7 cp_parser_function_definition_after_declarator /home/apinski/src/upstream-gcc-git/gcc/gcc/cp/parser.cc:32302 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.