summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--math/bits/cmathcalls.h2
-rw-r--r--math/complex.h5
3 files changed, 8 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 9ae5136d40..c795a5fc1c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2000-09-15  Ulrich Drepper  <drepper@redhat.com>
 
+	* math/complex.h: Don't define _Complex macro for gcc 3.  Add
+	__extension__ to _Complex_I definition since gcc warns if -pedantic.
+	* math/bits/cmathcalls.h (conj): Add __extension__ since we use ~.
+
 	* include/limits.h: Define LLONG_MIN, LLONG_MAX, ULLONG_MAX if
 	necessary.  Move includes of POSIX and Unix limits files to the
 	end.
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.  */