https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118644
Bug ID: 118644
Summary: Crash at -O3 during RTL pass: expand
Product: gcc
Version: 15.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c
Assignee: unassigned at gcc dot gnu.org
Reporter: yunboni at smail dot nju.edu.cn
Target Milestone: ---
This code crashes at -O3:
```c
int a, b;
int c(int d, int *e) {
a = 0;
for (; a < d; a++)
b += e[-a];
int f = c(33, &f);
}
void main() {}
```
Crash:
during RTL pass: expand
reduced.c: In function ācā:
reduced.c:2:5: internal compiler error: in tree_to_poly_uint64, at tree.cc:3350
2 | int c(int d, int *e) {
| ^
Backtrace:
0x2602626 internal_error(char const*, ...)
../../gcc/diagnostic-global-context.cc:517
0x9e8408 fancy_abort(char const*, int, char const*)
../../gcc/diagnostic.cc:1722
0x8f5b90 tree_to_poly_uint64(tree_node const*)
../../gcc/tree.cc:3350
0x8f5b90 tree_to_poly_uint64(tree_node const*)
../../gcc/tree.cc:3348
0x11b1cb2 bit_field_offset(tree_node const*)
../../gcc/tree.h:5719
0x11b1cb2 bit_field_ref_in_bounds_p
../../gcc/tree-eh.cc:2662
0x11b1cb2 tree_could_trap_p(tree_node*)
../../gcc/tree-eh.cc:2715
0xcbb1db set_mem_attributes_minus_bitpos(rtx_def*, tree_node*, int,
poly_int<1u, long>)
../../gcc/emit-rtl.cc:2047
0xcf333e expand_expr_real_1(tree_node*, rtx_def*, machine_mode,
expand_modifier, rtx_def**, bool)
../../gcc/expr.cc:12381
0xcf4307 expand_expr_real(tree_node*, rtx_def*, machine_mode, expand_modifier,
rtx_def**, bool)
../../gcc/expr.cc:9521
0xcf4307 expand_expr(tree_node*, rtx_def*, machine_mode, expand_modifier)
../../gcc/expr.h:323
0xcf4307 expand_expr_real_1(tree_node*, rtx_def*, machine_mode,
expand_modifier, rtx_def**, bool)
../../gcc/expr.cc:11811
0xcf6c85 expand_expr_real_gassign(gassign*, rtx_def*, machine_mode,
expand_modifier, rtx_def**, bool)
../../gcc/expr.cc:11190
0xcf4f25 expand_expr_real_1(tree_node*, rtx_def*, machine_mode,
expand_modifier, rtx_def**, bool)
../../gcc/expr.cc:11368
0xcf6dd4 expand_expr(tree_node*, rtx_def*, machine_mode, expand_modifier)
../../gcc/expr.h:323
0xcf6dd4 expand_operands(tree_node*, tree_node*, rtx_def*, rtx_def**,
rtx_def**, expand_modifier)
../../gcc/expr.cc:9099
0xcec160 expand_expr_real_2(separate_ops const*, rtx_def*, machine_mode,
expand_modifier)
../../gcc/expr.cc:10069
0xcf6cf3 expand_expr_real_gassign(gassign*, rtx_def*, machine_mode,
expand_modifier, rtx_def**, bool)
../../gcc/expr.cc:11186
0xcf4f25 expand_expr_real_1(tree_node*, rtx_def*, machine_mode,
expand_modifier, rtx_def**, bool)
../../gcc/expr.cc:11368
0xcf6dd4 expand_expr(tree_node*, rtx_def*, machine_mode, expand_modifier)
../../gcc/expr.h:323