about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2013-05-18 12:12:38 +0000
committerJoseph Myers <joseph@codesourcery.com>2013-05-18 12:12:38 +0000
commit2ee094ff7524637304a00fcd25e1d3c9939a1fe5 (patch)
treebe4af3670613bc6847b71d53c44ee09b099b3f09
parent3779b5b64a7fd0366d66c76992296fa2cdd2bbf6 (diff)
downloadglibc-2ee094ff7524637304a00fcd25e1d3c9939a1fe5.tar.gz
glibc-2ee094ff7524637304a00fcd25e1d3c9939a1fe5.tar.xz
glibc-2ee094ff7524637304a00fcd25e1d3c9939a1fe5.zip
Don't disable CMPLXL macro for __NO_LONG_DOUBLE_MATH (bug 15488).
-rw-r--r--ChangeLog10
-rw-r--r--NEWS3
-rw-r--r--math/complex.h4
-rw-r--r--math/tst-CMPLX.c2
-rw-r--r--math/tst-CMPLX2.c4
5 files changed, 13 insertions, 10 deletions
diff --git a/ChangeLog b/ChangeLog
index 494e1ae263..4e6534d22e 100644
--- 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 7fc3e397f6..a2bac22686 100644
--- 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).
diff --git a/math/complex.h b/math/complex.h
index 5bdcc93f9f..82c7962feb 100644
--- a/math/complex.h
+++ b/math/complex.h
@@ -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
diff --git a/math/tst-CMPLX.c b/math/tst-CMPLX.c
index 5e9a501a55..fa0747b991 100644
--- a/math/tst-CMPLX.c
+++ b/math/tst-CMPLX.c
@@ -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;
diff --git a/math/tst-CMPLX2.c b/math/tst-CMPLX2.c
index 4b62f8857e..195ea7a848 100644
--- a/math/tst-CMPLX2.c
+++ b/math/tst-CMPLX2.c
@@ -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;