[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: lib/regex_internal.h on 1.4.11
From: |
Tom G. Christensen |
Subject: |
Re: lib/regex_internal.h on 1.4.11 |
Date: |
Tue, 28 Oct 2008 21:29:06 +0100 |
User-agent: |
Mutt/1.4.2.2i |
On Wed, Oct 08, 2008 at 02:06:28AM +0200, Bruno Haible wrote:
> Eric Blake wrote:
> > > Indeed, we're in a maze of twisty little HP cc compiler bugs:
> > > <http://lists.gnu.org/archive/html/bug-gnulib/2008-04/msg00179.html>
> > > <http://lists.gnu.org/archive/html/bug-gnulib/2008-08/msg00000.html>
> >
> > minus_zerol is miscompiled on at least Irix 6.2. So until we hear
> > feedback from Jonathan on what DOES allow us to compile -0.0L on
> > HP-UX/hppa ...
>
> I just happened to get access to a HP-UX 10.20 machine today. It was
> installed in 1997, i.e. 11 years ago! That counts as museumware to me,
> not as a reasonable portability target any more. We are putting into gnulib
> code for Windows that will not work on Windows98 and WindowsME, released
> in 1998 and 2000, respectively. Then why should we care about systems that
> were put together in 1996 and shipped in 1997?
>
> The test programs from
> <http://lists.gnu.org/archive/html/bug-gnulib/2008-09/msg00118.html>
> yield the following results, after replacing 0.1L with LDBL_MIN (otherwise
> the y may be a negative denormalized number rather than a minus zero).
> The '?' mean that signbit() is not available natively on that platform.
>
<snip>
>
> So, to get a negative 'long double' zero, neither of
> long double minus_zerol = -0.0L;
> -0.0L
> -zerol
> are usable. Instead, only expressions like (-0.1L * LDBL_MIN) and
> (-0.1L / LDBL_MAX) work.
>
> For 'double', the situation is more relaxed, the only form we need to
> avoid is the literal -0.0; using a global variable works. (I don't want
> to divide by ±0.0 to test its sign; this relies on IEEE and is outside
> ISO C.)
>
> I'm applying this:
>
<snip>
I noticed gnulib test failures in the m4 1.4.12 testsuite and after some
investigation I believe this change is what caused the breakage.
I created a testdir for frexpl and vasprintf-posix from commit ea0f5bf
and this is the results from IRIX 6.5.30 with MIPSPro 7.4.4m:
gmake[4]: Entering directory `/usr/people/tgc/work/ea0f5b/gltests'
PASS: test-alloca-opt
PASS: test-errno
PASS: test-frexp
test-frexpl.c:124: assertion failed
/bin/sh[9]: 45131149 Abort(coredump)
FAIL: test-frexpl
test-frexpl.c:124: assertion failed
/bin/sh[9]: 43955535 Abort(coredump)
FAIL: test-frexpl
PASS: test-isnand-nolibm
PASS: test-isnanf-nolibm
PASS: test-isnanl-nolibm
PASS: test-math
PASS: test-printf-frexp
PASS: test-printf-frexpl
PASS: test-signbit
PASS: test-stdint
PASS: test-stdio
PASS: test-vasnprintf
test-vasprintf-posix.c:526: assertion failed
/bin/sh[9]: 45212598 Abort(coredump)
FAIL: test-vasprintf-posix
PASS: test-vasprintf
PASS: test-wchar
====================
3 of 18 tests failed
====================
gmake[4]: *** [check-TESTS] Error 1
gmake[4]: Leaving directory `/usr/people/tgc/work/ea0f5b/gltests'
The same testdir done with commit 61776a0 passes all tests.
-tgc