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