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

--- Comment #3 from David Malcolm <dmalcolm at gcc dot gnu.org> ---
Jonathan: it would need some special-casing in the parser, I think; FWIW the
error is emitted here:

(gdb) bt
#0  error_at (richloc=0x4e6a9a0 <declarator_obstack>, gmsgid=0x4e6a9a0
<declarator_obstack> "")
    at ../../src/gcc/diagnostic-global-context.cc:433
#1  0x00000000013933de in c_parse_error (gmsgid=0x3e7744b "expected
initializer", 
    token_type=CPP_LESS, value=<tree 0x0>, token_flags=0 '\000',
richloc=0x7fffffffd5b0)
    at ../../src/gcc/c-family/c-common.cc:6940
#2  0x0000000001107718 in cp_parser_error_1 (parser=0x7fffea678dc0, 
    gmsgid=0x3e7744b "expected initializer", missing_token_desc=RT_NONE,
matching_location=0)
    at ../../src/gcc/cp/parser.cc:3342
#3  0x00000000011077db in cp_parser_error (parser=0x7fffea678dc0, 
    gmsgid=0x3e7744b "expected initializer") at ../../src/gcc/cp/parser.cc:3370
#4  0x0000000001139818 in cp_parser_init_declarator (parser=0x7fffea678dc0,
flags=32, 
    decl_specifiers=0x7fffffffd8b0, checks=0x0,
function_definition_allowed_p=true, 
    member_p=false, declares_class_or_enum=0,
function_definition_p=0x7fffffffd8af, 
    maybe_range_for_decl=0x0, init_loc=0x0, auto_result=0x0) at
../../src/gcc/cp/parser.cc:23938
#5  0x000000000115001a in cp_parser_single_declaration (parser=0x7fffea678dc0,
checks=0x0, 
    member_p=false, explicit_specialization_p=true, friend_p=0x0)
    at ../../src/gcc/cp/parser.cc:33775
#6  0x0000000001131618 in cp_parser_explicit_specialization
(parser=0x7fffea678dc0)
    at ../../src/gcc/cp/parser.cc:20378
#7  0x00000000011289cf in cp_parser_declaration (parser=0x7fffea678dc0,
prefix_attrs=<tree 0x0>)
    at ../../src/gcc/cp/parser.cc:15946
#8  0x0000000001128e71 in cp_parser_toplevel_declaration
(parser=0x7fffea678dc0)
    at ../../src/gcc/cp/parser.cc:16054
#9  0x000000000110cef4 in cp_parser_translation_unit (parser=0x7fffea678dc0)
    at ../../src/gcc/cp/parser.cc:5353
#10 0x0000000001193827 in c_parse_file () at ../../src/gcc/cp/parser.cc:53085
#11 0x00000000013e422c in c_common_parse_file () at
../../src/gcc/c-family/c-opts.cc:1390
#12 0x0000000001cbda92 in compile_file () at ../../src/gcc/toplev.cc:452
#13 0x0000000001cc1b8b in do_compile () at ../../src/gcc/toplev.cc:2208
#14 0x0000000001cc2087 in toplev::main (this=0x7fffffffdd1a, argc=21,
argv=0x7fffffffde28)
    at ../../src/gcc/toplev.cc:2368
#15 0x0000000003c9fd68 in main (argc=21, argv=0x7fffffffde28) at
../../src/gcc/main.cc:39

Reply via email to