From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 599913858409; Thu, 25 Jan 2024 12:38:07 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 599913858409 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1706186287; bh=wyBOFAaYwihJCs6jYivNOkO70io31cyI60RJD6oBVOY=; h=From:To:Subject:Date:In-Reply-To:References:From; b=LTLqeE76WWUwklotA0nz3h56Pb4vIh1mmprFuEKKW/Ltrr+p4dRkydXzPSLwNhf0E AicZbLOLeeDo/fzg0nKhvNVD/HNhJuRWgm0WSNw3NgS1gfX4bx3PO/N+FJJLxAICo+ 3RhUZlcSwaSLRo5YAUJ1aKHZ6+y+k50S+6mgi91U= From: "simon.marchi at polymtl dot ca" To: gdb-prs@sourceware.org Subject: [Bug gdb/31281] [gdb] intrusive_list.h:329: internal-error: push_back: Assertion elem_node->prev == INTRUSIVE_LIST_UNLINKED_VALUE failed. Date: Thu, 25 Jan 2024 12:38:06 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gdb X-Bugzilla-Component: gdb X-Bugzilla-Version: HEAD X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: simon.marchi at polymtl dot ca X-Bugzilla-Status: NEW X-Bugzilla-Resolution: X-Bugzilla-Priority: P2 X-Bugzilla-Assigned-To: unassigned at sourceware dot 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://sourceware.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 List-Id: https://sourceware.org/bugzilla/show_bug.cgi?id=3D31281 --- Comment #14 from Simon Marchi --- (In reply to Tom de Vries from comment #13) > (In reply to Simon Marchi from comment #12) > > I made what I think is a fairly minimal reproducer: https://godbolt.org= /z/rbevnhG1f >=20 > Great. >=20 > > Does this look sufficient to file a gcc bug? >=20 > I've managed to get rid of the template bit. >=20 > Also, I've removed the includes, the goal is to minimize the size of the > preprocessed example. >=20 > Futhermore, I've replaced the new with an object declaration, which allows > for simpler expressions ('.' instead of '->'). >=20 > So, I get to: > ... > struct intrusive_list_node { > void *next; > }; >=20 > struct dummy { > void *base; > }; >=20 > struct thread_info : public dummy, public intrusive_list_node { > intrusive_list_node node; > }; >=20 > static thread_info ti; >=20 > int main (void) { > auto thread_info::*MemberNode =3D &thread_info::node; > auto node_ptr_1 =3D &(ti.*MemberNode); > auto node_ptr_2 =3D &ti.node; > return !(node_ptr_1 =3D=3D node_ptr_2); > } > ... >=20 > gcc-13: > ... > $ g++ test.cpp; ./a.out; echo $? > 0 > ... >=20 > gcc-14: > ... > $ g++ test.cpp; ./a.out; echo $? > 1 > ... >=20 > I think this should be good enough to file. Thank you very much for that, filed: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D113599 --=20 You are receiving this mail because: You are on the CC list for the bug.=