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