Eric Blake wrote: > According to Albert Chin on 6/20/2008 5:49 PM: > | Trying to run the testsuite for the vasprintf-posix module on HP-UX > | 10.20 using the HP C compiler: > | $ ./gnulib-tool --test --with-tests vasprintf-posix > | ... > | PASS: test-EOVERFLOW > | PASS: test-alloca-opt > | PASS: test-frexp > | ../../gltests/test-frexpl.c:120: assertion failed > | sh[9]: 22438 Abort(coredump) > > I think this has been reported before, but not sure the thread ever > reached resolution: > http://lists.gnu.org/archive/html/bug-m4/2008-04/msg00039.html
That thread was about 0.0L as well, but on IRIX 6.2. It did not reach resolution because with the information given, it is not clear where the sign bit was lost. But this one was also already reported, in <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00011.html> and also not yet resolved. > I'm not sure that has been mentioned. > > | if (have_minus_zero ()) > | ASSERT (strcmp (result, "-0x0p+0 33") == 0); > | ASSERT (retval == strlen (result)); > | free (result); > | } > | The value of result is "0x0p+0 33". That's a consequence of frexpl losing the sign bit of -0.0L. Can you investigate: - Is frexpl being used here the system's one or gnulib's one? Likewise, is signbit here the system's one or gnulib's one? (You can see it by doing "nm test-frexpl".) - If in test-frexpl.c before line 120 you insert the code printf ("%d %d\n", signbit (x) != 0, 1.0L / x < 0); printf ("%d %d\n", signbit (mantissa) != 0, 1.0L / mantissa < 0); what does it print? - For comparison, what are the test failures if you configure and build with gcc? - Why is test-math failing? Bruno