https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94733
Bug ID: 94733 Summary: [10 Regression] ICE: tree check: expected identifier_node, have tree_list in is_attribute_p, at attribs.h:155 Product: gcc Version: 10.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: asolokha at gmx dot com Target Milestone: --- g++-10.0.1-alpha20200419 snapshot (g:717e91dbc44c6bf55a498f45f6045191ceb10a11) ICEs when compiling the following testcase w/ -fgnu-tm: struct [[gnu::may_alias]] pe { }; % g++-10.0.1 -fgnu-tm -c eqtzx3iu.cpp eqtzx3iu.cpp:1:27: internal compiler error: tree check: expected identifier_node, have tree_list in is_attribute_p, at attribs.h:155 1 | struct [[gnu::may_alias]] pe { }; | ^~ 0x7bcf2c tree_check_failed(tree_node const*, char const*, int, char const*, ...) /var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200419/work/gcc-10-20200419/gcc/tree.c:9727 0x6aa239 tree_check(tree_node const*, char const*, int, char const*, tree_code) /var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200419/work/gcc-10-20200419/gcc/tree.h:3543 0x6aa239 is_attribute_p /var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200419/work/gcc-10-20200419/gcc/attribs.h:155 0x6abe5e tm_attr_to_mask(tree_node*) /var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200419/work/gcc-10-20200419/gcc/tree.h:3401 0xafbaef find_tm_attribute(tree_node*) /var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200419/work/gcc-10-20200419/gcc/c-family/c-attribs.c:3318 0x896740 set_method_tm_attributes /var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200419/work/gcc-10-20200419/gcc/cp/class.c:5092 0x896740 finish_struct_1(tree_node*) /var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200419/work/gcc-10-20200419/gcc/cp/class.c:7302 0x897b24 finish_struct(tree_node*, tree_node*) /var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200419/work/gcc-10-20200419/gcc/cp/class.c:7516 0x9975f3 cp_parser_class_specifier_1 /var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200419/work/gcc-10-20200419/gcc/cp/parser.c:23878 0x99969b cp_parser_class_specifier /var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200419/work/gcc-10-20200419/gcc/cp/parser.c:24177 0x99969b cp_parser_type_specifier /var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200419/work/gcc-10-20200419/gcc/cp/parser.c:17708 0x99a7a5 cp_parser_decl_specifier_seq /var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200419/work/gcc-10-20200419/gcc/cp/parser.c:14356 0x99b244 cp_parser_simple_declaration /var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200419/work/gcc-10-20200419/gcc/cp/parser.c:13610 0x9c5a32 cp_parser_declaration /var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200419/work/gcc-10-20200419/gcc/cp/parser.c:13430 0x9c61cf cp_parser_translation_unit /var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200419/work/gcc-10-20200419/gcc/cp/parser.c:4731 0x9c61cf c_parse_file() /var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200419/work/gcc-10-20200419/gcc/cp/parser.c:43972 0xadeaeb c_common_parse_file() /var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200419/work/gcc-10-20200419/gcc/c-family/c-opts.c:1190 Citing Jakub's PR94106 comment 2: "Nobody really maintains the -fgnu-tm stuff anymore".