https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79627
Bug ID: 79627 Summary: ICE in expand_expr_real_1, at expr.c:9804 Product: gcc Version: unknown Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: marxin at gcc dot gnu.org CC: jason at gcc dot gnu.org Target Milestone: --- Following test-case (reduced from llvm test-suite) fails: $ cat /tmp/ice.C long a; void b () { long buffer[a]; [&] { __typeof(buffer) c; }(); } $ ./xg++ -B. /tmp/ice.C /tmp/ice.C: In lambda function: /tmp/ice.C:6:26: internal compiler error: in expand_expr_real_1, at expr.c:9804 [&] { __typeof(buffer) c; }(); ^ 0x911fae expand_expr_real_1(tree_node*, rtx_def*, machine_mode, expand_modifier, rtx_def**, bool) ../../gcc/expr.c:9798 0x920584 expand_expr ../../gcc/expr.h:276 0x920584 expand_expr_real_2(separate_ops*, rtx_def*, machine_mode, expand_modifier) ../../gcc/expr.c:8301 0x830f0d expand_gimple_stmt_1 ../../gcc/cfgexpand.c:3676 0x830f0d expand_gimple_stmt ../../gcc/cfgexpand.c:3737 0x832345 expand_gimple_basic_block ../../gcc/cfgexpand.c:5744 0x8371b6 execute ../../gcc/cfgexpand.c:6357 All releases I have ICE on that. As accepted by clang, I'm adding valid code keyword.