Don't disable CMPLXL macro for __NO_LONG_DOUBLE_MATH (bug 15488).
authorJoseph Myers <joseph@codesourcery.com>
Sat, 18 May 2013 12:12:38 +0000 (12:12 +0000)
committerJoseph Myers <joseph@codesourcery.com>
Sat, 18 May 2013 12:12:38 +0000 (12:12 +0000)
ChangeLog
NEWS
math/complex.h
math/tst-CMPLX.c
math/tst-CMPLX2.c

index 494e1ae..4e6534d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,15 @@
 2013-05-18  Joseph Myers  <joseph@codesourcery.com>
 
+       [BZ #15488]
+       * math/complex.h [__USE_ISOC11 && __GNUC_PREREQ (4, 7) &&
+       __NO_LONG_DOUBLE_MATH] (CMPLXL): Define macro.
+       * math/tst-CMPLX.c (do_test) [NO_LONG_DOUBLE]: Do not disable long
+       double tests.
+       * make/tst-CMPLX2.c [NO_LONG_DOUBLE] (check_long_double): Do not
+       disable.
+       (do_test) [NO_LONG_DOUBLE]: Do not disable call to
+       check_long_double.
+
        * math/gen-libm-test.pl (@tests): Remove variable.
        ($count): Likewise.
        (new_test): Remove function.
diff --git a/NEWS b/NEWS
index 7fc3e39..a2bac22 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -17,7 +17,8 @@ Version 2.18
   15086, 15160, 15214, 15221, 15232, 15234, 15283, 15285, 15287, 15304,
   15305, 15307, 15309, 15327, 15330, 15335, 15336, 15337, 15342, 15346,
   15359, 15361, 15366, 15380, 15394, 15395, 15405, 15406, 15409, 15416,
-  15418, 15419, 15423, 15424, 15426, 15429, 15442, 15448, 15480, 15485.
+  15418, 15419, 15423, 15424, 15426, 15429, 15442, 15448, 15480, 15485,
+  15488.
 
 * CVE-2013-0242 Buffer overrun in regexp matcher has been fixed (Bugzilla
   #15078).
index 5bdcc93..82c7962 100644 (file)
@@ -52,9 +52,7 @@ __BEGIN_DECLS
 /* Macros to expand into expression of specified complex type.  */
 # define CMPLX(x, y) __builtin_complex ((double) (x), (double) (y))
 # define CMPLXF(x, y) __builtin_complex ((float) (x), (float) (y))
-# ifndef __NO_LONG_DOUBLE_MATH
-#  define CMPLXL(x, y) __builtin_complex ((long double) (x), (long double) (y))
-# endif
+# define CMPLXL(x, y) __builtin_complex ((long double) (x), (long double) (y))
 #endif
 
 /* The file <bits/cmathcalls.h> contains the prototypes for all the
index 5e9a501..fa0747b 100644 (file)
@@ -45,9 +45,7 @@ CMPLX (" #r ", " #i ") does not produce complex " #t ": %zu\n", s);         \
 
   C (CMPLXF, float);
   C (CMPLX, double);
-# ifndef NO_LONG_DOUBLE
   C (CMPLXL, long double);
-# endif
 #endif
 
   return result;
index 4b62f88..195ea7a 100644 (file)
@@ -120,14 +120,12 @@ check_double (void)
              double, comparec, CMPLX);
 }
 
-# ifndef NO_LONG_DOUBLE
 static void
 check_long_double (void)
 {
   ALL_CHECKS (0.0l, -0.0l, __builtin_nanl (""), __builtin_infl (),
              long double, comparecl, CMPLXL);
 }
-# endif
 #endif
 
 static int
@@ -136,9 +134,7 @@ do_test (void)
 #ifdef CMPLX
   check_float ();
   check_double ();
-# ifndef NO_LONG_DOUBLE
   check_long_double ();
-# endif
 #endif
 
   return result;