https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84939
Bug ID: 84939 Summary: internal compiler error: in gimplify_expr, at gimplify.c:12382 Product: gcc Version: 8.0.1 Status: UNCONFIRMED Keywords: ice-on-invalid-code Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: vegard.nossum at gmail dot com CC: webrown.cpp at gmail dot com Target Milestone: --- Input: struct a { void b() { struct c { int d struct d e(decltype(d)); }; } a() { (sizeof(char[static_cast<char &&>(d)])); } } f; Output: $ cc1plus void a::b() <stdin>:4:11: error: expected ';' at end of member declaration a::a() a::a() a::a() void __static_initialization_and_destruction_0(int, int) void _GLOBAL__sub_I_f() Analyzing compilation unit <stdin>: In constructor 'a::a()': <stdin>:7:43: internal compiler error: in gimplify_expr, at gimplify.c:12382 0x222617f gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*), int) /home/vegard/git/gcc/gcc/gimplify.c:12382 0x2219625 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*), int) /home/vegard/git/gcc/gcc/gimplify.c:11375 0x2218312 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*), int) /home/vegard/git/gcc/gcc/gimplify.c:11556 0x2238683 gimplify_compound_lval /home/vegard/git/gcc/gcc/gimplify.c:2969 0x22191c9 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*), int) /home/vegard/git/gcc/gcc/gimplify.c:11387 0x2219625 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*), int) /home/vegard/git/gcc/gcc/gimplify.c:11375 0x227604c gimplify_modify_expr /home/vegard/git/gcc/gcc/gimplify.c:5626 0x221b0e6 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*), int) /home/vegard/git/gcc/gcc/gimplify.c:11435 0x221b493 gimplify_target_expr /home/vegard/git/gcc/gcc/gimplify.c:6577 0x221b493 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*), int) /home/vegard/git/gcc/gcc/gimplify.c:11815 0x2219625 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*), int) /home/vegard/git/gcc/gcc/gimplify.c:11375 0x2218f62 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*), int) /home/vegard/git/gcc/gcc/gimplify.c:12159 0x227604c gimplify_modify_expr /home/vegard/git/gcc/gcc/gimplify.c:5626 0x221b0e6 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*), int) /home/vegard/git/gcc/gcc/gimplify.c:11435 0x2228401 gimplify_stmt(tree_node**, gimple**) /home/vegard/git/gcc/gcc/gimplify.c:6658 0x221a50d gimplify_cleanup_point_expr /home/vegard/git/gcc/gcc/gimplify.c:6400 0x221a50d gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*), int) /home/vegard/git/gcc/gcc/gimplify.c:11811 0x2228401 gimplify_stmt(tree_node**, gimple**) /home/vegard/git/gcc/gcc/gimplify.c:6658 0x221bc6b gimplify_statement_list /home/vegard/git/gcc/gcc/gimplify.c:1767 0x221bc6b gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*), int) /home/vegard/git/gcc/gcc/gimplify.c:11863 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. Version: GNU C++14 (GCC) version 8.0.1 20180306 (experimental) (x86_64-pc-linux-gnu)