about summary refs log tree commit diff
path: root/bits
diff options
context:
space:
mode:
Diffstat (limited to 'bits')
-rw-r--r--bits/mathdef.h8
1 files changed, 5 insertions, 3 deletions
diff --git a/bits/mathdef.h b/bits/mathdef.h
index b034c5c99d..0d1c4d7374 100644
--- a/bits/mathdef.h
+++ b/bits/mathdef.h
@@ -16,11 +16,11 @@
    write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
    Boston, MA 02111-1307, USA.  */
 
-#ifndef _MATH_H
+if !defined _MATH_H && !defined _COMPLEX_H
 # error "Never use <bits/mathdef.h> directly; include <math.h> instead"
 #endif
 
-#ifdef __USE_ISOC9X
+#if defined  __USE_ISOC9X && defined _MATH_H
 /* Normally, there is no long double type and the `float' and `double'
    expressions are evaluated as `double'.  */
 typedef double float_t;		/* `float' expressions are evaluated as
@@ -44,6 +44,8 @@ typedef double double_t;	/* `double' expressions are evaluated as
 
 #endif	/* ISO C 9X */
 
+#ifndef __NO_LONG_DOUBLE_MATH
 /* Signal that we do not really have a `long double'.  The disables the
    declaration of all the `long double' function variants.  */
-#define __NO_LONG_DOUBLE_MATH	1
+# define __NO_LONG_DOUBLE_MATH	1
+#endif