2006-02-07 Rainer Emrich <r.emrich@de.tecosim.com>
authortobi <tobi@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 7 Feb 2006 17:26:54 +0000 (17:26 +0000)
committertobi <tobi@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 7 Feb 2006 17:26:54 +0000 (17:26 +0000)
* 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

libgfortran/ChangeLog
libgfortran/intrinsics/c99_functions.c

index 4bcdb84..a48b5d8 100644 (file)
@@ -1,3 +1,8 @@
+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.
+                
 2005-02-06  Thomas Koenig  <Thomas.Koenig@online.de>
 
        PR libfortran/23815
index feb4c08..e26be0e 100644 (file)
@@ -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}.  */