summaryrefslogtreecommitdiffstats
path: root/libgfortran/intrinsics/c99_functions.c
diff options
context:
space:
mode:
authortobi <tobi@138bc75d-0d04-0410-961f-82ee72b054a4>2006-02-07 17:26:54 +0000
committertobi <tobi@138bc75d-0d04-0410-961f-82ee72b054a4>2006-02-07 17:26:54 +0000
commita160b48aae7113197d8234d39a86cd18b1261d91 (patch)
tree848d1540b40be80641b29fe38d4a6f0c8309a285 /libgfortran/intrinsics/c99_functions.c
parent5d515644b7bb761525e6e349901f5f824dee4e31 (diff)
downloadppe42-gcc-a160b48aae7113197d8234d39a86cd18b1261d91.tar.gz
ppe42-gcc-a160b48aae7113197d8234d39a86cd18b1261d91.zip
2006-02-07 Rainer Emrich <r.emrich@de.tecosim.com>
* intrinsics/c99_functions.c: Work around incompatible declarations of cabs{,f,l} on pre-C99 IRIX systems. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110700 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libgfortran/intrinsics/c99_functions.c')
-rw-r--r--libgfortran/intrinsics/c99_functions.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/libgfortran/intrinsics/c99_functions.c b/libgfortran/intrinsics/c99_functions.c
index feb4c08b479..e26be0ecdb9 100644
--- a/libgfortran/intrinsics/c99_functions.c
+++ b/libgfortran/intrinsics/c99_functions.c
@@ -35,6 +35,20 @@ Boston, MA 02110-1301, USA. */
#define C99_PROTOS_H WE_DONT_WANT_PROTOS_NOW
#include "libgfortran.h"
+/* IRIX's <math.h> declares a non-C99 compliant implementation of cabs,
+ which takes two floating point arguments instead of a single complex.
+ If <complex.h> is missing this prevents building of c99_functions.c.
+ To work around this we redirect cabs{,f,l} calls to __gfc_cabs{,f,l}. */
+
+#if defined(__sgi__) && !defined(HAVE_COMPLEX_H)
+#undef HAVE_CABS
+#undef HAVE_CABSF
+#undef HAVE_CABSL
+#define cabs __gfc_cabs
+#define cabsf __gfc_cabsf
+#define cabsl __gfc_cabsl
+#endif
+
/* Tru64's <math.h> declares a non-C99 compliant implementation of cabs,
which takes two floating point arguments instead of a single complex.
To work around this we redirect cabs{,f,l} calls to __gfc_cabs{,f,l}. */
OpenPOWER on IntegriCloud