https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98199
Bug ID: 98199 Summary: [11 Regression] ICE: Aborted (stack smashing detected) Product: gcc Version: 11.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: acoplan at gcc dot gnu.org Target Milestone: --- AArch64 GCC ICEs on the following testcase: struct b { long a; short d; int c; int f; int e; int g; }; struct h { int a; int i; short j; struct b k; signed : 20; int e; int g; } __attribute__((packed)); struct { short a; unsigned i; unsigned k; struct h d; const int : 30; signed e : 20; signed : 18; } const l = {1, 6, 0, {}, 0}; int m() { return l.e || 0; } since r11-5706-g277ff3406d533990e98cf1c2075b9dc9db6fa48a. I can reproduce the issue on both x86 and aarch64 hosts. To reproduce: $ aarch64-elf-gcc -c test.c *** stack smashing detected ***: <unknown> terminated test.c: In function 'm': test.c:27:18: internal compiler error: Aborted 27 | int m() { return l.e || 0; } | ^~~ 0xdccf89 crash_signal /home/alecop01/toolchain/src/gcc/gcc/toplev.c:327 0x9ff4e7 native_encode_initializer(tree_node*, unsigned char*, int, int, unsigned char*) /home/alecop01/toolchain/src/gcc/gcc/fold-const.c:8476 0xa7688d fold_ctor_reference(tree_node*, tree_node*, poly_int<2u, unsigned long> const&, poly_int<2u, unsigned long> const&, tree_node*, unsigned long*) /home/alecop01/toolchain/src/gcc/gcc/gimple-fold.c:7952 0xa77a77 fold_const_aggregate_ref_1(tree_node*, tree_node* (*)(tree_node*)) /home/alecop01/toolchain/src/gcc/gcc/gimple-fold.c:8057 0xa79816 fold_const_aggregate_ref(tree_node*) /home/alecop01/toolchain/src/gcc/gcc/gimple-fold.c:8136 0xa7989b maybe_fold_reference /home/alecop01/toolchain/src/gcc/gcc/gimple-fold.c:334 0xa79cb4 fold_gimple_assign /home/alecop01/toolchain/src/gcc/gcc/gimple-fold.c:366 0xa7fdec fold_stmt_1 /home/alecop01/toolchain/src/gcc/gcc/gimple-fold.c:6077 0xa81c10 fold_stmt(gimple_stmt_iterator*) /home/alecop01/toolchain/src/gcc/gcc/gimple-fold.c:6248 0xa9b20e maybe_fold_stmt /home/alecop01/toolchain/src/gcc/gcc/gimplify.c:3295 0xabb0f1 gimplify_modify_expr /home/alecop01/toolchain/src/gcc/gcc/gimplify.c:5979 0xaa9b7e gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*), int) /home/alecop01/toolchain/src/gcc/gcc/gimplify.c:14010 0xaaf1b7 gimplify_stmt(tree_node**, gimple**) /home/alecop01/toolchain/src/gcc/gcc/gimplify.c:6862 0xab2cfc gimplify_and_add(tree_node*, gimple**) /home/alecop01/toolchain/src/gcc/gcc/gimplify.c:487 0xab2cfc internal_get_tmp_var /home/alecop01/toolchain/src/gcc/gcc/gimplify.c:640 0xab2d7a get_formal_tmp_var(tree_node*, gimple**) /home/alecop01/toolchain/src/gcc/gcc/gimplify.c:661 0xaaef47 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*), int) /home/alecop01/toolchain/src/gcc/gcc/gimplify.c:14998 0xaae654 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*), int) /home/alecop01/toolchain/src/gcc/gcc/gimplify.c:14764 0xaae654 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*), int) /home/alecop01/toolchain/src/gcc/gcc/gimplify.c:14764 0xaaa086 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*), int) /home/alecop01/toolchain/src/gcc/gcc/gimplify.c:14113 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.