gcc/fixincludes/tests/base/iso/math_c99.h
Rainer Orth 9e27153139 Fix <iso/math_c99.h> signbit on Solaris
fixincludes:
	* inclhack.def (solaris_math_11): New fix.
	* fixincl.x: Regenerate.
	* tests/base/iso/math_c99.h [SOLARIS_MATH_11_CHECK]: New test.

	gcc/testsuite:
	* gcc.dg/signbit-sa.c: New test.

From-SVN: r220577
2015-02-10 10:09:49 +00:00

89 lines
2.4 KiB
C

/* DO NOT EDIT THIS FILE.
It has been auto-edited by fixincludes from:
"fixinc/tests/inc/iso/math_c99.h"
This had to be done to correct non-standard usages in the
original, manufacturer supplied header file. */
#if defined( SOLARIS_MATH_1_CHECK )
#ident "@(#)math_c99.h 1.9 04/11/01 SMI"
#undef HUGE_VAL
#define HUGE_VAL (__builtin_huge_val())
#undef HUGE_VALF
#define HUGE_VALF (__builtin_huge_valf())
#undef HUGE_VALL
#define HUGE_VALL (__builtin_huge_vall())
#endif /* SOLARIS_MATH_1_CHECK */
#if defined( SOLARIS_MATH_10_CHECK )
#pragma ident "@(#)math_c99.h 1.12 07/01/21 SMI"
#undef isinf
#define isinf(x) __builtin_isinf(x)
#endif /* SOLARIS_MATH_10_CHECK */
#if defined( SOLARIS_MATH_2_CHECK )
#ident "@(#)math_c99.h 1.9 04/11/01 SMI"
#undef INFINITY
#define INFINITY (__builtin_inff())
#endif /* SOLARIS_MATH_2_CHECK */
#if defined( SOLARIS_MATH_3_CHECK )
#ident "@(#)math_c99.h 1.9 04/11/01 SMI"
#undef NAN
#define NAN (__builtin_nanf(""))
#endif /* SOLARIS_MATH_3_CHECK */
#if defined( SOLARIS_MATH_4_CHECK )
#ident "@(#)math_c99.h 1.9 04/11/01 SMI"
#undef fpclassify
#define fpclassify(x) \
__builtin_fpclassify(FP_NAN, FP_INFINITE, FP_NORMAL, FP_SUBNORMAL, FP_ZERO, (x))
#endif /* SOLARIS_MATH_4_CHECK */
#if defined( SOLARIS_MATH_8_CHECK )
#ident "@(#)math_c99.h 1.9 04/11/01 SMI"
#undef signbit
#define signbit(x) (sizeof(x) == sizeof(float) \
? __builtin_signbitf(x) \
: sizeof(x) == sizeof(long double) \
? __builtin_signbitl(x) \
: __builtin_signbit(x))
#endif /* SOLARIS_MATH_8_CHECK */
#if defined( SOLARIS_MATH_9_CHECK )
#ident "@(#)math_c99.h 1.9 04/11/01 SMI"
#undef isgreater
#define isgreater(x, y) __builtin_isgreater(x, y)
#undef isgreaterequal
#define isgreaterequal(x, y) __builtin_isgreaterequal(x, y)
#undef isless
#define isless(x, y) __builtin_isless(x, y)
#undef islessequal
#define islessequal(x, y) __builtin_islessequal(x, y)
#undef islessgreater
#define islessgreater(x, y) __builtin_islessgreater(x, y)
#undef isunordered
#define isunordered(x, y) __builtin_isunordered(x, y)
#endif /* SOLARIS_MATH_9_CHECK */
#if defined( SOLARIS_MATH_11_CHECK )
/* @(#)math_c99.h 1.14 13/03/27 */
#undef signbit
#define signbit(x) (sizeof(x) == sizeof(float) \
? __builtin_signbitf(x) \
: sizeof(x) == sizeof(long double) \
? __builtin_signbitl(x) \
: __builtin_signbit(x))
#endif /* SOLARIS_MATH_11_CHECK */