tests: IRIX 6.2 cc can't compile -0.0 into .data
authorEric Blake <ebb9@byu.net>
Mon, 12 Jan 2009 13:52:18 +0000 (06:52 -0700)
committerEric Blake <ebb9@byu.net>
Mon, 12 Jan 2009 13:53:04 +0000 (06:53 -0700)
* tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
rather than at compile-time.
* tests/test-floorl.c (minus_zero): Likewise.
* tests/test-frexpl.c (minus_zero): Likewise.
* tests/test-isnan.c (minus_zerol): Likewise.
* tests/test-isnanl.h (minus_zero): Likewise.
* tests/test-ldexpl.c (minus_zero): Likewise.
* tests/test-roundl.c (minus_zero): Likewise.
* tests/test-signbit.c (minus_zerol): Likewise.
* tests/test-snprintf-posix.h (minus_zerol): Likewise.
* tests/test-sprintf-posix.h (minus_zerol): Likewise.
* tests/test-truncl.c (minus_zero): Likewise.
* tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
* tests/test-vasprintf-posix.c (minus_zerol): Likewise.
Reported by Tom G. Christensen and Nelson H. F. Beebe.

Signed-off-by: Eric Blake <ebb9@byu.net>
14 files changed:
ChangeLog
tests/test-ceill.c
tests/test-floorl.c
tests/test-frexpl.c
tests/test-isnan.c
tests/test-isnanl.h
tests/test-ldexpl.c
tests/test-roundl.c
tests/test-signbit.c
tests/test-snprintf-posix.h
tests/test-sprintf-posix.h
tests/test-truncl.c
tests/test-vasnprintf-posix.c
tests/test-vasprintf-posix.c

index 0c9bcfbd8d8d0c92a7a6f3083ec72f5020822c03..de933c55071ce68c14a305b192d3c21802289c46 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,22 @@
+2009-01-12  Eric Blake  <ebb9@byu.net>
+
+       tests: IRIX 6.2 cc can't compile -0.0 into .data
+       * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
+       rather than at compile-time.
+       * tests/test-floorl.c (minus_zero): Likewise.
+       * tests/test-frexpl.c (minus_zero): Likewise.
+       * tests/test-isnan.c (minus_zerol): Likewise.
+       * tests/test-isnanl.h (minus_zero): Likewise.
+       * tests/test-ldexpl.c (minus_zero): Likewise.
+       * tests/test-roundl.c (minus_zero): Likewise.
+       * tests/test-signbit.c (minus_zerol): Likewise.
+       * tests/test-snprintf-posix.h (minus_zerol): Likewise.
+       * tests/test-sprintf-posix.h (minus_zerol): Likewise.
+       * tests/test-truncl.c (minus_zero): Likewise.
+       * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
+       * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
+       Reported by Tom G. Christensen and Nelson H. F. Beebe.
+
 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
 
        regex: fix glibc bug 9697
index 49e0c6519e708beaa0bf546c24273aefb912bda4..d1f0266c5ae3871c5a832bfc03794768c1ec5f86 100644 (file)
@@ -1,5 +1,5 @@
 /* Test of rounding towards positive infinity.
-   Copyright (C) 2007-2008 Free Software Foundation, Inc.
+   Copyright (C) 2007-2009 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
 
 /* On HP-UX 10.20, negating 0.0L does not yield -0.0L.
    So we use minus_zero instead.
+   IRIX cc can't put -0.0L into .data, but can compute at runtime.
    Note that the expression -LDBL_MIN * LDBL_MIN does not work on other
    platforms, such as when cross-compiling to PowerPC on MacOS X 10.5.  */
 #if defined __hpux || defined __sgi
-long double minus_zero = -LDBL_MIN * LDBL_MIN;
+static long double
+compute_minus_zero (void)
+{
+  return -LDBL_MIN * LDBL_MIN;
+}
+# define minus_zero compute_minus_zero ()
 #else
 long double minus_zero = -0.0L;
 #endif
index 9a8e5a800767b2c9fb99787e1232d7c6e03f88cc..14979e68dca0e15c2fdbe481bafa0a3bee09bc28 100644 (file)
@@ -1,5 +1,5 @@
 /* Test of rounding towards negative infinity.
-   Copyright (C) 2007-2008 Free Software Foundation, Inc.
+   Copyright (C) 2007-2009 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
 
 /* On HP-UX 10.20, negating 0.0L does not yield -0.0L.
    So we use minus_zero instead.
+   IRIX cc can't put -0.0L into .data, but can compute at runtime.
    Note that the expression -LDBL_MIN * LDBL_MIN does not work on other
    platforms, such as when cross-compiling to PowerPC on MacOS X 10.5.  */
 #if defined __hpux || defined __sgi
