From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id D02CD3858C60; Sun, 31 Dec 2023 08:29:05 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org D02CD3858C60 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1704011345; bh=HhCeyKCRay8A8vtsHHlAh6jKpqjixxtBkGq7MdLxKhE=; h=From:To:Subject:Date:In-Reply-To:References:From; b=WjfV7YVQUvaHwGy4rNudLimv3AcdWphdOTQ9oBTE/JlB2VXCbbT5xQDqU5gcMM/lT +m1gn0z3gHqkzwQLoTCrhHiDwVt9Bc5WQudjcKC2LfJGiDhFe2ec9lqVnnB5ttOZtk k49N5rqfahxy3gWpkcm0RSVpRtaRQF8toC1rZ/8U= From: "pinskia at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug c++/113170] ICE: Segfault (template template parameter, alias template, default template argument) Date: Sun, 31 Dec 2023 08:28:57 +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.1 X-Bugzilla-Keywords: ice-on-invalid-code X-Bugzilla-Severity: normal X-Bugzilla-Who: pinskia at gcc dot gnu.org X-Bugzilla-Status: NEW 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: everconfirmed bug_status keywords cf_reconfirmed_on 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=3D113170 Andrew Pinski changed: What |Removed |Added ---------------------------------------------------------------------------- Ever confirmed|0 |1 Status|UNCONFIRMED |NEW Keywords| |ice-on-invalid-code Last reconfirmed| |2023-12-31 --- Comment #2 from Andrew Pinski --- ``` #5 0x0000000000c4dd6b in coerce_template_parms (parms=3D0x7ffff73097f8, args=3D0x7ffff6ba4800, in_decl=3D0x0, complain=3D0, require_all_args=3Dtrue= ) at ../../gcc/cp/pt.cc:9115 #6 0x0000000000c74bdb in coerce_template_template_parms (parm_tmpl=3D, arg_tmpl=3D, complain=3D0, in_decl=3D0x0, outer_args= =3D) at ../../gcc/cp/pt.cc:8211 #7 0x0000000000c4c375 in convert_template_argument (parm=3D0x7ffff7fb7180, arg=3D0x7ffff7fb7100, args=3D0x7ffff6ba5898, complain=3D0, i=3D1, in_decl= =3D0x0) at ../../gcc/cp/pt.cc:8653 #8 0x0000000000c4e294 in coerce_template_parms (parms=3D0x7ffff7309af0, args=3D0x7ffff6ba47e0, in_decl=3D0x0, complain=3D0, require_all_args=3Dtrue= ) at ../../gcc/tree.h:3613 #9 0x0000000000c74bdb in coerce_template_template_parms (parm_tmpl=3D, arg_tmpl=3D, complain=3D0, in_decl=3D0x0, outer_args= =3D) at ../../gcc/cp/pt.cc:8211 #10 0x0000000000c4c375 in convert_template_argument (parm=3D0x7ffff7fb7080, arg=3D0x7ffff7fb7200, args=3D0x7ffff6ba5870, complain=3D0, i=3D1, in_decl= =3D0x0) at ../../gcc/cp/pt.cc:8653 #11 0x0000000000c4e294 in coerce_template_parms (parms=3D0x7ffff73097f8, args=3D0x7ffff6ba47c0, in_decl=3D0x0, complain=3D0, require_all_args=3Dtrue= ) at ../../gcc/tree.h:3613 #12 0x0000000000c74bdb in coerce_template_template_parms (parm_tmpl=3D, arg_tmpl=3D, complain=3D0, in_decl=3D0x0, outer_args= =3D) at ../../gcc/cp/pt.cc:8211 #13 0x0000000000c4c375 in convert_template_argument (parm=3D0x7ffff7fb7180, arg=3D0x7ffff7fb7100, args=3D0x7ffff6ba5848, complain=3D0, i=3D1, in_decl= =3D0x0) at ../../gcc/cp/pt.cc:8653 #14 0x0000000000c4e294 in coerce_template_parms (parms=3D0x7ffff7309af0, args=3D0x7ffff6ba47a0, in_decl=3D0x0, complain=3D0, require_all_args=3Dtrue= ) at ../../gcc/tree.h:3613 #15 0x0000000000c74bdb in coerce_template_template_parms (parm_tmpl=3D, arg_tmpl=3D, complain=3D0, in_decl=3D0x0, outer_args= =3D) at ../../gcc/cp/pt.cc:8211 #16 0x0000000000c4c375 in convert_template_argument (parm=3D0x7ffff7fb7080, arg=3D0x7ffff7fb7200, args=3D0x7ffff6ba5820, complain=3D0, i=3D1, in_decl= =3D0x0) at ../../gcc/cp/pt.cc:8653 #17 0x0000000000c4e294 in coerce_template_parms (parms=3D0x7ffff73097f8, args=3D0x7ffff6ba4780, in_decl=3D0x0, complain=3D0, require_all_args=3Dtrue= ) at ../../gcc/tree.h:3613 #18 0x0000000000c74bdb in coerce_template_template_parms (parm_tmpl=3D, arg_tmpl=3D, complain=3D0, in_decl=3D0x0, outer_args= =3D) at ../../gcc/cp/pt.cc:8211 #19 0x0000000000c4c375 in convert_template_argument (parm=3D0x7ffff7fb7180, arg=3D0x7ffff7fb7100, args=3D0x7ffff6ba57f8, complain=3D0, i=3D1, in_decl= =3D0x0) at ../../gcc/cp/pt.cc:8653 #20 0x0000000000c4e294 in coerce_template_parms (parms=3D0x7ffff7309af0, args=3D0x7ffff6ba4760, in_decl=3D0x0, complain=3D0, require_all_args=3Dtrue= ) at ../../gcc/tree.h:3613 #21 0x0000000000c74bdb in coerce_template_template_parms (parm_tmpl=3D, arg_tmpl=3D, complain=3D0, in_decl=3D0x0, outer_args= =3D) at ../../gcc/cp/pt.cc:8211 #22 0x0000000000c4c375 in convert_template_argument (parm=3D0x7ffff7fb7080, arg=3D0x7ffff7fb7200, args=3D0x7ffff6ba57d0, complain=3D0, i=3D1, in_decl= =3D0x0) at ../../gcc/cp/pt.cc:8653 #23 0x0000000000c4e294 in coerce_template_parms (parms=3D0x7ffff73097f8, args=3D0x7ffff6ba4740, in_decl=3D0x0, complain=3D0, require_all_args=3Dtrue= ) at ../../gcc/tree.h:3613 #24 0x0000000000c74bdb in coerce_template_template_parms (parm_tmpl=3D, arg_tmpl=3D, complain=3D0, in_decl=3D0x0, outer_args= =3D) at ../../gcc/cp/pt.cc:8211 #25 0x0000000000c4c375 in convert_template_argument (parm=3D0x7ffff7fb7180, arg=3D0x7ffff7fb7100, args=3D0x7ffff6ba57a8, complain=3D0, i=3D1, in_decl= =3D0x0) at ../../gcc/cp/pt.cc:8653 #26 0x0000000000c4e294 in coerce_template_parms (parms=3D0x7ffff7309af0, args=3D0x7ffff6ba4720, in_decl=3D0x0, complain=3D0, require_all_args=3Dtrue= ) at ../../gcc/tree.h:3613 #27 0x0000000000c74bdb in coerce_template_template_parms (parm_tmpl=3D, arg_tmpl=3D, complain=3D0, in_decl=3D0x0, outer_args= =3D) at ../../gcc/cp/pt.cc:8211 #28 0x0000000000c4c375 in convert_template_argument (parm=3D0x7ffff7fb7080, arg=3D0x7ffff7fb7200, args=3D0x7ffff6ba5780, complain=3D0, i=3D1, in_decl= =3D0x0) at ../../gcc/cp/pt.cc:8653 #29 0x0000000000c4e294 in coerce_template_parms (parms=3D0x7ffff73097f8, args=3D0x7ffff6ba4700, in_decl=3D0x0, complain=3D0, require_all_args=3Dtrue= ) at ../../gcc/tree.h:3613 #30 0x0000000000c74bdb in coerce_template_template_parms (parm_tmpl=3D, arg_tmpl=3D, complain=3D0, in_decl=3D0x0, outer_args= =3D) at ../../gcc/cp/pt.cc:8211 #31 0x0000000000c4c375 in convert_template_argument (parm=3D0x7ffff7fb7180, arg=3D0x7ffff7fb7100, args=3D0x7ffff6ba5758, complain=3D0, i=3D1, in_decl= =3D0x0) at ../../gcc/cp/pt.cc:8653 #32 0x0000000000c4e294 in coerce_template_parms (parms=3D0x7ffff7309af0, args=3D0x7ffff6ba46e0, in_decl=3D0x0, complain=3D0, require_all_args=3Dtrue= ) at ../../gcc/tree.h:3613 #33 0x0000000000c74bdb in coerce_template_template_parms (parm_tmpl=3D, arg_tmpl=3D, complain=3D0, in_decl=3D0x0, outer_args= =3D) at ../../gcc/cp/pt.cc:8211 #34 0x0000000000c4c375 in convert_template_argument (parm=3D0x7ffff7fb7080, arg=3D0x7ffff7fb7200, args=3D0x7ffff6ba5730, complain=3D0, i=3D1, in_decl= =3D0x0) at ../../gcc/cp/pt.cc:8653 #35 0x0000000000c4e294 in coerce_template_parms (parms=3D0x7ffff73097f8, args=3D0x7ffff6ba46c0, in_decl=3D0x0, complain=3D0, require_all_args=3Dtrue= ) at ../../gcc/tree.h:3613 #36 0x0000000000c74bdb in coerce_template_template_parms (parm_tmpl=3D, arg_tmpl=3D, complain=3D0, in_decl=3D0x0, outer_args= =3D) at ../../gcc/cp/pt.cc:8211 #37 0x0000000000c4c375 in convert_template_argument (parm=3D0x7ffff7fb7180, arg=3D0x7ffff7fb7100, args=3D0x7ffff6ba5708, complain=3D0, i=3D1, in_decl= =3D0x0) at ../../gcc/cp/pt.cc:8653 #38 0x0000000000c4e294 in coerce_template_parms (parms=3D0x7ffff7309af0, args=3D0x7ffff6ba46a0, in_decl=3D0x0, complain=3D0, require_all_args=3Dtrue= ) at ../../gcc/tree.h:3613 #39 0x0000000000c74bdb in coerce_template_template_parms (parm_tmpl=3D, arg_tmpl=3D, complain=3D0, in_decl=3D0x0, outer_args= =3D) at ../../gcc/cp/pt.cc:8211 #40 0x0000000000c4c375 in convert_template_argument (parm=3D0x7ffff7fb7080, arg=3D0x7ffff7fb7200, args=3D0x7ffff6ba56e0, complain=3D0, i=3D1, in_decl= =3D0x0) at ../../gcc/cp/pt.cc:8653 #41 0x0000000000c4e294 in coerce_template_parms (parms=3D0x7ffff73097f8, args=3D0x7ffff6ba4680, in_decl=3D0x0, complain=3D0, require_all_args=3Dtrue= ) at ../../gcc/tree.h:3613 #42 0x0000000000c74bdb in coerce_template_template_parms (parm_tmpl=3D, arg_tmpl=3D, complain=3D0, in_decl=3D0x0, outer_args= =3D) at ../../gcc/cp/pt.cc:8211 #43 0x0000000000c4c375 in convert_template_argument (parm=3D0x7ffff7fb7180, arg=3D0x7ffff7fb7100, args=3D0x7ffff6ba56b8, complain=3D0, i=3D1, in_decl= =3D0x0) at ../../gcc/cp/pt.cc:8653 #44 0x0000000000c4e294 in coerce_template_parms (parms=3D0x7ffff7309af0, args=3D0x7ffff6ba4660, in_decl=3D0x0, complain=3D0, require_all_args=3Dtrue= ) at ../../gcc/tree.h:3613 #45 0x0000000000c74bdb in coerce_template_template_parms (parm_tmpl=3D, arg_tmpl=3D, complain=3D0, in_decl=3D0x0, outer_args= =3D) at ../../gcc/cp/pt.cc:8211 #46 0x0000000000c4c375 in convert_template_argument (parm=3D0x7ffff7fb7080, arg=3D0x7ffff7fb7200, args=3D0x7ffff6ba5690, complain=3D0, i=3D1, in_decl= =3D0x0) at ../../gcc/cp/pt.cc:8653 #47 0x0000000000c4e294 in coerce_template_parms (parms=3D0x7ffff73097f8, args=3D0x7ffff6ba4640, in_decl=3D0x0, complain=3D0, require_all_args=3Dtrue= ) at ../../gcc/tree.h:3613 #48 0x0000000000c74bdb in coerce_template_template_parms (parm_tmpl=3D, arg_tmpl=3D, complain=3D0, in_decl=3D0x0, outer_args= =3D) at ../../gcc/cp/pt.cc:8211 ``` Confirmed. Looks like an infinite loop between coerce_template_parms and coerce_template_template_parms here.=