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

            Bug ID: 120030
           Summary: ICE in set_init_priority when applying multiple
                    __attribute__((constructor)) declarations in C
           Product: gcc
           Version: 15.1.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
          Assignee: unassigned at gcc dot gnu.org
          Reporter: mario.rodriguezb1 at um dot es
  Target Milestone: ---

This code causes an internal compiler error (ICE) from gcc 7 to 15.1.

```
#include <stdlib.h>
#define FOO __attribute__ ((constructor))
void my_display() FOO FOO;
FOO void my_display2() FOO __attribute__ ((constructor (14)));
```



Stack dump in gcc-13

```
prueba.c:5:1: internal compiler error: in set_init_priority, at symtab.cc:1793
0x6f091b symtab_node::set_init_priority(unsigned short)
        .././../gcc-13-source/gcc/symtab.cc:1793
0x82b6ea handle_constructor_attribute
        .././../gcc-13-source/gcc/c-family/c-attribs.cc:1968
0x741c3a decl_attributes(tree_node**, tree_node*, int, tree_node*)
        .././../gcc-13-source/gcc/attribs.cc:878
0x75aa9a start_decl(c_declarator*, c_declspecs*, bool, tree_node*, bool,
unsigned int*)
        .././../gcc-13-source/gcc/c/c-decl.cc:5460
0x7ae5c0 c_parser_declaration_or_fndef
        .././../gcc-13-source/gcc/c/c-parser.cc:2599
0x7b65bb c_parser_external_declaration
        .././../gcc-13-source/gcc/c/c-parser.cc:1925
0x7b6f93 c_parser_translation_unit
        .././../gcc-13-source/gcc/c/c-parser.cc:1779
0x7b6f93 c_parse_file()
        .././../gcc-13-source/gcc/c/c-parser.cc:24632
0x814561 c_common_parse_file()
        .././../gcc-13-source/gcc/c-family/c-opts.cc:1248
```

To reproduce:

https://gcc.godbolt.org/z/eWoq1saTn

Reply via email to