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

            Bug ID: 90601
           Summary: ICE: gimplification failed (gimplify.c at 13436)
           Product: gcc
           Version: 10.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: d
          Assignee: ibuclaw at gdcproject dot org
          Reporter: gs...@t-online.de
  Target Milestone: ---

Outcome of some test runs :

$ cat z1.d
int f (int a)
{
  return ++(a += 1.0);
}


$ gdc-10-20190519 -c z1.d
gimplification failed:
(int) _7 <fix_trunc_expr 0x7fdd36927960
    type <integer_type 0x7fdd36758498 int public SI
        size <integer_cst 0x7fdd36737db0 constant 32>
        unit-size <integer_cst 0x7fdd36737dc8 constant 4>
        align:32 warn_if_not_align:0 symtab:0 alias-set -1 canonical-type
0x7fdd36758498 precision:32 min <integer_cst 0x7fdd36757108 -2147483648> max
<integer_cst 0x7fdd36757120 2147483647>
        pointer_to_this <pointer_type 0x7fdd36931f18>>

    arg:0 <ssa_name 0x7fdd3673ea68
        type <real_type 0x7fdd36753348 double DF
            size <integer_cst 0x7fdd36737b70 constant 64>
            unit-size <integer_cst 0x7fdd36737b88 constant 8>
            align:64 warn_if_not_align:0 symtab:0 alias-set -1 canonical-type
0x7fdd36753348 precision:64
            pointer_to_this <pointer_type 0x7fdd36753888>>

        def_stmt _7 = (double) a;
        version:7>>
z1.d: In function 'f':
z1.d:3:10: internal compiler error: gimplification failed
    3 |   return ++(a += 1.0);
      |          ^
0xa0ed94 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*),
int)
        ../../gcc/gimplify.c:13436
0xa21773 gimplify_modify_expr
        ../../gcc/gimplify.c:5678
0xa0dcba gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*),
int)
        ../../gcc/gimplify.c:12464
0xa2172f gimplify_modify_expr
        ../../gcc/gimplify.c:5662
0xa0dcba gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*),
int)
        ../../gcc/gimplify.c:12464
0xa11688 gimplify_stmt(tree_node**, gimple**)
        ../../gcc/gimplify.c:6709
0xa0e250 gimplify_and_add(tree_node*, gimple**)
        ../../gcc/gimplify.c:465
0xa0e250 gimplify_return_expr
        ../../gcc/gimplify.c:1591
0xa0e250 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*),
int)
        ../../gcc/gimplify.c:12725
0xa11688 gimplify_stmt(tree_node**, gimple**)
        ../../gcc/gimplify.c:6709
0xa0e75b gimplify_statement_list
        ../../gcc/gimplify.c:1788
0xa0e75b gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*),
int)
        ../../gcc/gimplify.c:12893
0xa11688 gimplify_stmt(tree_node**, gimple**)
        ../../gcc/gimplify.c:6709
0xa12773 gimplify_bind_expr
        ../../gcc/gimplify.c:1356
0xa0d4f2 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*),
int)
        ../../gcc/gimplify.c:12665
0xa11688 gimplify_stmt(tree_node**, gimple**)
        ../../gcc/gimplify.c:6709
0xa13729 gimplify_body(tree_node*, bool)
        ../../gcc/gimplify.c:13673
0xa13cb4 gimplify_function_tree(tree_node*)
        ../../gcc/gimplify.c:13817
0x85bc67 cgraph_node::analyze()
        ../../gcc/cgraphunit.c:667
0x85ee3d analyze_functions
        ../../gcc/cgraphunit.c:1126

Reply via email to