http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56154
--- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> 2013-01-30 17:16:08 UTC --- Created attachment 29308 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=29308 gcc48-pr56154.patch Untested fix, together with guality testcases that show the issue. On x86_64, without the dwarf2out.c change I see with: make check-gcc \ RUNTESTFLAGS='--target_board=unix\{-m32,-m64\} guality.exp=pr56154*.c' Running target unix/-m32 Using /usr/share/dejagnu/baseboards/unix.exp as board description file for target. Using /usr/share/dejagnu/config/unix.exp as generic interface file for target. Using /usr/src/gcc/gcc/testsuite/config/default.exp as tool-and-target-specific interface file. Running /usr/src/gcc/gcc/testsuite/gcc.dg/guality/guality.exp ... FAIL: gcc.dg/guality/pr56154-2.c -O1 line pr56154-2.c:30 x == 28 FAIL: gcc.dg/guality/pr56154-2.c -O2 line pr56154-2.c:30 x == 28 FAIL: gcc.dg/guality/pr56154-2.c -O3 -fomit-frame-pointer line pr56154-2.c:30 x == 28 FAIL: gcc.dg/guality/pr56154-2.c -O3 -g line pr56154-2.c:30 x == 28 FAIL: gcc.dg/guality/pr56154-3.c -O1 line pr56154-3.c:22 x == 28 FAIL: gcc.dg/guality/pr56154-3.c -O2 line pr56154-3.c:22 x == 28 FAIL: gcc.dg/guality/pr56154-3.c -O3 -fomit-frame-pointer line pr56154-3.c:22 x == 28 FAIL: gcc.dg/guality/pr56154-3.c -O3 -g line pr56154-3.c:22 x == 28 Running target unix/-m64 Using /usr/share/dejagnu/baseboards/unix.exp as board description file for target. Using /usr/share/dejagnu/config/unix.exp as generic interface file for target. Using /usr/src/gcc/gcc/testsuite/config/default.exp as tool-and-target-specific interface file. Running /usr/src/gcc/gcc/testsuite/gcc.dg/guality/guality.exp ... FAIL: gcc.dg/guality/pr56154-1.c -O1 line pr56154-1.c:17 x.a == 4 FAIL: gcc.dg/guality/pr56154-1.c -O1 line pr56154-1.c:20 x.a == 6 FAIL: gcc.dg/guality/pr56154-1.c -O2 line pr56154-1.c:17 x.a == 4 FAIL: gcc.dg/guality/pr56154-1.c -O2 line pr56154-1.c:20 x.a == 6 FAIL: gcc.dg/guality/pr56154-1.c -O3 -fomit-frame-pointer line pr56154-1.c:17 x.a == 4 FAIL: gcc.dg/guality/pr56154-1.c -O3 -fomit-frame-pointer line pr56154-1.c:20 x.a == 6 FAIL: gcc.dg/guality/pr56154-1.c -O3 -g line pr56154-1.c:17 x.a == 4 FAIL: gcc.dg/guality/pr56154-1.c -O3 -g line pr56154-1.c:20 x.a == 6 FAIL: gcc.dg/guality/pr56154-1.c -Os line pr56154-1.c:17 x.a == 4 FAIL: gcc.dg/guality/pr56154-1.c -Os line pr56154-1.c:20 x.a == 6 FAIL: gcc.dg/guality/pr56154-2.c -O1 line pr56154-2.c:30 x == 28 FAIL: gcc.dg/guality/pr56154-2.c -O2 line pr56154-2.c:30 x == 28 FAIL: gcc.dg/guality/pr56154-2.c -O3 -fomit-frame-pointer line pr56154-2.c:30 x == 28 FAIL: gcc.dg/guality/pr56154-2.c -O3 -g line pr56154-2.c:30 x == 28 FAIL: gcc.dg/guality/pr56154-2.c -Os line pr56154-2.c:30 x == 28 FAIL: gcc.dg/guality/pr56154-3.c -O1 line pr56154-3.c:22 x == 28 FAIL: gcc.dg/guality/pr56154-3.c -O2 line pr56154-3.c:22 x == 28 FAIL: gcc.dg/guality/pr56154-3.c -O3 -fomit-frame-pointer line pr56154-3.c:22 x == 28 FAIL: gcc.dg/guality/pr56154-3.c -O3 -g line pr56154-3.c:22 x == 28 FAIL: gcc.dg/guality/pr56154-3.c -Os line pr56154-3.c:22 x == 28 while with it everything passes.