New FreeBSD failures (somewhat) debugged
Loren James Rittle
rittle@latour.rsch.comm.mot.com
Thu Dec 13 12:59:00 GMT 2001
Guys,
Sorry it took Benjamin poking me to debug this. I had noticed the
breakage some days ago. I think the cases are failing on various
architectures due to latent issues (I dare not call them bugs since I
think they exist somewhat by design).
FAIL: 27_io/istream_extractor_arith.cc execution test
assertion "is.fail()" failed: file "[...]/istream_extractor_arith.cc", line 539
Seen on (at least):
i386-unknown-freebsd4.4 (while processing: VERIFY(test12_aux<float>(false));)
sparc-sun-solaris2.7 (while processing unknown case)
i386-unknown-freebsd5.0 (while processing unknown case)
*hpux* (while processing unknown case)
The problem, as debugged on i386-unknown-freebsd4.4, appears to be
that digits_overflow is set to 39. This means that st is set to
"1234567890123456789012345678901234567890" which really doesn't
overflow a float on this machine. Why I do not know, but FreeBSD
publishes limits in its system header files that do not exactly match
the hardware. This doesn't explain the solaris and hpux failure
unless they have the same issue. I suspect that they might not
publish the tightest limits (or they might change when everything is
done in a hardware register, etc).
BTW, the generated C++ limits header file should match the OS C header
file even if that latter file is a white lie, no?
The other two failures being spotted by nightly regression tests on
FreeBSD are only seen on i386-unknown-freebsd5.0 (the only gdb
installed there displays the dreaded ``Cannot handle DW_FORM_strp in
DWARF reader'' startup message), not i386-unknown-freebsd4.4 or
sparc-sun-solaris2.7. I can report the assertion failures in case
that is enough of a clue, but will not be able to debug it until I
install the required gdb (sorry, won't happen until after new year).
FAIL: 26_numerics/complex_inserters_extractors.cc execution test
Assertion failed: (iss.good()), function test_good,
file 26_numerics/complex_inserters_extractors.cc, line 46.
FAIL: 27_io/istream_sentry.cc execution test
Assertion failed: (i == 3), function test02,
file 27_io/istream_sentry.cc, line 79.
Regards,
Loren
More information about the Libstdc++
mailing list