From: Joseph Myers Date: Sat, 18 May 2013 12:12:38 +0000 (+0000) Subject: Don't disable CMPLXL macro for __NO_LONG_DOUBLE_MATH (bug 15488). X-Git-Tag: glibc-2.18~231 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=2ee094ff7524637304a00fcd25e1d3c9939a1fe5;p=thirdparty%2Fglibc.git Don't disable CMPLXL macro for __NO_LONG_DOUBLE_MATH (bug 15488). --- diff --git a/ChangeLog b/ChangeLog index 494e1ae2632..4e6534d22e0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,15 @@ 2013-05-18 Joseph Myers + [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 7fc3e397f63..a2bac226865 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 5bdcc93f9fc..82c7962febe 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 contains the prototypes for all the diff --git a/math/tst-CMPLX.c b/math/tst-CMPLX.c index 5e9a501a553..fa0747b9915 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 4b62f8857e2..195ea7a8488 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;