bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

test-float fails on ppc64 because DBL_MIN_EXP < LDBL_MIN_EXP


From: Jim Meyering
Subject: test-float fails on ppc64 because DBL_MIN_EXP < LDBL_MIN_EXP
Date: Wed, 31 Aug 2011 17:48:25 +0200

The test-float test is failing on ppc64 with:

    gcc version 4.4.4 20100630 (Red Hat 4.4.4-10) (GCC)
    (albeit an aging Fedora 12 system)

due to the failure of this assertion:

    ASSERT (LDBL_MIN_EXP <= DBL_MIN_EXP);

It fails because of these numbers:

    $ :|gcc -dD -E -include stddef.h -|grep -E 'L?DBL_MIN_EXP'
    #define __DBL_MIN_EXP__ (-1021)
    #define __LDBL_MIN_EXP__ (-968)

I propose to comment out that test for now, just prior
to the coreutils-8.13 pre-release snapshot.

I'll wait an hour in case someone objects.


>From 088bdea6d25397f613248e14dbc25b2985ced005 Mon Sep 17 00:00:00 2001
From: Jim Meyering <address@hidden>
Date: Wed, 31 Aug 2011 17:47:18 +0200
Subject: [PATCH] tests: avoid spurious assertion failure in test-float.c

* tests/test-float.c (test_long_double): Comment out assertion
that is failing on ppc64 with at least gcc-4.4.4.
---
 ChangeLog          |    4 ++++
 tests/test-float.c |    9 ++++++++-
 2 files changed, 12 insertions(+), 1 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 004d610..0f4456b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2011-08-31  Jim Meyering  <address@hidden>

+       tests: avoid spurious assertion failure in test-float.c
+       * tests/test-float.c (test_long_double): Comment out assertion
+       that is failing on ppc64 with at least gcc-4.4.4.
+
        maint: indent with spaces, not TABs
        I need to get in the habit of running gnulib's "make check".
        Both of these would have been caught.
diff --git a/tests/test-float.c b/tests/test-float.c
index 5301813..57a472f 100644
--- a/tests/test-float.c
+++ b/tests/test-float.c
@@ -298,7 +298,14 @@ test_long_double (void)

   /* Check that 'long double' is at least as wide as 'double'.  */
   ASSERT (LDBL_MANT_DIG >= DBL_MANT_DIG);
-  ASSERT (LDBL_MIN_EXP <= DBL_MIN_EXP);
+
+  /* Normally, we would also assert this:
+       ASSERT (LDBL_MIN_EXP <= DBL_MIN_EXP);
+     but at least on powerpc64 with gcc-4.4.4, it would fail:
+     $ :|gcc -dD -E -include stddef.h -|grep -E 'L?DBL_MIN_EXP'
+     #define __DBL_MIN_EXP__ (-1021)
+     #define __LDBL_MIN_EXP__ (-968)
+  */
   ASSERT (LDBL_MAX_EXP >= DBL_MAX_EXP);

   /* Check the value of LDBL_DIG.  */
--
1.7.7.rc0.362.g5a14



reply via email to

[Prev in Thread] Current Thread [Next in Thread]