diff --git a/gl/math.in.h b/gl/math.in.h
index 6e1b9a2b221f4f198ccd7b1c881bc0f4989d41c4..a0efefdacd518abfc13607ce2f28b2875549d702 100644 (file)
--- a/gl/math.in.h
+++ b/gl/math.in.h
/* A GNU-like <math.h>.
- Copyright (C) 2002-2003, 2007-2008 Free Software Foundation, Inc.
+ Copyright (C) 2002-2003, 2007-2009 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
extern int gl_signbitd (double arg);
extern int gl_signbitl (long double arg);
# if __GNUC__ >= 2 && !__STRICT_ANSI__
-# if defined FLT_SIGNBIT_WORD && defined FLT_SIGNBIT_BIT
+# if defined FLT_SIGNBIT_WORD && defined FLT_SIGNBIT_BIT && !defined gl_signbitf
+# define gl_signbitf_OPTIMIZED_MACRO
# define gl_signbitf(arg) \
({ union { float _value; \
unsigned int _word[(sizeof (float) + sizeof (unsigned int) - 1) / sizeof (unsigned int)]; \
(_m._word[FLT_SIGNBIT_WORD] >> FLT_SIGNBIT_BIT) & 1; \
})
# endif
-# if defined DBL_SIGNBIT_WORD && defined DBL_SIGNBIT_BIT
+# if defined DBL_SIGNBIT_WORD && defined DBL_SIGNBIT_BIT && !defined gl_signbitd
+# define gl_signbitd_OPTIMIZED_MACRO
# define gl_signbitd(arg) \
({ union { double _value; \
unsigned int _word[(sizeof (double) + sizeof (unsigned int) - 1) / sizeof (unsigned int)]; \
(_m._word[DBL_SIGNBIT_WORD] >> DBL_SIGNBIT_BIT) & 1; \
})
# endif
-# if defined LDBL_SIGNBIT_WORD && defined LDBL_SIGNBIT_BIT
+# if defined LDBL_SIGNBIT_WORD && defined LDBL_SIGNBIT_BIT && !defined gl_signbitl
+# define gl_signbitl_OPTIMIZED_MACRO
# define gl_signbitl(arg) \
({ union { long double _value; \
unsigned int _word[(sizeof (long double) + sizeof (unsigned int) - 1) / sizeof (unsigned int)]; \