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

Reply via email to