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

            Bug ID: 120109
           Summary: ICE in expand_builtin_init_trampoline with
                    __builtin_init_trampoline using __FILE__ as 3rd
                    argument
           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: ---

Using __builtin_init_trampoline with __FILE__ as the third argument causes an
internal compiler error.

```
#include <stdio.h>
#include <string.h>
int main(void)
{
    int x;
    __builtin_init_trampoline (&x, &x, __FILE__);
}
```

Stack dump

```
prueba.cpp:6:5: internal compiler error: in expand_builtin_init_trampoline, at
builtins.cc:5697
    6 |     __builtin_init_trampoline (&x, &x, __FILE__);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
0x6ee935 expand_builtin_init_trampoline
        .././../gcc-13-source/gcc/builtins.cc:5697
0x97e49f expand_expr_real_1(tree_node*, rtx_def*, machine_mode,
expand_modifier, rtx_def**, bool)
        .././../gcc-13-source/gcc/expr.cc:11865
0x87e056 expand_expr(tree_node*, rtx_def*, machine_mode, expand_modifier)
        .././../gcc-13-source/gcc/expr.h:310
0x87e056 expand_call_stmt
        .././../gcc-13-source/gcc/cfgexpand.cc:2831
0x87e056 expand_gimple_stmt_1
        .././../gcc-13-source/gcc/cfgexpand.cc:3880
0x87e056 expand_gimple_stmt
        .././../gcc-13-source/gcc/cfgexpand.cc:4044
0x882977 expand_gimple_basic_block
        .././../gcc-13-source/gcc/cfgexpand.cc:6106
0x8845e6 execute
        .././../gcc-13-source/gcc/cfgexpand.cc:6841
```


It happens since 4.5.3 until current version, to reproduce:

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

Reply via email to