https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96192
Bug ID: 96192 Summary: tree-inline.c(copy_decl_for_dup_finish) should preserve decl alignment in copy Product: gcc Version: 11.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: middle-end Assignee: unassigned at gcc dot gnu.org Reporter: skpgkp2 at gmail dot com CC: hjl.tools at gmail dot com Target Milestone: --- Target: x86_64-*-* i?86-*-* tree-inline.c function copy_decl_for_dup_finish should preserve local decl alignment in copy. This issue appears when local decl alignment get lowered by target hook, but during the inline, copy may get different alignment than original decl. This blocks PR95237. Test case: $ cat foo.c int a; long long b (void) { } void c (void) { if (b()) a = 1; } $gcc -m32 -mpreferred-stack-boundary=2 -Os -c foo.c during GIMPLE pass: adjust_alignment foo.c: In function ??c??: foo.c:12:1: internal compiler error: in execute, at adjust-alignment.c:74 12 | c (void) | ^ 0x20bc351 execute /local/skpandey/gccwork/gccwork/pr95237_1/gcc/adjust-alignment.c:74 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.