[Bug middle-end/96192] New: tree-inline.c(copy_decl_for_dup_finish) should preserve decl alignment in copy
skpgkp2 at gmail dot com
gcc-bugzilla@gcc.gnu.org
Tue Jul 14 05:22:54 GMT 2020
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.
More information about the Gcc-bugs
mailing list