https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79589
Bug ID: 79589 Summary: ICE in gimplify_compound_expr (gimplify.c:5712) with -fsanitize=undefined Product: gcc Version: unknown Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: sanitizer Assignee: unassigned at gcc dot gnu.org Reporter: marxin at gcc dot gnu.org CC: dodji at gcc dot gnu.org, dvyukov at gcc dot gnu.org, jakub at gcc dot gnu.org, kcc at gcc dot gnu.org, mpolacek at gcc dot gnu.org Target Milestone: --- Running trunk, following ICEs: $ g++ /home/marxin/Programming/gcc/gcc/testsuite/g++.dg/cpp1z/decomp18.C -fsanitize=undefined -c -std=c++14 /home/marxin/Programming/gcc/gcc/testsuite/g++.dg/cpp1z/decomp18.C: In function ‘void foo()’: /home/marxin/Programming/gcc/gcc/testsuite/g++.dg/cpp1z/decomp18.C:10:15: warning: decomposition declaration only available with -std=c++1z or -std=gnu++1z for (auto & [ b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s ] : a) // { dg-warning "decomposition declaration only available with" "" { target c++14_down } } ^ /home/marxin/Programming/gcc/gcc/testsuite/g++.dg/cpp1z/decomp18.C:11:12: internal compiler error: Segmentation fault z += b + c + d + e + f + g + h + i + j + k + l + m + n + o + p + q + r + s; ~~^~~ 0xb8b2af crash_signal ../../gcc/toplev.c:337 0x988e5a gimplify_compound_expr ../../gcc/gimplify.c:5712 0x985c97 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*), int) ../../gcc/gimplify.c:11181 0x98822a gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*), int) ../../gcc/gimplify.c:11312 0x985572 gimplify_compound_lval ../../gcc/gimplify.c:2844 0x985572 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*), int) ../../gcc/gimplify.c:11144 0x98563a gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*), int) ../../gcc/gimplify.c:11132 0x985334 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*), int) ../../gcc/gimplify.c:11920 0x985334 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*), int) ../../gcc/gimplify.c:11920 0x985334 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*), int) ../../gcc/gimplify.c:11920 0x985334 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*), int) ../../gcc/gimplify.c:11920 0x985334 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*), int) ../../gcc/gimplify.c:11920 0x985334 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*), int) ../../gcc/gimplify.c:11920 0x985334 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*), int) ../../gcc/gimplify.c:11920 0x985334 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*), int) ../../gcc/gimplify.c:11920 0x985334 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*), int) ../../gcc/gimplify.c:11920 0x985334 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*), int) ../../gcc/gimplify.c:11920 0x985334 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*), int) ../../gcc/gimplify.c:11920 0x985334 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*), int) ../../gcc/gimplify.c:11920 0x985334 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*), int) ../../gcc/gimplify.c:11920