https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69334
Bug ID: 69334 Summary: FAIL: g++.dg/guality/pr55665.C -O2 line 23 p == 40 Product: gcc Version: 6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: danglin at gcc dot gnu.org Target Milestone: --- Host: hppa-unknown-linux-gnu Target: hppa-unknown-linux-gnu Build: hppa-unknown-linux-gnu Created attachment 37383 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=37383&action=edit assembler output spawn -ignore SIGHUP /home/dave/gnu/gcc/objdir/gcc/testsuite/g++/../../xg++ -B/h ome/dave/gnu/gcc/objdir/gcc/testsuite/g++/../../ /home/dave/gnu/gcc/gcc/gcc/test suite/g++.dg/guality/pr55665.C -fno-diagnostics-show-caret -fdiagnostics-color=n ever -nostdinc++ -I/home/dave/gnu/gcc/objdir/hppa-linux-gnu/libstdc++-v3/include /hppa-linux-gnu -I/home/dave/gnu/gcc/objdir/hppa-linux-gnu/libstdc++-v3/include -I/home/dave/gnu/gcc/gcc/libstdc++-v3/libsupc++ -I/home/dave/gnu/gcc/gcc/libstdc ++-v3/include/backward -I/home/dave/gnu/gcc/gcc/libstdc++-v3/testsuite/util -fme ssage-length=0 -O2 -g -L/home/dave/gnu/gcc/objdir/hppa-linux-gnu/./libstdc++-v3/ src/.libs -B/home/dave/gnu/gcc/objdir/hppa-linux-gnu/./libstdc++-v3/src/.libs -L /home/dave/gnu/gcc/objdir/hppa-linux-gnu/./libstdc++-v3/src/.libs -lm -o ./pr556 65.exe PASS: g++.dg/guality/pr55665.C -O2 (test for excess errors) Setting LD_LIBRARY_PATH to .:/home/dave/gnu/gcc/objdir/hppa-linux-gnu/./libstdc++-v3/src/.libs:/home/dave/gnu/gcc/objdir/hppa-linux-gnu/./libstdc++-v3/src/.libs:/home/dave/gnu/gcc/objdir/gcc:.:/home/dave/gnu/gcc/objdir/hppa-linux-gnu/./libstdc++-v3/src/.libs:/home/dave/gnu/gcc/objdir/hppa-linux-gnu/./libstdc++-v3/src/.libs:/home/dave/gnu/gcc/objdir/gcc:/home/dave/gnu/gcc/objdir/hppa-linux-gnu/libstdc++-v3/src/.libs:/home/dave/gnu/gcc/objdir/hppa-linux-gnu/libssp/.libs:/home/dave/gnu/gcc/objdir/hppa-linux-gnu/libgomp/.libs:/home/dave/gnu/gcc/objdir/hppa-linux-gnu/libatomic/.libs:/home/dave/gnu/gcc/objdir/./gcc:/home/dave/gnu/gcc/objdir/./prev-gcc:/home/dave/gnu/gcc/objdir/hppa-linux-gnu/libstdc++-v3/src/.libs:/home/dave/gnu/gcc/objdir/hppa-linux-gnu/libssp/.libs:/home/dave/gnu/gcc/objdir/hppa-linux-gnu/libgomp/.libs:/home/dave/gnu/gcc/objdir/hppa-linux-gnu/libatomic/.libs:/home/dave/gnu/gcc/objdir/./gcc:/home/dave/gnu/gcc/objdir/./prev-gcc spawn [open ...] PASS: g++.dg/guality/pr55665.C -O2 execution test Spawning: gdb -nx -nw -quiet -x pr55665.gdb ./pr55665.exe spawn gdb -nx -nw -quiet -x pr55665.gdb ./pr55665.exe Reading symbols from ./pr55665.exe...done. Breakpoint 1 at 0x10880: file /home/dave/gnu/gcc/gcc/gcc/testsuite/g++.dg/guality/pr55665.C, line 23. Breakpoint 1, A::A (this=0xfd706588, x=<optimized out>) at /home/dave/gnu/gcc/gcc/gcc/testsuite/g++.dg/guality/pr55665.C:23 23 foo (p); // { dg-final { gdb-test 23 "p" "40" } } $1 = 0 $2 = 40 0 != 40 FAIL: g++.dg/guality/pr55665.C -O2 line 23 p == 40 Similar fail: FAIL: g++.dg/guality/pr55665.C -O3 -g line 23 p == 40 The test fails because the store to p has been optimized away and gdb looks for p in memory. At lower optimizations, this occurs just after bar is called.