From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 07C773857816; Mon, 17 May 2021 05:54:53 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 07C773857816 From: "asolokha at gmx dot com" To: gcc-bugs@gcc.gnu.org Subject: [Bug c++/100632] New: [11/12 Regression] ICE: Segmentation fault (in write_member_name) Date: Mon, 17 May 2021 05:54:52 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: c++ X-Bugzilla-Version: 12.0 X-Bugzilla-Keywords: error-recovery, ice-on-invalid-code X-Bugzilla-Severity: normal X-Bugzilla-Who: asolokha at gmx dot com 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: bug_id short_desc product version bug_status keywords bug_severity priority component assigned_to reporter target_milestone Message-ID: 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 X-BeenThere: gcc-bugs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-bugs mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 May 2021 05:54:53 -0000 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D100632 Bug ID: 100632 Summary: [11/12 Regression] ICE: Segmentation fault (in write_member_name) Product: gcc Version: 12.0 Status: UNCONFIRMED Keywords: error-recovery, ice-on-invalid-code Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: asolokha at gmx dot com Target Milestone: --- g++-12.0.0-alpha20210516 snapshot (g:4a322345cab10879162a2ddf659fb0f873ba01= 82) ICEs when compiling the following testcase, extracted from test/CodeGenCXX/mangle-class-nttp.cpp from the clang 12.0.0 test suite, w/ -std=3Dc++20: struct B { const int *p; }; template void f(); struct Nested { union { int k; }; } nested; template void f(); % g++-12.0.0 -std=3Dc++20 -c hwmzjgfh.cpp hwmzjgfh.cpp:6:31: internal compiler error: Segmentation fault 6 | template void f(); | ^ 0x10dbb6f crash_signal =20=20=20=20=20=20=20 /var/tmp/portage/sys-devel/gcc-12.0.0_alpha20210516/work/gcc-12-20210516/gc= c/toplev.c:327 0x9ddcd5 tree_check(tree_node*, char const*, int, char const*, tree_code) =20=20=20=20=20=20=20 /var/tmp/portage/sys-devel/gcc-12.0.0_alpha20210516/work/gcc-12-20210516/gc= c/tree.h:3355 0x9ddcd5 write_member_name =20=20=20=20=20=20=20 /var/tmp/portage/sys-devel/gcc-12.0.0_alpha20210516/work/gcc-12-20210516/gc= c/cp/mangle.c:2875 0x9db2ca write_expression =20=20=20=20=20=20=20 /var/tmp/portage/sys-devel/gcc-12.0.0_alpha20210516/work/gcc-12-20210516/gc= c/cp/mangle.c:3412 0x9d9ad2 write_expression =20=20=20=20=20=20=20 /var/tmp/portage/sys-devel/gcc-12.0.0_alpha20210516/work/gcc-12-20210516/gc= c/cp/mangle.c:3547 0x9dbc36 write_expression =20=20=20=20=20=20=20 /var/tmp/portage/sys-devel/gcc-12.0.0_alpha20210516/work/gcc-12-20210516/gc= c/cp/mangle.c:3340 0x9de64f mangle_template_parm_object(tree_node*) =20=20=20=20=20=20=20 /var/tmp/portage/sys-devel/gcc-12.0.0_alpha20210516/work/gcc-12-20210516/gc= c/cp/mangle.c:4518 0xaa0f1a get_template_parm_object =20=20=20=20=20=20=20 /var/tmp/portage/sys-devel/gcc-12.0.0_alpha20210516/work/gcc-12-20210516/gc= c/cp/pt.c:7162 0xacb8ab convert_nontype_argument =20=20=20=20=20=20=20 /var/tmp/portage/sys-devel/gcc-12.0.0_alpha20210516/work/gcc-12-20210516/gc= c/cp/pt.c:7647 0xacb8ab convert_template_argument =20=20=20=20=20=20=20 /var/tmp/portage/sys-devel/gcc-12.0.0_alpha20210516/work/gcc-12-20210516/gc= c/cp/pt.c:8546 0xacd2c3 coerce_template_parms =20=20=20=20=20=20=20 /var/tmp/portage/sys-devel/gcc-12.0.0_alpha20210516/work/gcc-12-20210516/gc= c/cp/pt.c:9025 0xada921 fn_type_unification(tree_node*, tree_node*, tree_node*, tree_node* const*, unsigned int, tree_node*, unification_kind_t, int, conversion**, bo= ol, bool) =20=20=20=20=20=20=20 /var/tmp/portage/sys-devel/gcc-12.0.0_alpha20210516/work/gcc-12-20210516/gc= c/cp/pt.c:21504 0xadbbe4 get_bindings =20=20=20=20=20=20=20 /var/tmp/portage/sys-devel/gcc-12.0.0_alpha20210516/work/gcc-12-20210516/gc= c/cp/pt.c:24738 0xadcaf1 determine_specialization =20=20=20=20=20=20=20 /var/tmp/portage/sys-devel/gcc-12.0.0_alpha20210516/work/gcc-12-20210516/gc= c/cp/pt.c:2335 0xae235c determine_specialization =20=20=20=20=20=20=20 /var/tmp/portage/sys-devel/gcc-12.0.0_alpha20210516/work/gcc-12-20210516/gc= c/cp/pt.c:2158 0xae235c check_explicit_specialization(tree_node*, tree_node*, int, int, tree_node*) =20=20=20=20=20=20=20 /var/tmp/portage/sys-devel/gcc-12.0.0_alpha20210516/work/gcc-12-20210516/gc= c/cp/pt.c:3126 0x97c5e1 grokfndecl =20=20=20=20=20=20=20 /var/tmp/portage/sys-devel/gcc-12.0.0_alpha20210516/work/gcc-12-20210516/gc= c/cp/decl.c:10119 0x9838fd grokdeclarator(cp_declarator const*, cp_decl_specifier_seq*, decl_context, int, tree_node**) =20=20=20=20=20=20=20 /var/tmp/portage/sys-devel/gcc-12.0.0_alpha20210516/work/gcc-12-20210516/gc= c/cp/decl.c:13975 0xa747e4 cp_parser_explicit_instantiation =20=20=20=20=20=20=20 /var/tmp/portage/sys-devel/gcc-12.0.0_alpha20210516/work/gcc-12-20210516/gc= c/cp/parser.c:18285 0xa85470 cp_parser_declaration =20=20=20=20=20=20=20 /var/tmp/portage/sys-devel/gcc-12.0.0_alpha20210516/work/gcc-12-20210516/gc= c/cp/parser.c:14127=