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

            Bug ID: 90754
           Summary: [10 Regression] ICE: tree check: expected tree that
                    contains ‘decl minimal’ structure, have ‘tree_list’ in
                    lookup_type_scope_1, at cp/name-lookup.c:6492 since
                    r271912
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: marxin at gcc dot gnu.org
  Target Milestone: ---

Started with Nathan's commit:

$ cat SandboxReporter.ii
class A {
  struct COMTypeInfo;
};
class B {
  struct COMTypeInfo;
};
class C : A, B {
  struct COMTypeInfo;
};

$ g++ SandboxReporter.ii -c
SandboxReporter.ii:8:10: internal compiler error: tree check: expected tree
that contains ‘decl minimal’ structure, have ‘tree_list’ in
lookup_type_scope_1, at cp/name-lookup.c:6492
    8 |   struct COMTypeInfo;
      |          ^~~~~~~~~~~
0x7e6f91 tree_contains_struct_check_failed(tree_node const*,
tree_node_structure_enum, char const*, int, char const*)
        /home/marxin/Programming/gcc/gcc/tree.c:10068
0x6323f0 contains_struct_check(tree_node*, tree_node_structure_enum, char
const*, int, char const*)
        /home/marxin/Programming/gcc/gcc/tree.h:3308
0x6323f0 lookup_type_scope_1
        /home/marxin/Programming/gcc/gcc/cp/name-lookup.c:6492
0x6323f0 lookup_type_scope(tree_node*, tag_scope)
        /home/marxin/Programming/gcc/gcc/cp/name-lookup.c:6535
0x925615 lookup_and_check_tag
        /home/marxin/Programming/gcc/gcc/cp/decl.c:13975
0x9259f1 xref_tag_1
        /home/marxin/Programming/gcc/gcc/cp/decl.c:14089
0x9259f1 xref_tag(tag_types, tree_node*, tag_scope, bool)
        /home/marxin/Programming/gcc/gcc/cp/decl.c:14211
0x9d311b cp_parser_elaborated_type_specifier
        /home/marxin/Programming/gcc/gcc/cp/parser.c:18571
0x9c0322 cp_parser_type_specifier
        /home/marxin/Programming/gcc/gcc/cp/parser.c:17438
0x9c1314 cp_parser_decl_specifier_seq
        /home/marxin/Programming/gcc/gcc/cp/parser.c:14108
0x9e3e57 cp_parser_member_declaration
        /home/marxin/Programming/gcc/gcc/cp/parser.c:24392
0x9be72f cp_parser_member_specification_opt
        /home/marxin/Programming/gcc/gcc/cp/parser.c:24247
0x9be72f cp_parser_class_specifier_1
        /home/marxin/Programming/gcc/gcc/cp/parser.c:23388
0x9c03cd cp_parser_class_specifier
        /home/marxin/Programming/gcc/gcc/cp/parser.c:23650
0x9c03cd cp_parser_type_specifier
        /home/marxin/Programming/gcc/gcc/cp/parser.c:17412
0x9c1314 cp_parser_decl_specifier_seq
        /home/marxin/Programming/gcc/gcc/cp/parser.c:14108
0x9c1b11 cp_parser_simple_declaration
        /home/marxin/Programming/gcc/gcc/cp/parser.c:13403
0x9e58e0 cp_parser_declaration
        /home/marxin/Programming/gcc/gcc/cp/parser.c:13222
0x9e605f cp_parser_translation_unit
        /home/marxin/Programming/gcc/gcc/cp/parser.c:4690
0x9e605f c_parse_file()
        /home/marxin/Programming/gcc/gcc/cp/parser.c:41176

$ g++-9 SandboxReporter.ii -c
[OK]

Reply via email to