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

            Bug ID: 79896
           Summary: ICE in gimplify_expr, at gimplify.c:11950 on ARM
                    target
           Product: gcc
           Version: 7.0
            Status: UNCONFIRMED
          Keywords: ice-on-invalid-code
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: marxin at gcc dot gnu.org
  Target Milestone: ---
            Target: arm-linux-gnueabi

Running an invalid test-case for the target ICEs:

$ arm-linux-gnueabi-g++
/home/marxin/Programming/gcc/gcc/testsuite/g++.dg/ext/int128-3.C 
/home/marxin/Programming/gcc/gcc/testsuite/g++.dg/ext/int128-3.C:7:3: error:
overflow in enumeration values at ‘e2’
   e2, e3
   ^~
/home/marxin/Programming/gcc/gcc/testsuite/g++.dg/ext/int128-3.C:12:27: error:
expected primary-expression before ‘__int128’
 SA(1, sizeof(E) == sizeof(__int128));
                           ^
/home/marxin/Programming/gcc/gcc/testsuite/g++.dg/ext/int128-3.C:10:27: note:
in definition of macro ‘SA’
 #define SA(I,X) int a##I[(X)? 1 : -1]
                           ^
/home/marxin/Programming/gcc/gcc/testsuite/g++.dg/ext/int128-3.C:12:27: error:
expected ‘)’ before ‘__int128’
 SA(1, sizeof(E) == sizeof(__int128));
                           ^
/home/marxin/Programming/gcc/gcc/testsuite/g++.dg/ext/int128-3.C:10:27: note:
in definition of macro ‘SA’
 #define SA(I,X) int a##I[(X)? 1 : -1]
                           ^
/home/marxin/Programming/gcc/gcc/testsuite/g++.dg/ext/int128-3.C:12:37: error:
expected ‘)’ before ‘;’ token
 SA(1, sizeof(E) == sizeof(__int128));
                                     ^
/home/marxin/Programming/gcc/gcc/testsuite/g++.dg/ext/int128-3.C:12:37: error:
expected ‘]’ before ‘;’ token
/home/marxin/Programming/gcc/gcc/testsuite/g++.dg/ext/int128-3.C: In function
‘void __static_initialization_and_destruction_0(int, int)’:
/home/marxin/Programming/gcc/gcc/testsuite/g++.dg/ext/int128-3.C:8:3: internal
compiler error: in gimplify_expr, at gimplify.c:11950
 } e = e3;
   ^
0xaf0dca gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*),
int)
        .././../gcc/gimplify.c:11950
0xb016bf gimplify_modify_expr
        .././../gcc/gimplify.c:5457
0xaef54d gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*),
int)
        .././../gcc/gimplify.c:11192
0xaf2cf6 gimplify_stmt(tree_node**, gimple**)
        .././../gcc/gimplify.c:6478
0xaef7f1 gimplify_cleanup_point_expr
        .././../gcc/gimplify.c:6230
0xaef7f1 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*),
int)
        .././../gcc/gimplify.c:11567
0xaf2cf6 gimplify_stmt(tree_node**, gimple**)
        .././../gcc/gimplify.c:6478
0xaee0b3 gimplify_statement_list
        .././../gcc/gimplify.c:1716
0xaee0b3 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*),
int)
        .././../gcc/gimplify.c:11619
0xaf2cf6 gimplify_stmt(tree_node**, gimple**)
        .././../gcc/gimplify.c:6478
0xaf7f49 gimplify_cond_expr
        .././../gcc/gimplify.c:3971
0xaef584 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*),
int)
        .././../gcc/gimplify.c:11148
0xaf2cf6 gimplify_stmt(tree_node**, gimple**)
        .././../gcc/gimplify.c:6478
0xaf7f49 gimplify_cond_expr
        .././../gcc/gimplify.c:3971
0xaef584 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*),
int)
        .././../gcc/gimplify.c:11148
0xaf2cf6 gimplify_stmt(tree_node**, gimple**)
        .././../gcc/gimplify.c:6478
0xaf4cd9 gimplify_body(tree_node*, bool)
        .././../gcc/gimplify.c:12388
0xaf5374 gimplify_function_tree(tree_node*)
        .././../gcc/gimplify.c:12546
0x96ae67 cgraph_node::analyze()
        .././../gcc/cgraphunit.c:657
0x96e5d3 analyze_functions
        .././../gcc/cgraphunit.c:1118

Reply via email to