-long double minus_zero = -LDBL_MIN * LDBL_MIN;
+static long double
+compute_minus_zero (void)
+{
+  return -LDBL_MIN * LDBL_MIN;
+}
+# define minus_zero compute_minus_zero ()
 #else
 long double minus_zero = -0.0L;
 #endif
index 91f2d6723b14adc783ac12d86698a1c9154e1bf2..2b968b8eed59b8ada48b324f22c9a0ca5222b1e3 100644 (file)
@@ -1,5 +1,5 @@
 /* Test of splitting a 'long double' into fraction and mantissa.
-   Copyright (C) 2007-2008 Free Software Foundation, Inc.
+   Copyright (C) 2007-2009 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
 
 /* On HP-UX 10.20, negating 0.0L does not yield -0.0L.
    So we use minus_zero instead.
+   IRIX cc can't put -0.0L into .data, but can compute at runtime.
    Note that the expression -LDBL_MIN * LDBL_MIN does not work on other
    platforms, such as when cross-compiling to PowerPC on MacOS X 10.5.  */
 #if defined __hpux || defined __sgi
-long double minus_zero = -LDBL_MIN * LDBL_MIN;
+static long double
+compute_minus_zero (void)
+{
+  return -LDBL_MIN * LDBL_MIN;
+}
+# define minus_zero compute_minus_zero ()
 #else
 long double minus_zero = -0.0L;
 #endif
index b5fa11243ac2e58a291d27022aae92c72bf18f7e..61490176c2f12682c98baed54aebfb04e613f889 100644 (file)
@@ -1,5 +1,5 @@
 /* Test of isnand() substitute.
-   Copyright (C) 2007-2008 Free Software Foundation, Inc.
+   Copyright (C) 2007-2009 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -50,10 +50,16 @@ double zerod = 0.0;
 
 /* On HP-UX 10.20, negating 0.0L does not yield -0.0L.
    So we use minus_zerol instead.
+   IRIX cc can't put -0.0L into .data, but can compute at runtime.
    Note that the expression -LDBL_MIN * LDBL_MIN does not work on other
    platforms, such as when cross-compiling to PowerPC on MacOS X 10.5.  */
 #if defined __hpux || defined __sgi
-long double minus_zerol = -LDBL_MIN * LDBL_MIN;
+static long double
+compute_minus_zerol (void)
+{
+  return -LDBL_MIN * LDBL_MIN;
+}
+# define minus_zerol compute_minus_zerol ()
 #else
 long double minus_zerol = -0.0L;
 #endif
index 8567f39eca139dbf66bda92ae301f7c63a0cbc1d..37e28579c704f7176f7a60417d230996b376f502 100644 (file)
@@ -1,5 +1,5 @@
 /* Test of isnanl() substitute.
-   Copyright (C) 2007-2008 Free Software Foundation, Inc.
+   Copyright (C) 2007-2009 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
 
 /* On HP-UX 10.20, negating 0.0L does not yield -0.0L.
    So we use minus_zero instead.
+   IRIX cc can't put -0.0L into .data, but can compute at runtime.
    Note that the expression -LDBL_MIN * LDBL_MIN does not work on other
    platforms, such as when cross-compiling to PowerPC on MacOS X 10.5.  */
 #if defined __hpux || defined __sgi
-long double minus_zero = -LDBL_MIN * LDBL_MIN;
+static long double
+compute_minus_zero (void)
+{
+  return -LDBL_MIN * LDBL_MIN;
+}
+# define minus_zero compute_minus_zero ()
 #else
 long double minus_zero = -0.0L;
 #endif
index 272fc4f0cf2c92691e17d4e3086075e808f7b15e..395c00fb09d663e0036f07dfe19dad675854a9e9 100644 (file)
@@ -1,5 +1,5 @@
 /* Test of multiplying a 'long double' by a power of 2.
-   Copyright (C) 2007-2008 Free Software Foundation, Inc.
+   Copyright (C) 2007-2009 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
 
 /* On HP-UX 10.20, negating 0.0L does not yield -0.0L.
    So we use minus_zero instead.
+   IRIX cc can't put -0.0L into .data, but can compute at runtime.
    Note that the expression -LDBL_MIN * LDBL_MIN does not work on other
    platforms, such as when cross-compiling to PowerPC on MacOS X 10.5.  */
 #if defined __hpux || defined __sgi
