https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101009
Bug ID: 101009 Summary: wrong code with "-O3 -fno-tree-sra" Product: gcc Version: 12.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: suochenyao at 163 dot com Target Milestone: --- ******************************************************************************* OS and Platform: CentOS Linux release 7.8.2003 (Core), x86_64 GNU/Linux ******************************************************************************* Program: int printf(const char *, ...); struct a { unsigned b; unsigned c; } e, *f = &e; int d = 1; int main() { for (; d; d--) { struct a g[] = {{2, 1}, {2, 1}}; *f = g[1]; } printf("%d\n", e.c); } ******************************************************************************* gcc version: $ gcc -v Using built-in specs. COLLECT_GCC=/data/bin/gcc-dev/bin/gcc COLLECT_LTO_WRAPPER=/data/bin/gcc-dev/libexec/gcc/x86_64-pc-linux-gnu/12.0.0/lto-wrapper Target: x86_64-pc-linux-gnu Configured with: ../configure --prefix=/data/bin/gcc-dev --disable-multilib --enable-languages=c,c++ Thread model: posix Supported LTO compression algorithms: zlib gcc version 12.0.0 20210609 (experimental) (GCC) git version: 53cb324cb4f9475d4eabcd9f5a858c5edaacc0cf ******************************************************************************* Command Lines: $ gcc -O3 -fno-tree-sra -Wall -Wextra -fno-strict-aliasing -fwrapv a.c -o a1.out $ gcc a.c -o a2.out $ ./a1.out 0 $ ./a2.out 1