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

--- Comment #1 from Yongheng Chen <changochen1 at gmail dot com> ---
Stack dump:
---
tt.c:1:5: error: ‘f1’ declared as function returning a function
    1 | int f1 ( char * p  ) ( ) { int x ;
      |     ^~
tt.c: In function ‘f1’:
tt.c:4:9: warning: implicit declaration of function ‘sum’
[-Wimplicit-function-declaration]
    4 |  if ( ( sum ( 1 , 2  ) / 2  ) != 1  ) return 1 ;
      |         ^~~
tt.c:5:60: error: size of array ‘X’ has non-integer type
    5 |  if ( - ( 2 * sum ( 3 , 4  ) + sum ( ( union foo { int i , X [ 2  ] [ -
( 100.000000 / 2  ) * 2  ] , k ;
      |                                                            ^
tt.c:7:34: error: field ‘f1’ declared as a function
    7 |                        float ( * f1 ( int a , int b  )  ) ( int c , int
b  ) ;
      |                                  ^~
tt.c:5:32: internal compiler error: in force_constant_size, at gimplify.c:733
    5 |  if ( - ( 2 * sum ( 3 , 4  ) + sum ( ( union foo { int i , X [ 2  ] [ -
( 100.000000 / 2  ) * 2  ] , k ;
      |                               
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    6 |                       char * p ;
      |                       ~~~~~~~~~~
    7 |                        float ( * f1 ( int a , int b  )  ) ( int c , int
b  ) ;
      |                       
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    8 |                         }  ) p , 2  )  ) != 0 - 4  ) return 1 ;
      |                         ~~~~~~~~~~~~~
0x69d4dc force_constant_size
        ../../gcc/gimplify.c:733
0xb1b637 gimple_add_tmp_var(tree_node*)
        ../../gcc/gimplify.c:771
0xae9287 create_tmp_var(tree_node*, char const*)
        ../../gcc/gimple-expr.c:485
0xb2d5df create_tmp_from_val
        ../../gcc/gimplify.c:561
0xb2d5df lookup_tmp_var
        ../../gcc/gimplify.c:582
0xb2d5df internal_get_tmp_var
        ../../gcc/gimplify.c:635
0xb26ccf get_formal_tmp_var(tree_node*, gimple**)
        ../../gcc/gimplify.c:663
0xb26ccf gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*),
int)
        ../../gcc/gimplify.c:14582
0xb287c6 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*),
int)
        ../../gcc/gimplify.c:14030
0xb314b4 gimplify_expr
        ../../gcc/gimplify.c:14628
0xb33335 gimplify_call_expr
        ../../gcc/gimplify.c:3497
0xb28467 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*),
int)
        ../../gcc/gimplify.c:13553
0xb27790 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*),
int)
        ../../gcc/gimplify.c:14350
0xb27757 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*),
int)
        ../../gcc/gimplify.c:14348
0xb3cdbb gimplify_cond_expr
        ../../gcc/gimplify.c:4177
0xb27ece gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*),
int)
        ../../gcc/gimplify.c:13538
0xb2af96 gimplify_stmt(tree_node**, gimple**)
        ../../gcc/gimplify.c:6822
0xb2885b gimplify_statement_list
        ../../gcc/gimplify.c:1869
0xb2885b gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*),
int)
        ../../gcc/gimplify.c:14025
0xb2af96 gimplify_stmt(tree_node**, gimple**)
        ../../gcc/gimplify.c:6822
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.
---

Reply via email to