https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101607
Bug ID: 101607 Summary: ICE on compilable code: in assign_stack_temp_for_type, at function.c:798 Product: gcc Version: 12.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: cnsun at uwaterloo dot ca Target Milestone: --- $ gcc-trunk -v Using built-in specs. COLLECT_GCC=gcc-trunk COLLECT_LTO_WRAPPER=/scratch/software/gcc-trunk/libexec/gcc/x86_64-pc-linux-gnu/12.0.0/lto-wrapper Target: x86_64-pc-linux-gnu Configured with: /tmp/tmp.7yrVYtTGDZ-gcc-builder/gcc/configure --enable-languages=c,c++,lto --enable-checking-yes --enable-multiarch --prefix=/scratch/software/gcc-trunk --disable-bootstrap Thread model: posix Supported LTO compression algorithms: zlib gcc version 12.0.0 20210723 (experimental) [master revision :3eeaf64a5:01ac2f08b0105a1c85425d0e59216eb528c6d2ab] (GCC) $ cat mutant.c union { struct { struct { struct { struct { struct { struct { struct { struct { struct { struct { struct { struct { struct { struct { struct { struct { struct { struct { struct { struct { struct { struct { struct { struct { struct { struct { struct { int u2s_a, u2s_b, u2s_c, u2s_d, u2s_e } u2s_a, u2s_b, u2s_c, u2s_d, u2s_e } u2s_a, u2s_b, u2s_c, u2s_d, u2s_e } u2s_a, u2s_b, u2s_c, u2s_d, u2s_e } u2s_a, u2s_b, u2s_c, u2s_d, u2s_e } u2s_a, u2s_b, u2s_c, u2s_d, u2s_e } u2s_a, u2s_b, u2s_c, u2s_d, u2s_e } u2s_a, u2s_b, u2s_c, u2s_d, u2s_e } u2s_a, u2s_b, u2s_c, u2s_d, u2s_e } u2s_a, u2s_b, u2s_c, u2s_d, u2s_e } u2s_a, u2s_b, u2s_c, u2s_d, u2s_e } u2s_a, u2s_b, u2s_c, u2s_d, u2s_e } u2s_a, u2s_b, u2s_c, u2s_d, u2s_e } u2s_a, u2s_b, u2s_c, u2s_d, u2s_e } u2s_a, u2s_b, u2s_c, u2s_d, u2s_e } u2s_a, u2s_b, u2s_c, u2s_d, u2s_e } u2s_a, u2s_b, u2s_c, u2s_d, u2s_e } u2s_a, u2s_b, u2s_c, u2s_d, u2s_e } u2s_a, u2s_b, u2s_c, u2s_d, u2s_e } u2s_a, u2s_b, u2s_c, u2s_d, u2s_e } u2s_a, u2s_b, u2s_c, u2s_d, u2s_e } u2s_a, u2s_b, u2s_c, u2s_d, u2s_e } u2s_a, u2s_b, u2s_c, u2s_d, u2s_e } u2s_a, u2s_b, u2s_c, u2s_d, u2s_e } u2s_a, u2s_b, u2s_c, u2s_d, u2s_e } u2s_a, u2s_b, u2s_c, u2s_d, u2s_e } u2s_a, u2s_b, u2s_c, u2s_d, u2s_e } } fu2(); unions() { fu2(); } $ gcc-trunk -w mutant.c during RTL pass: expand mutant.c: In function ‘unions’: mutant.c:64:12: internal compiler error: in assign_stack_temp_for_type, at function.c:798 64 | unions() { fu2(); } | ^~~~~ 0x6d9257 assign_stack_temp_for_type(machine_mode, poly_int<1u, long>, tree_node*) /tmp/tmp.7yrVYtTGDZ-gcc-builder/gcc/gcc/function.c:798 0xbf47bb assign_temp(tree_node*, int, int) /tmp/tmp.7yrVYtTGDZ-gcc-builder/gcc/gcc/function.c:1018 0xa449ff expand_call(tree_node*, rtx_def*, int) /tmp/tmp.7yrVYtTGDZ-gcc-builder/gcc/gcc/calls.c:3882 0xb82f85 expand_expr_real_1(tree_node*, rtx_def*, machine_mode, expand_modifier, rtx_def**, bool) /tmp/tmp.7yrVYtTGDZ-gcc-builder/gcc/gcc/expr.c:11443 0xa5d5bf expand_expr /tmp/tmp.7yrVYtTGDZ-gcc-builder/gcc/gcc/expr.h:301 0xa5d5bf expand_call_stmt /tmp/tmp.7yrVYtTGDZ-gcc-builder/gcc/gcc/cfgexpand.c:2846 0xa5d5bf expand_gimple_stmt_1 /tmp/tmp.7yrVYtTGDZ-gcc-builder/gcc/gcc/cfgexpand.c:3879 0xa5d5bf expand_gimple_stmt /tmp/tmp.7yrVYtTGDZ-gcc-builder/gcc/gcc/cfgexpand.c:4043 0xa62ec9 expand_gimple_basic_block /tmp/tmp.7yrVYtTGDZ-gcc-builder/gcc/gcc/cfgexpand.c:6085 0xa64d9f execute /tmp/tmp.7yrVYtTGDZ-gcc-builder/gcc/gcc/cfgexpand.c:6811 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.