http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47320

           Summary: FAIL: 18_support/numeric_limits/lowest.cc execution
                    test
           Product: gcc
           Version: 4.6.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: libstdc++
        AssignedTo: unassig...@gcc.gnu.org
        ReportedBy: dang...@gcc.gnu.org
              Host: hppa*-*-hpux11.00
            Target: hppa*-*-hpux11.00
             Build: hppa*-*-hpux11.00


Executing on host: /xxx/gnu/gcc/objdir/./gcc/g++ -shared-libgcc
-B/xxx/gnu/gcc/o
bjdir/./gcc -nostdinc++
-L/xxx/gnu/gcc/objdir/hppa64-hp-hpux11.00/libstdc++-v3/s
rc -L/xxx/gnu/gcc/objdir/hppa64-hp-hpux11.00/libstdc++-v3/src/.libs
-B/opt/gnu64
/gcc/gcc-4.6/hppa64-hp-hpux11.00/bin/
-B/opt/gnu64/gcc/gcc-4.6/hppa64-hp-hpux11.
00/lib/ -isystem /opt/gnu64/gcc/gcc-4.6/hppa64-hp-hpux11.00/include -isystem
/op
t/gnu64/gcc/gcc-4.6/hppa64-hp-hpux11.00/sys-include
-B/xxx/gnu/gcc/objdir/hppa64
-hp-hpux11.00/./libstdc++-v3/src/.libs -g -O2 -D_GLIBCXX_ASSERT
-fmessage-length
=0 -ffunction-sections -fdata-sections -g -O2 -g -O2 -DLOCALEDIR="."
-nostdinc++

-I/xxx/gnu/gcc/objdir/hppa64-hp-hpux11.00/libstdc++-v3/include/hppa64-hp-hpux11
.00 -I/xxx/gnu/gcc/objdir/hppa64-hp-hpux11.00/libstdc++-v3/include
-I/xxx/gnu/gc
c/gcc/libstdc++-v3/libsupc++ -I/xxx/gnu/gcc/gcc/libstdc++-v3/include/backward
-I
/xxx/gnu/gcc/gcc/libstdc++-v3/testsuite/util
/xxx/gnu/gcc/gcc/libstdc++-v3/tests
uite/18_support/numeric_limits/lowest.cc   -std=gnu++0x ./libtestc++.a   -lm  
-
o ./lowest.exe    (timeout = 600)
PASS: 18_support/numeric_limits/lowest.cc (test for excess errors)
Setting LD_LIBRARY_PATH to
:/xxx/gnu/gcc/objdir/gcc:/xxx/gnu/gcc/objdir/hppa64-h
p-hpux11.00/./libstdc++-v3/../libgomp/.libs:/xxx/gnu/gcc/objdir/hppa64-hp-hpux11
.00/./libstdc++-v3/src/.libs::/xxx/gnu/gcc/objdir/gcc:/xxx/gnu/gcc/objdir/hppa64
-hp-hpux11.00/./libstdc++-v3/../libgomp/.libs:/xxx/gnu/gcc/objdir/hppa64-hp-hpux
11.00/./libstdc++-v3/src/.libs
Assertion failed: std::numeric_limits<T>::lowest() == -limits_max, file
/xxx/gnu
/gcc/gcc/libstdc++-v3/testsuite/18_support/numeric_limits/lowest.cc, line 44
FAIL: 18_support/numeric_limits/lowest.cc execution test

The "Assertion failed" line number seems slightly off.  With gdb, I
see the assertion fails in the previous check:

Breakpoint 4, 0x40000000000055e4 in do_test<wchar_t> ()
    at
/xxx/gnu/gcc/gcc/libstdc++-v3/testsuite/18_support/numeric_limits/lowest.cc:35
35        VERIFY( std::numeric_limits<T>::lowest() == limits_min );
(gdb) bt
#0  0x40000000000055e4 in do_test<wchar_t> ()
    at
/xxx/gnu/gcc/gcc/libstdc++-v3/testsuite/18_support/numeric_limits/lowest.cc:35
#1  0x4000000000004ec4 in do_test<wchar_t> ()
    at
/xxx/gnu/gcc/gcc/libstdc++-v3/testsuite/18_support/numeric_limits/lowest.cc:50
#2  0x4000000000004c3c in test01 ()
    at
/xxx/gnu/gcc/gcc/libstdc++-v3/testsuite/18_support/numeric_limits/lowest.cc:57
#3  0x4000000000004d80 in main ()
    at
/xxx/gnu/gcc/gcc/libstdc++-v3/testsuite/18_support/numeric_limits/lowest.cc:80

The failing assert is here:

(gdb) disass 0x40000000000055a4 0x40000000000055c4
Dump of assembler code from 0x40000000000055a4 to 0x40000000000055c4:
0x40000000000055a4 <_Z7do_testIwEvSt17integral_constantIbLb0EE+100>:    copy
ret0,r31
0x40000000000055a8 <_Z7do_testIwEvSt17integral_constantIbLb0EE+104>:    ldw
c(r3),ret0
0x40000000000055ac <_Z7do_testIwEvSt17integral_constantIbLb0EE+108>:    sub
r0,ret0,ret0
0x40000000000055b0 <_Z7do_testIwEvSt17integral_constantIbLb0EE+112>:    extrd,u
ret0,63,32,ret0
0x40000000000055b4 <_Z7do_testIwEvSt17integral_constantIbLb0EE+116>:   
cmpb,=,n ret0,r31,0x40000000000055f0
<_Z7do_testIwEvSt17integral_constantIbLb0EE+176>

At 0x40000000000055ac, we have
(gdb) p/x $ret0
$7 = 0xffffffff
(gdb) p/x $r31 
$8 = 0x0
At 0x40000000000055b0,
(gdb) p/x $ret0
$10 = 0xffffffff00000001
At 0x40000000000055b4,
(gdb) p/x $ret0
$11 = 0x1

Reply via email to