This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug c++/84789] New: [6/7/8 Regression] ICE with broken variable declaration in template class


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

            Bug ID: 84789
           Summary: [6/7/8 Regression] ICE with broken variable
                    declaration in template class
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Keywords: ice-on-invalid-code
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: reichelt at gcc dot gnu.org
  Target Milestone: ---

The following invalid-code code snippet triggers an ICE since GCC 6.3.0:

========================================
struct A
{
  typedef int I;
};

template<typename> struct B : A {};

template<typename T> struct C : B<T>
{
  B<T>::A::I::I i;
};
========================================

bug.cc:10:3: internal compiler error: in resolve_typename_type, at
cp/pt.c:25199
   B<T>::A::I::I i;
   ^~~~
0x64b44a resolve_typename_type(tree_node*, bool)
        ../../gcc/gcc/cp/pt.c:25199
0x932008 cp_parser_nested_name_specifier_opt
        ../../gcc/gcc/cp/parser.c:6190
0x931624 cp_parser_id_expression
        ../../gcc/gcc/cp/parser.c:5702
0x939b0a cp_parser_parse_and_diagnose_invalid_type_name
        ../../gcc/gcc/cp/parser.c:3452
0x92b507 cp_parser_member_declaration
        ../../gcc/gcc/cp/parser.c:23525
0x92be2a cp_parser_member_specification_opt
        ../../gcc/gcc/cp/parser.c:23374
0x92be2a cp_parser_class_specifier_1
        ../../gcc/gcc/cp/parser.c:22516
0x92de89 cp_parser_class_specifier
        ../../gcc/gcc/cp/parser.c:22768
0x92de89 cp_parser_type_specifier
        ../../gcc/gcc/cp/parser.c:16774
0x93b0c6 cp_parser_decl_specifier_seq
        ../../gcc/gcc/cp/parser.c:13625
0x93f805 cp_parser_single_declaration
        ../../gcc/gcc/cp/parser.c:27184
0x93fb8c cp_parser_template_declaration_after_parameters
        ../../gcc/gcc/cp/parser.c:26876
0x94044c cp_parser_explicit_template_declaration
        ../../gcc/gcc/cp/parser.c:27113
0x94044c cp_parser_template_declaration_after_export
        ../../gcc/gcc/cp/parser.c:27132
0x9457b9 cp_parser_declaration
        ../../gcc/gcc/cp/parser.c:12729
0x945aa1 cp_parser_declaration_seq_opt
        ../../gcc/gcc/cp/parser.c:12656
0x945d94 cp_parser_translation_unit
        ../../gcc/gcc/cp/parser.c:4561
0x945d94 c_parse_file()
        ../../gcc/gcc/cp/parser.c:38995
0xa44906 c_common_parse_file()
        ../../gcc/gcc/c-family/c-opts.c:1132
Please submit a full bug report, [etc.]

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]