-long double minus_zero = -LDBL_MIN * LDBL_MIN;
+static long double
+compute_minus_zero (void)
+{
+  return -LDBL_MIN * LDBL_MIN;
+}
+# define minus_zero compute_minus_zero ()
 #else
 long double minus_zero = -0.0L;
 #endif
index 1da3f441663bc20b1b8f3db1d7fb60de7794a71b..51cd1cdd9e30cebbcb54381f1b6ee0f42b64fd0c 100644 (file)
@@ -1,9 +1,9 @@
 /* Test of rounding to nearest, breaking ties away from zero.
-   Copyright (C) 2007-2008 Free Software Foundation, Inc.
+   Copyright (C) 2007-2009 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2, or (at your option)
+   the Free Software Foundation; either version 3, or (at your option)
    any later version.
 
    This program is distributed in the hope that it will be useful,
 
 /* On HP-UX 10.20, negating 0.0L does not yield -0.0L.
    So we use minus_zero instead.
+   IRIX cc can't put -0.0L into .data, but can compute at runtime.
    Note that the expression -LDBL_MIN * LDBL_MIN does not work on other
    platforms, such as when cross-compiling to PowerPC on MacOS X 10.5.  */
 #if defined __hpux || defined __sgi
-long double minus_zero = -LDBL_MIN * LDBL_MIN;
+static long double
+compute_minus_zero (void)
+{
+  return -LDBL_MIN * LDBL_MIN;
+}
+# define minus_zero compute_minus_zero ()
 #else
 long double minus_zero = -0.0L;
 #endif
index d6efe08b09c9b0e2a2283c14a410f7dea8432cbc..97f68e6a71b2d323478b07d6328d52066e6e6aca 100644 (file)
@@ -1,5 +1,5 @@
 /* Test of signbit() substitute.
-   Copyright (C) 2007, 2008 Free Software Foundation, Inc.
+   Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -49,10 +49,16 @@ long double zerol = 0.0L;
 
 /* On HP-UX 10.20, negating 0.0L does not yield -0.0L.
    So we use minus_zerol instead.
+   IRIX cc can't put -0.0L into .data, but can compute at runtime.
    Note that the expression -LDBL_MIN * LDBL_MIN does not work on other
    platforms, such as when cross-compiling to PowerPC on MacOS X 10.5.  */
 #if defined __hpux || defined __sgi
-long double minus_zerol = -LDBL_MIN * LDBL_MIN;
+static long double
+compute_minus_zerol (void)
+{
+  return -LDBL_MIN * LDBL_MIN;
+}
+# define minus_zerol compute_minus_zerol ()
 #else
 long double minus_zerol = -0.0L;
 #endif
index 09b1867826ecf1e13ddef20877d0022972d38a0c..9fb2e67d196bf63e7b9d34bbbd1587039f45692d 100644 (file)
@@ -1,5 +1,5 @@
 /* Test of POSIX compatible vsnprintf() and snprintf() functions.
-   Copyright (C) 2007-2008 Free Software Foundation, Inc.
+   Copyright (C) 2007-2009 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -33,10 +33,16 @@ double zerod = 0.0;
 
 /* On HP-UX 10.20, negating 0.0L does not yield -0.0L.
    So we use minus_zerol instead.
+   IRIX cc can't put -0.0L into .data, but can compute at runtime.
    Note that the expression -LDBL_MIN * LDBL_MIN does not work on other
    platforms, such as when cross-compiling to PowerPC on MacOS X 10.5.  */
 #if defined __hpux || defined __sgi
-long double minus_zerol = -LDBL_MIN * LDBL_MIN;
+static long double
+compute_minus_zerol (void)
+{
+  return -LDBL_MIN * LDBL_MIN;
+}
+# define minus_zerol compute_minus_zerol ()
 #else
 long double minus_zerol = -0.0L;
 #endif
