[Bug c++/92450] New: [10 Regression] ICE: tree check: expected tree that contains 'decl minimal' structure, have 'error_mark' in cp_parser_member_declaration, at cp/parser.c:25055

asolokha at gmx dot com gcc-bugzilla@gcc.gnu.org
Mon Nov 11 07:22:00 GMT 2019


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92450

            Bug ID: 92450
           Summary: [10 Regression] ICE: tree check: expected tree that
                    contains 'decl minimal' structure, have 'error_mark'
                    in cp_parser_member_declaration, at cp/parser.c:25055
           Product: gcc
           Version: 10.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++-10.0.0-alpha20191110 snapshot (r278028) ICEs when compiling the following
testcase reduced from test/SemaCXX/nested-name-spec.cpp from the clang 9.0.0
testsuite:

typedef int C2;
struct B1 {
  struct B2 {
  };
};

struct S6g {
  C2 : B1:B2;
};

% g++-10.0.0-alpha20191110 -std=c++2a -c bjooa7xf.cpp
bjooa7xf.cpp:8:6: error: found ':' in nested-name-specifier, expected '::'
    8 |   C2 : B1:B2;
      |      ^
      |      ::
bjooa7xf.cpp:8:6: error: invalid use of '::'
bjooa7xf.cpp:8:8: internal compiler error: tree check: expected tree that
contains 'decl minimal' structure, have 'error_mark' in
cp_parser_member_declaration, at cp/parser.c:25055
    8 |   C2 : B1:B2;
      |        ^~
0x76a10a tree_contains_struct_check_failed(tree_node const*,
tree_node_structure_enum, char const*, int, char const*)
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191110/work/gcc-10-20191110/gcc/tree.c:9859
0x628ef8 contains_struct_check(tree_node*, tree_node_structure_enum, char
const*, int, char const*)
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191110/work/gcc-10-20191110/gcc/tree.h:3386
0x628ef8 cp_parser_member_declaration
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191110/work/gcc-10-20191110/gcc/cp/parser.c:25055
0x8ed788 cp_parser_member_specification_opt
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191110/work/gcc-10-20191110/gcc/cp/parser.c:24558
0x8ed788 cp_parser_class_specifier_1
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191110/work/gcc-10-20191110/gcc/cp/parser.c:23658
0x8ef662 cp_parser_class_specifier
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191110/work/gcc-10-20191110/gcc/cp/parser.c:23965
0x8ef662 cp_parser_type_specifier
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191110/work/gcc-10-20191110/gcc/cp/parser.c:17566
0x8f0516 cp_parser_decl_specifier_seq
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191110/work/gcc-10-20191110/gcc/cp/parser.c:14239
0x8f1164 cp_parser_simple_declaration
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191110/work/gcc-10-20191110/gcc/cp/parser.c:13502
0x91749a cp_parser_declaration
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191110/work/gcc-10-20191110/gcc/cp/parser.c:13322
0x9179ad cp_parser_translation_unit
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191110/work/gcc-10-20191110/gcc/cp/parser.c:4721
0x9179ad c_parse_file()
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191110/work/gcc-10-20191110/gcc/cp/parser.c:42900
0xa1a0d9 c_common_parse_file()
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191110/work/gcc-10-20191110/gcc/c-family/c-opts.c:1183


More information about the Gcc-bugs mailing list