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

Reply via email to