index 5fb9250c101a23304c0741762431f778a4b9478f..e8b8ba87786dd37935afeaf549f43f97664f123f 100644 (file)
@@ -1,5 +1,5 @@
 /* Test of POSIX compatible vsprintf() and sprintf() functions.
-   Copyright (C) 2007-2008 Free Software Foundation, Inc.
+   Copyright (C) 2007-2009 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -33,10 +33,16 @@ double zerod = 0.0;
 
 /* On HP-UX 10.20, negating 0.0L does not yield -0.0L.
    So we use minus_zerol instead.
+   IRIX cc can't put -0.0L into .data, but can compute at runtime.
    Note that the expression -LDBL_MIN * LDBL_MIN does not work on other
    platforms, such as when cross-compiling to PowerPC on MacOS X 10.5.  */
 #if defined __hpux || defined __sgi
-long double minus_zerol = -LDBL_MIN * LDBL_MIN;
+static long double
+compute_minus_zerol (void)
+{
+  return -LDBL_MIN * LDBL_MIN;
+}
+# define minus_zerol compute_minus_zerol ()
 #else
 long double minus_zerol = -0.0L;
 #endif
index 4b00e350ac7fa1b492362f2cfb5a7807483aefb4..aad677d6c67a4ef90912202f7445a6fb963c6af8 100644 (file)
@@ -1,5 +1,5 @@
 /* Test of rounding towards zero.
-   Copyright (C) 2007-2008 Free Software Foundation, Inc.
+   Copyright (C) 2007-2009 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
 
 /* On HP-UX 10.20, negating 0.0L does not yield -0.0L.
    So we use minus_zero instead.
+   IRIX cc can't put -0.0L into .data, but can compute at runtime.
    Note that the expression -LDBL_MIN * LDBL_MIN does not work on other
    platforms, such as when cross-compiling to PowerPC on MacOS X 10.5.  */
 #if defined __hpux || defined __sgi
-long double minus_zero = -LDBL_MIN * LDBL_MIN;
+static long double
+compute_minus_zero (void)
+{
+  return -LDBL_MIN * LDBL_MIN;
+}
+# define minus_zero compute_minus_zero ()
 #else
 long double minus_zero = -0.0L;
 #endif
index bf125480ae58a86e97d0be59c86ce55e2406a5e8..07c173e1abd14eadf1f16d5e124a36598519a367 100644 (file)
@@ -1,5 +1,5 @@
 /* Test of POSIX compatible vasnprintf() and asnprintf() functions.
-   Copyright (C) 2007-2008 Free Software Foundation, Inc.
+   Copyright (C) 2007-2009 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -58,10 +58,16 @@ double zerod = 0.0;
 
 /* On HP-UX 10.20, negating 0.0L does not yield -0.0L.
    So we use minus_zerol instead.
+   IRIX cc can't put -0.0L into .data, but can compute at runtime.
    Note that the expression -LDBL_MIN * LDBL_MIN does not work on other
    platforms, such as when cross-compiling to PowerPC on MacOS X 10.5.  */
 #if defined __hpux || defined __sgi
-long double minus_zerol = -LDBL_MIN * LDBL_MIN;
+static long double
+compute_minus_zerol (void)
+{
+  return -LDBL_MIN * LDBL_MIN;
+}
+# define minus_zerol compute_minus_zerol ()
 #else
 long double minus_zerol = -0.0L;
 #endif
index 2f287fc90604ab4d93fcbae42ed6c0a760826e8b..5f471b444713c554acb8f818d4749055a778c930 100644 (file)
@@ -1,5 +1,5 @@
 /* Test of POSIX compatible vasprintf() and asprintf() functions.
-   Copyright (C) 2007-2008 Free Software Foundation, Inc.
+   Copyright (C) 2007-2009 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -57,10 +57,16 @@ double zerod = 0.0;
 
 /* On HP-UX 10.20, negating 0.0L does not yield -0.0L.
    So we use minus_zerol instead.
+   IRIX cc can't put -0.0L into .data, but can compute at runtime.
    Note that the expression -LDBL_MIN * LDBL_MIN does not work on other
    platforms, such as when cross-compiling to PowerPC on MacOS X 10.5.  */
 #if defined __hpux || defined __sgi
-long double minus_zerol = -LDBL_MIN * LDBL_MIN;
+static long double
+compute_minus_zerol (void)
+{
+  return -LDBL_MIN * LDBL_MIN;
+}
+# define minus_zerol compute_minus_zerol ()
 #else
 long double minus_zerol = -0.0L;
 #endif