https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115660
Bug ID: 115660 Summary: internal compiler error: in build_special_member_call, at cp/call.cc:11085 Product: gcc Version: 13.1.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: vipcxj at 126 dot com Target Milestone: --- ```c++ do_async([]() -> asio::awaitable<void> { using namespace cfgo; close_chan closer {}; auto token = co_await get_token("1", "root.*", false); auto signal = make_websocket_signal(closer, cfgo::WebsocketSignalConfigure{ .url = fmt::format("ws://{}:{}/ws", SIGNAL_HOST, SIGNAL_PORT), .token = token, .ready_timeout = std::chrono::seconds(30), }); { co_await signal->join(closer, {"root.room1"}); // this line EXPECT_EQ(1, signal->rooms().size()); EXPECT_TRUE(signal->rooms().contains("root.room1")); } }); ``` I think the initializer_list in the await expr cause the crash. full error: ``` [build] 64 | }); [build] | ^ [build] 0x85a411 build_special_member_call(tree_node*, tree_node*, vec<tree_node*, va_gc, vl_embed>**, tree_node*, int, int) [build] ../../src/gcc/cp/call.cc:11085 [build] 0xbe851b maybe_promote_temps [build] ../../src/gcc/cp/coroutines.cc:3146 [build] 0xbe851b await_statement_walker [build] ../../src/gcc/cp/coroutines.cc:3757 [build] 0x126b106 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*> >*)) [build] ../../src/gcc/tree.cc:11327 [build] 0xbe7c4e await_statement_walker [build] ../../src/gcc/cp/coroutines.cc:3428 [build] 0x126b106 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*> >*)) [build] ../../src/gcc/tree.cc:11327 [build] 0xbe7bfd await_statement_walker [build] ../../src/gcc/cp/coroutines.cc:3417 [build] 0x126b106 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*> >*)) [build] ../../src/gcc/tree.cc:11327 [build] 0xbe7c4e await_statement_walker [build] ../../src/gcc/cp/coroutines.cc:3428 [build] 0x126b106 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*> >*)) [build] ../../src/gcc/tree.cc:11327 [build] 0x126b23c 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*> >*)) [build] ../../src/gcc/tree.cc:11558 [build] 0xbe7c4e await_statement_walker [build] ../../src/gcc/cp/coroutines.cc:3428 [build] 0x126b106 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*> >*)) [build] ../../src/gcc/tree.cc:11327 [build] 0x126b23c 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*> >*)) [build] ../../src/gcc/tree.cc:11558 [build] 0xbe7c4e await_statement_walker [build] ../../src/gcc/cp/coroutines.cc:3428 [build] 0x126b106 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*> >*)) [build] ../../src/gcc/tree.cc:11327 [build] 0x126b23c 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*> >*)) [build] ../../src/gcc/tree.cc:11558 [build] 0xbe7c4e await_statement_walker [build] ../../src/gcc/cp/coroutines.cc:3428 [build] 0x126b106 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*> >*)) [build] ../../src/gcc/tree.cc:11327 [build] 0xbe7bfd await_statement_walker [build] ../../src/gcc/cp/coroutines.cc:3417 [build] Please submit a full bug report, with preprocessed source (by using -freport-bug). [build] Please include the complete backtrace with any bug report. [build] See <file:///usr/share/doc/gcc-13/README.Bugs> for instructions. ```