[Bug middle-end/93576] [10 Regression] internal compiler error: Segmentation fault (in gimplify.c)

msebor at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Tue Feb 4 19:47:00 GMT 2020


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

Martin Sebor <msebor at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |ice-on-invalid-code
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2020-02-04
                 CC|                            |msebor at gcc dot gnu.org
          Component|c                           |middle-end
            Summary|internal compiler error:    |[10 Regression] internal
                   |Segmentation fault (in      |compiler error:
                   |gimplify.c)                 |Segmentation fault (in
                   |                            |gimplify.c)
     Ever confirmed|0                           |1

--- Comment #1 from Martin Sebor <msebor at gcc dot gnu.org> ---
Confirmed.  Please include the compiler options and its output in bug reports
(see What We Need in https://gcc.gnu.org/bugs).

$ gcc -S -Wall pr92576.c
pr92576.c: In function ‘main’:
pr92576.c:1:34: error: ‘e’ undeclared (first use in this function)
    1 | int main ( ) { int x [ ] = { 1 , e } ;
      |                                  ^
pr92576.c:1:34: note: each undeclared identifier is reported only once for each
function it appears in
pr92576.c:2:24: error: ‘p’ undeclared (first use in this function)
    2 |  return x [ ( ( char ) p % ( sizeof ( 0 ) < main ) >= ( ( ( char * ( *
( * (
      |                        ^
pr92576.c:2:15: warning: cast from pointer to integer of different size
[-Wpointer-to-int-cast]
    2 |  return x [ ( ( char ) p % ( sizeof ( 0 ) < main ) >= ( ( ( char * ( *
( * (
      |               ^
pr92576.c:2:43: warning: comparison between pointer and integer
    2 |  return x [ ( ( char ) p % ( sizeof ( 0 ) < main ) >= ( ( ( char * ( *
( * (
      |                                           ^
pr92576.c:3:14: warning: ‘struct list’ declared inside parameter list will not
be visible outside of this definition or declaration
    3 | int ( struct list ) ) ) [ ! ( 1 , 2 * ( 3 , ! x != ( 1 , sizeof ( char
* ) < (
      |              ^~~~
pr92576.c:3:45: warning: the address of ‘x’ will always evaluate as ‘true’
[-Waddress]
    3 | int ( struct list ) ) ) [ ! ( 1 , 2 * ( 3 , ! x != ( 1 , sizeof ( char
* ) < (
      |                                             ^
pr92576.c:4:5: warning: left-hand operand of comma expression has no effect
[-Wunused-value]
    4 | ( 1 , 2 ) / 2 != 7 , 2 ) ) ) ) ] ) [ * * main ] ) p + 4 ) >= & x [ 12 ]
) ) ] ;
      |     ^
pr92576.c:4:20: warning: left-hand operand of comma expression has no effect
[-Wunused-value]
    4 | ( 1 , 2 ) / 2 != 7 , 2 ) ) ) ) ] ) [ * * main ] ) p + 4 ) >= & x [ 12 ]
) ) ] ;
      |                    ^
pr92576.c:3:56: warning: left-hand operand of comma expression has no effect
[-Wunused-value]
    3 | int ( struct list ) ) ) [ ! ( 1 , 2 * ( 3 , ! x != ( 1 , sizeof ( char
* ) < (
      |                                                        ^
pr92576.c:3:49: warning: logical not is only applied to the left hand side of
comparison [-Wlogical-not-parentheses]
    3 | int ( struct list ) ) ) [ ! ( 1 , 2 * ( 3 , ! x != ( 1 , sizeof ( char
* ) < (
      |                                                 ^~
pr92576.c:3:45: note: add parentheses around left hand side expression to
silence this warning
    3 | int ( struct list ) ) ) [ ! ( 1 , 2 * ( 3 , ! x != ( 1 , sizeof ( char
* ) < (
      |                                             ^~~
      |                                             (  )
pr92576.c:3:43: warning: left-hand operand of comma expression has no effect
[-Wunused-value]
    3 | int ( struct list ) ) ) [ ! ( 1 , 2 * ( 3 , ! x != ( 1 , sizeof ( char
* ) < (
      |                                           ^
pr92576.c:3:33: warning: left-hand operand of comma expression has no effect
[-Wunused-value]
    3 | int ( struct list ) ) ) [ ! ( 1 , 2 * ( 3 , ! x != ( 1 , sizeof ( char
* ) < (
      |                                 ^
pr92576.c:3:14: error: size of unnamed array has non-integer type
    3 | int ( struct list ) ) ) [ ! ( 1 , 2 * ( 3 , ! x != ( 1 , sizeof ( char
* ) < (
      |              ^~~~
pr92576.c:2:59: error: cast specifies function type
    2 |  return x [ ( ( char ) p % ( sizeof ( 0 ) < main ) >= ( ( ( char * ( *
( * (
      |                                                           ^
pr92576.c:3:14: internal compiler error: Segmentation fault
    3 | int ( struct list ) ) ) [ ! ( 1 , 2 * ( 3 , ! x != ( 1 , sizeof ( char
* ) < (
      |              ^~~~
0x12d1642 crash_signal
        /src/gcc/trunk/gcc/toplev.c:328
0xe0bdd7 gimplify_compound_expr
        /src/gcc/trunk/gcc/gimplify.c:6021
0xe0bdf7 gimplify_compound_expr
        /src/gcc/trunk/gcc/gimplify.c:6022
0xe3402e gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*),
int)
        /src/gcc/trunk/gcc/gimplify.c:13571
0xe380cb gimplify_expr
        /src/gcc/trunk/gcc/gimplify.c:14628
0xe38d17 gimplify_one_sizepos(tree_node**, gimple**)
        /src/gcc/trunk/gcc/gimplify.c:14775
0xe3838e gimplify_type_sizes(tree_node*, gimple**)
        /src/gcc/trunk/gcc/gimplify.c:14676
0xe38574 gimplify_type_sizes(tree_node*, gimple**)
        /src/gcc/trunk/gcc/gimplify.c:14688
0xdfcbc7 gimplify_decl_expr
        /src/gcc/trunk/gcc/gimplify.c:1755
0xe34e71 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*),
int)
        /src/gcc/trunk/gcc/gimplify.c:13778
0xe0eede gimplify_stmt(tree_node**, gimple**)
        /src/gcc/trunk/gcc/gimplify.c:6822
0xdfb8d2 gimplify_bind_expr
        /src/gcc/trunk/gcc/gimplify.c:1424
0xe34e92 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*),
int)
        /src/gcc/trunk/gcc/gimplify.c:13782
0xe0eede gimplify_stmt(tree_node**, gimple**)
        /src/gcc/trunk/gcc/gimplify.c:6822
0xe0be74 gimplify_compound_expr
        /src/gcc/trunk/gcc/gimplify.c:6035
0xe0bdf7 gimplify_compound_expr
        /src/gcc/trunk/gcc/gimplify.c:6022
0xe3402e gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*),
int)
        /src/gcc/trunk/gcc/gimplify.c:13571
0xe011fe gimplify_compound_lval
        /src/gcc/trunk/gcc/gimplify.c:3079
0xe33ee3 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*),
int)
        /src/gcc/trunk/gcc/gimplify.c:13533
0xe0a731 gimplify_modify_expr
        /src/gcc/trunk/gcc/gimplify.c:5765
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.


More information about the Gcc-bugs mailing list