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

            Bug ID: 92068
           Summary: [8 regression] ICE on invalid in
                    process_partial_specialization
           Product: gcc
           Version: 10.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: dimhen at gmail dot com
  Target Milestone: ---

r258989 PASS
r259099 FAIL
r276845 FAIL

$ cat x.ii
template <typename, typename> struct a;
template <typename b, typename c, typename... d> struct a<b, c, d...>:

$ g++ -fpreprocessed -c x.ii
x.ii:2:57: error: partial specialization 'struct a<b, c, d ...>' is not more
specialized than [-fpermissive]
    2 | template <typename b, typename c, typename... d> struct a<b, c, d...>:
      |                                                         ^~~~~~~~~~~~~
x.ii:1:38: note: primary template 'template<class, class> struct a'
    1 | template <typename, typename> struct a;
      |                                      ^
x.ii:2:57: internal compiler error: in process_partial_specialization, at
cp/pt.c:5072
    2 | template <typename b, typename c, typename... d> struct a<b, c, d...>:
      |                                                         ^~~~~~~~~~~~~
0x67c6f4 process_partial_specialization
        /home/dimhen/src/gcc_current/gcc/cp/pt.c:5072
0xb7c5fd push_template_decl_real(tree_node*, bool)
        /home/dimhen/src/gcc_current/gcc/cp/pt.c:5616
0xb7c5fd push_template_decl(tree_node*)
        /home/dimhen/src/gcc_current/gcc/cp/pt.c:6021
0xb7c5fd maybe_process_partial_specialization(tree_node*)
        /home/dimhen/src/gcc_current/gcc/cp/pt.c:1006
0xb0952c cp_parser_class_head
        /home/dimhen/src/gcc_current/gcc/cp/parser.c:24249
0xb0952c cp_parser_class_specifier_1
        /home/dimhen/src/gcc_current/gcc/cp/parser.c:23536
0xb0a0ce cp_parser_class_specifier
        /home/dimhen/src/gcc_current/gcc/cp/parser.c:23914
0xb0a0ce cp_parser_type_specifier
        /home/dimhen/src/gcc_current/gcc/cp/parser.c:17512
0xb0b159 cp_parser_decl_specifier_seq
        /home/dimhen/src/gcc_current/gcc/cp/parser.c:14204
0xb2ee55 cp_parser_single_declaration
        /home/dimhen/src/gcc_current/gcc/cp/parser.c:28910
0xb2f1db cp_parser_template_declaration_after_parameters
        /home/dimhen/src/gcc_current/gcc/cp/parser.c:28573
0xb2f93e cp_parser_explicit_template_declaration
        /home/dimhen/src/gcc_current/gcc/cp/parser.c:28839
0xb32ef9 cp_parser_declaration
        /home/dimhen/src/gcc_current/gcc/cp/parser.c:13242
0xb3349e cp_parser_translation_unit
        /home/dimhen/src/gcc_current/gcc/cp/parser.c:4732
0xb3349e c_parse_file()
        /home/dimhen/src/gcc_current/gcc/cp/parser.c:42778
0xc356eb c_common_parse_file()
        /home/dimhen/src/gcc_current/gcc/c-family/c-opts.c:1179
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.

Reply via email to