]> git.ipfire.org Git - thirdparty/glibc.git/commit - math/test-float.h
Use C11 CMPLX* macros in libm tests.
authorJoseph Myers <joseph@codesourcery.com>
Wed, 28 Oct 2015 21:57:10 +0000 (21:57 +0000)
committerJoseph Myers <joseph@codesourcery.com>
Wed, 28 Oct 2015 21:57:10 +0000 (21:57 +0000)
commit5878dd9d53a00fa28800236d79e38e55f85fc98d
tree85ce332ade1b23eb4ece3c34f6382133a8d5734b
parent1f4dafa3ea24df63a6550dbdbbe8769caa7a9fc3
Use C11 CMPLX* macros in libm tests.

libm-test.inc has a macro BUILD_COMPLEX to construct a complex number
with given real and imaginary parts while allowing properly for signed
zeroes, infinities and NaNs (which don't work properly with a simple
real + I * imag, in the absence of compiler support for imaginary
types), using assignment to __real__ and __imag__ parts of the number.
C11 defines CMPLX* macros for this purpose, which GCC 4.7 and above
provide suitable built-in functions for.  This patch redefines
BUILD_COMPLEX in terms of the standard macros.

Tested for x86_64 and x86.

* math/libm-test.inc (BUILD_COMPLEX): Remove macro.
* math/test-double.h (BUILD_COMPLEX): New macro.
* math/test-float.h (BUILD_COMPLEX): Likewise.
* math/test-ldouble.h (BUILD_COMPLEX): Likewise.
ChangeLog
math/libm-test.inc
math/test-double.h
math/test-float.h
math/test-ldouble.h