From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 51BB43858C39; Mon, 20 Nov 2023 03:43:35 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 51BB43858C39 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1700451815; bh=mBNT6rSNiRMAbDcFgZ+orYs4gjZCgLWhomfxEtwKzB4=; h=From:To:Subject:Date:In-Reply-To:References:From; b=U3AcjdFTrwWawsi9qY4LeH32b6m5j8lDpptuPRSPT8EKpur/UL08FQ5cJQftfdHAE bOP41ZHplPu4g6OatvEJzOVt8TO6yCZr6FyHj39WZLrmefp3XzeAgAh2CwcMCNlQ1S 75VZvXOKRdCstnZyhfyRohZT/9ld3nOKzjeQsU1Q= From: "tobi at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug c++/112557] ICE with coroutines in build_special_member_call, at cp/call.cc:11093 Date: Mon, 20 Nov 2023 03:43:34 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: c++ X-Bugzilla-Version: 13.2.0 X-Bugzilla-Keywords: C++-coroutines, ice-on-valid-code X-Bugzilla-Severity: normal X-Bugzilla-Who: tobi at gcc dot gnu.org X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Resolution: X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 List-Id: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D112557 --- Comment #1 from Tobias Schl=C3=BCter --- With today's trunk on x86-64 I can reproduce this, giving the following: $ ../gcc.git/build/gcc/cc1plus t.cc --std=3Dc++20 -fpermissive -fext-numeric-literals 2>&1 [ ... stripping away thousands of warnings ... ] /home/lpresearch/LPResearch/lpopenvr_lpviz/00_3rdparty/00_tracking_systems/= DTrackSDK_v2.8.0/include/DTrackParse.hpp: In static member function =E2=80=98static boost::asio::awaitable > LP::DTrac> /home/lpresearch/LPResearch/lpopenvr_lpviz/00_3rdparty/00_tracking_systems/= DTrackSDK_v2.8.0/include/DTrackParse.hpp:263:5: internal compiler error: tree check: expected record_type or union_type or qual_union_type, have array_type in bu> 0x938c90 tree_check_failed(tree_node const*, char const*, int, char const*, ...) ../../gcc/tree.cc:8952 0x73fd02 tree_check3(tree_node*, char const*, int, char const*, tree_code, tree_code, tree_code) ../../gcc/tree.h:3642 0x73fd02 build_special_member_call(tree_node*, tree_node*, vec**, tree_node*, int, int) ../../gcc/cp/call.cc:11071 0xaa0eac maybe_promote_temps ../../gcc/cp/coroutines.cc:3142 0xaa0eac await_statement_walker ../../gcc/cp/coroutines.cc:3753 0x162f7dc walk_tree_1(tree_node**, tree_node* (*)(tree_node**, int*, void*), void*, hash_set >*, tree_node* (*)(tree_node**, int*, tree_node* (*)(tree_node**, int*, void*), void*, hash_> ../../gcc/tree.cc:11418 0xaa0668 await_statement_walker ../../gcc/cp/coroutines.cc:3424 0x162f7dc walk_tree_1(tree_node**, tree_node* (*)(tree_node**, int*, void*), void*, hash_set >*, tree_node* (*)(tree_node**, int*, tree_node* (*)(tree_node**, int*, void*), void*, hash_> ../../gcc/tree.cc:11418 0x162f934 walk_tree_1(tree_node**, tree_node* (*)(tree_node**, int*, void*), void*, hash_set >*, tree_node* (*)(tree_node**, int*, tree_node* (*)(tree_node**, int*, void*), void*, hash_> ../../gcc/tree.cc:11652 0xaa0668 await_statement_walker ../../gcc/cp/coroutines.cc:3424 0x162f7dc walk_tree_1(tree_node**, tree_node* (*)(tree_node**, int*, void*), void*, hash_set >*, tree_node* (*)(tree_node**, int*, tree_node* (*)(tree_node**, int*, void*), void*, hash_> ../../gcc/tree.cc:11418 0x162f934 walk_tree_1(tree_node**, tree_node* (*)(tree_node**, int*, void*), void*, hash_set >*, tree_node* (*)(tree_node**, int*, tree_node* (*)(tree_node**, int*, void*), void*, hash_> ../../gcc/tree.cc:11652 0xaa0668 await_statement_walker ../../gcc/cp/coroutines.cc:3424 0x162f7dc walk_tree_1(tree_node**, tree_node* (*)(tree_node**, int*, void*), void*, hash_set >*, tree_node* (*)(tree_node**, int*, tree_node* (*)(tree_node**, int*, void*), void*, hash_> ../../gcc/tree.cc:11418 0x162f934 walk_tree_1(tree_node**, tree_node* (*)(tree_node**, int*, void*), void*, hash_set >*, tree_node* (*)(tree_node**, int*, tree_node* (*)(tree_node**, int*, void*), void*, hash_> ../../gcc/tree.cc:11652 0xaa0668 await_statement_walker ../../gcc/cp/coroutines.cc:3424 0x162f7dc walk_tree_1(tree_node**, tree_node* (*)(tree_node**, int*, void*), void*, hash_set >*, tree_node* (*)(tree_node**, int*, tree_node* (*)(tree_node**, int*, void*), void*, hash_> ../../gcc/tree.cc:11418 0x162f934 walk_tree_1(tree_node**, tree_node* (*)(tree_node**, int*, void*), void*, hash_set >*, tree_node* (*)(tree_node**, int*, tree_node* (*)(tree_node**, int*, void*), void*, hash_> ../../gcc/tree.cc:11652 0xaa0668 await_statement_walker ../../gcc/cp/coroutines.cc:3424 0x162f7dc walk_tree_1(tree_node**, tree_node* (*)(tree_node**, int*, void*), void*, hash_set >*, tree_node* (*)(tree_node**, int*, tree_node* (*)(tree_node**, int*, void*), void*, hash_> ../../gcc/tree.cc:11418 Please submit a full bug report, with preprocessed source (by using -freport-bug). Please include the complete backtrace with any bug report. See for instructions. The error location is this: #2 build_special_member_call (instance=3D0x7fffe891d090, name=3D0x7ffff76f= 5200, args=3D0x0, binfo=3D0x7fffe88e4540, flags=3D1, complain=3D3) at ../../gcc/cp/call.cc:11071 11071 binfo =3D TYPE_BINFO (binfo); (gdb) l 11066 { 11067 /* Resolve the name. */ 11068 if (!complete_type_or_maybe_complain (binfo, NULL_TREE, complain)) 11069 return error_mark_node; 11070 11071 binfo =3D TYPE_BINFO (binfo); 11072 } 11073 11074 gcc_assert (binfo !=3D NULL_TREE); 11075 (gdb)=