aboutsummaryrefslogtreecommitdiff
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.zip
glibc-2ee094ff7524637304a00fcd25e1d3c9939a1fe5.tar.gz
glibc-2ee094ff7524637304a00fcd25e1d3c9939a1fe5.tar.bz2
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 494e1ae..4e6534d 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 7fc3e39..a2bac22 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 5bdcc93..82c7962 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 5e9a501..fa0747b 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 4b62f88..195ea7a 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;