aboutsummaryrefslogtreecommitdiff
path: root/math
diff options
context:
space:
mode:
Diffstat (limited to 'math')
-rw-r--r--math/bits/cmathcalls.h2
-rw-r--r--math/complex.h5
2 files changed, 4 insertions, 3 deletions
diff --git a/math/bits/cmathcalls.h b/math/bits/cmathcalls.h
index 57a2582d70..3a46822cb5 100644
--- a/math/bits/cmathcalls.h
+++ b/math/bits/cmathcalls.h
@@ -151,7 +151,7 @@ __MATH_PRECNAME(creal) (_Mdouble_complex_ __z) __THROW
extern __inline _Mdouble_complex_
__MATH_PRECNAME(conj) (_Mdouble_complex_ __z) __THROW
{
- return ~__z;
+ return __extension__ ~__z;
}
#endif
diff --git a/math/complex.h b/math/complex.h
index bd471263e6..ac08875adc 100644
--- a/math/complex.h
+++ b/math/complex.h
@@ -33,15 +33,16 @@ __BEGIN_DECLS
/* We might need to add support for more compilers here. But since ISO
C99 is out hopefully all maintained compilers will soon provide the data
types `float complex' and `double complex'. */
-#if __GNUC_PREREQ (2, 7)
+#if __GNUC_PREREQ (2, 7) && !__GNUC_PREREQ (3, 0)
# define _Complex __complex__
#endif
+#define complex _Complex
/* Narrowest imaginary unit. This depends on the floating-point
evaluation method.
XXX This probably has to go into a gcc related file. */
-#define _Complex_I (1.0iF)
+#define _Complex_I (__extension__ 1.0iF)
/* Another more descriptive name is `I'.
XXX Once we have the imaginary support switch this to _Imaginary_I. */