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

            Bug ID: 124520
           Summary: Segmentation fault on invalid declaration involving
                    alignas and enum specifiers
           Product: gcc
           Version: 16.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: suyuchang at whu dot edu.cn
  Target Milestone: ---

Code:
template < <> > operator > () alignas ( enum struct a : enum a a enum struct a
;

Command:
g++ test.cpp

Output:
test.cpp:1:79: internal compiler error: Segmentation fault
    1 | template < <> > operator > () alignas ( enum struct a : enum a a  enum
struct a ;
      |                                                                        
      ^
0x2cb8d8e internal_error(char const*, ...)
        ../../gcc-trunk/gcc/diagnostic-global-context.cc:787
0x16f2b26 crash_signal
        ../../gcc-trunk/gcc/toplev.cc:325
0x7fb874be251f ???
        ./signal/../sysdeps/unix/sysv/linux/x86_64/libc_sigaction.c:0
0xcf7cc9 lookup_and_check_tag
        ../../gcc-trunk/gcc/cp/decl.cc:18234
0xcf8679 start_enum(tree_node*, tree_node*, tree_node*, tree_node*, bool,
bool*)
        ../../gcc-trunk/gcc/cp/decl.cc:18812
0xe49d54 cp_parser_enum_specifier
        ../../gcc-trunk/gcc/cp/parser.cc:23949
0xe3a423 cp_parser_type_specifier
        ../../gcc-trunk/gcc/cp/parser.cc:22307
0xe3a768 cp_parser_type_specifier_seq
        ../../gcc-trunk/gcc/cp/parser.cc:27993
0xe4813e cp_parser_type_id_1
        ../../gcc-trunk/gcc/cp/parser.cc:27756
0xe487fb cp_parser_type_id
        ../../gcc-trunk/gcc/cp/parser.cc:27864
0xe487fb cp_parser_std_attribute_spec
        ../../gcc-trunk/gcc/cp/parser.cc:34018
0xe487fb cp_parser_std_attribute_spec_seq
        ../../gcc-trunk/gcc/cp/parser.cc:34080
0xe4606d cp_parser_direct_declarator
        ../../gcc-trunk/gcc/cp/parser.cc:26724
0xe48068 cp_parser_declarator
        ../../gcc-trunk/gcc/cp/parser.cc:26513
0xe6dea0 cp_parser_init_declarator
        ../../gcc-trunk/gcc/cp/parser.cc:25888
0xe6f7dd cp_parser_single_declaration
        ../../gcc-trunk/gcc/cp/parser.cc:36504
0xe6fa6b cp_parser_template_declaration_after_parameters
        ../../gcc-trunk/gcc/cp/parser.cc:36157
0xe6fa6b cp_parser_explicit_template_declaration
        ../../gcc-trunk/gcc/cp/parser.cc:36331
0xe80571 cp_parser_declaration
        ../../gcc-trunk/gcc/cp/parser.cc:17595
0xe83628 cp_parser_toplevel_declaration
        ../../gcc-trunk/gcc/cp/parser.cc:17705

Regression since GCC 14,1

The test case was generated by a fuzzer.

Reply via email to