I thought we only had XPASSes. XPASS: gcc.dg/guality/pr41353-1.c -O0 line 28 j == 28 + 37 FAIL: gcc.dg/guality/pr41353-1.c -O1 line 28 i1 == 2 * 37 FAIL: gcc.dg/guality/pr41353-1.c -O1 line 28 i2 == 3 * 37 FAIL: gcc.dg/guality/pr41353-1.c -O2 line 28 i1 == 2 * 37 FAIL: gcc.dg/guality/pr41353-1.c -O2 line 28 i2 == 3 * 37 FAIL: gcc.dg/guality/pr41353-1.c -O3 -fomit-frame-pointer line 28 i1 == 2 * 37 FAIL: gcc.dg/guality/pr41353-1.c -O3 -fomit-frame-pointer line 28 i2 == 3 * 37 FAIL: gcc.dg/guality/pr41353-1.c -O3 -g line 28 i1 == 2 * 37 FAIL: gcc.dg/guality/pr41353-1.c -O3 -g line 28 i2 == 3 * 37 FAIL: gcc.dg/guality/pr41353-1.c -Os line 28 i1 == 2 * 37 FAIL: gcc.dg/guality/pr41353-1.c -Os line 28 i2 == 3 * 37 FAIL: gcc.dg/guality/pr41353-1.c -O2 -flto line 28 i == 37 FAIL: gcc.dg/guality/pr41353-1.c -O2 -flto line 28 i1 == 2 * 37 FAIL: gcc.dg/guality/pr41353-1.c -O2 -flto line 28 i2 == 3 * 37 FAIL: gcc.dg/guality/pr41353-1.c -O2 -fwhopr line 28 i == 37 FAIL: gcc.dg/guality/pr41353-1.c -O2 -fwhopr line 28 i1 == 2 * 37 FAIL: gcc.dg/guality/pr41353-1.c -O2 -fwhopr line 28 i2 == 3 * 37
$ gdb --version GNU gdb (GDB) 7.0-debian log of the -O1 variant: Executing on host: /obj/trunk-g/gcc/xgcc -B/obj/trunk-g/gcc/ /home/richard/src/trunk/gcc/testsuite/gcc.dg/guality/pr41353-1.c -O1 -g -lm -o ./pr41353-1.exe (timeout = 300) spawn /obj/trunk-g/gcc/xgcc -B/obj/trunk-g/gcc/ /home/richard/src/trunk/gcc/testsuite/gcc.dg/guality/pr41353-1.c -O1 -g -lm -o ./pr41353-1.exe^M PASS: gcc.dg/guality/pr41353-1.c -O1 (test for excess errors) Setting LD_LIBRARY_PATH to :/obj/trunk-g/gcc::/obj/trunk-g/gcc spawn [open ...]^M PASS: gcc.dg/guality/pr41353-1.c -O1 execution test Spawning: gdb -nx -nw -quiet -x pr41353-1.gdb ./pr41353-1.exe spawn gdb -nx -nw -quiet -x pr41353-1.gdb ./pr41353-1.exe^M Reading symbols from /obj/trunk-g/gcc/testsuite/gcc/pr41353-1.exe...done.^M Breakpoint 1 at 0x8048397: file /home/richard/src/trunk/gcc/testsuite/gcc.dg/guality/pr41353-1.c, line 17.^M ^M Breakpoint 1, f1 ()^M at /home/richard/src/trunk/gcc/testsuite/gcc.dg/guality/pr41353-1.c:18^M 18 }^M $1 = 17^M $2 = 17^M A debugging session is active.^M ^M Inferior 1 [process 4702] will be killed.^M ^M Quit anyway? (y or n) [answered Y; input not from terminal]^M PASS: gcc.dg/guality/pr41353-1.c -O1 line 17 vari == 17 Spawning: gdb -nx -nw -quiet -x pr41353-1.gdb ./pr41353-1.exe spawn gdb -nx -nw -quiet -x pr41353-1.gdb ./pr41353-1.exe^M Reading symbols from /obj/trunk-g/gcc/testsuite/gcc/pr41353-1.exe...done.^M Breakpoint 1 at 0x8048397: file /home/richard/src/trunk/gcc/testsuite/gcc.dg/guality/pr41353-1.c, line 17.^M ^M Breakpoint 1, f1 ()^M at /home/richard/src/trunk/gcc/testsuite/gcc.dg/guality/pr41353-1.c:18^M 18 }^M $1 = 34^M $2 = 34^M A debugging session is active.^M ^M Inferior 1 [process 4713] will be killed.^M ^M Quit anyway? (y or n) [answered Y; input not from terminal]^M .... Breakpoint 1, f2 (i=37, j=<value optimized out>)^M at /home/richard/src/trunk/gcc/testsuite/gcc.dg/guality/pr41353-1.c:29^M 29 }^M $1 = <value optimized out>^M $2 = 65^M A debugging session is active.^M ^M Inferior 1 [process 4794] will be killed.^M ^M Quit anyway? (y or n) [answered Y; input not from terminal]^M <value optimized out> != 65 XFAIL: gcc.dg/guality/pr41353-1.c -O1 line 28 j == 28 + 37 Spawning: gdb -nx -nw -quiet -x pr41353-1.gdb ./pr41353-1.exe spawn gdb -nx -nw -quiet -x pr41353-1.gdb ./pr41353-1.exe^M Reading symbols from /obj/trunk-g/gcc/testsuite/gcc/pr41353-1.exe...done.^M Breakpoint 1 at 0x80483a7: file /home/richard/src/trunk/gcc/testsuite/gcc.dg/guality/pr41353-1.c, line 28.^M ^M Breakpoint 1, f2 (i=37, j=<value optimized out>)^M at /home/richard/src/trunk/gcc/testsuite/gcc.dg/guality/pr41353-1.c:29^M 29 }^M $1 = <value optimized out>^M $2 = 74^M A debugging session is active.^M ^M Inferior 1 [process 4808] will be killed.^M ^M Quit anyway? (y or n) [answered Y; input not from terminal]^M <value optimized out> != 74 FAIL: gcc.dg/guality/pr41353-1.c -O1 line 28 i1 == 2 * 37 Spawning: gdb -nx -nw -quiet -x pr41353-1.gdb ./pr41353-1.exe spawn gdb -nx -nw -quiet -x pr41353-1.gdb ./pr41353-1.exe^M it seems we lack debug information for a parameter of a non-inlined function which is clearly bad. f2 looks like: f2 (int i, int j) { <bb 2>: j_3 = j_1(D) + i_2(D); # DEBUG j => j_3 # DEBUG i1 => i_2(D) * 2 # DEBUG i2 => i_2(D) * 3 return j_3; in .optimized. -- Summary: [4.5 Regression] gcc.dg/guality/pr41353-1.c FAILs at - On, n > 0 Product: gcc Version: 4.5.0 Status: UNCONFIRMED Keywords: wrong-debug Severity: normal Priority: P3 Component: debug AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: rguenth at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42648