aboutsummaryrefslogtreecommitdiff
path: root/libgfortran
diff options
context:
space:
mode:
authorRoger Sayle <roger@eyesopen.com>2006-01-12 17:37:47 +0000
committerRoger Sayle <roger@eyesopen.com>2006-01-12 17:37:47 +0000
commitfad299e6ea8101679c46e586ea760b4802932b0b (patch)
treee0c22bb94361ac906b41acf62af6059ec502d411 /libgfortran
parent26ffe6e0fbefbe3fb8a26ff2af407f37039b1726 (diff)
* intrinsics/c99_functions.c: Add function prototypes to avoid
warnings from -Wstrict-prototypes -Wmissing-prototypes. On Tru64 work around a brain-dead libm by redirecting calls to cabs{,f,l} to a local __gfc_cabs{,f,l}. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@109646 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libgfortran')
-rw-r--r--libgfortran/ChangeLog7
-rw-r--r--libgfortran/intrinsics/c99_functions.c27
2 files changed, 34 insertions, 0 deletions
diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog
index ccf5dec226a..9eaa989c063 100644
--- a/libgfortran/ChangeLog
+++ b/libgfortran/ChangeLog
@@ -1,3 +1,10 @@
+2006-01-12 Roger Sayle <roger@eyesopen.com>
+
+ * intrinsics/c99_functions.c: Add function prototypes to avoid
+ warnings from -Wstrict-prototypes -Wmissing-prototypes. On Tru64
+ work around a brain-dead libm by redirecting calls to cabs{,f,l}
+ to a local __gfc_cabs{,f,l}.
+
2006-01-07 Janne Blomqvist <jb@gcc.gnu.org>
* configure.ac: Remove check for sys/mman.h.
diff --git a/libgfortran/intrinsics/c99_functions.c b/libgfortran/intrinsics/c99_functions.c
index 5e93e4279b2..feb4c08b479 100644
--- a/libgfortran/intrinsics/c99_functions.c
+++ b/libgfortran/intrinsics/c99_functions.c
@@ -35,6 +35,33 @@ Boston, MA 02110-1301, USA. */
#define C99_PROTOS_H WE_DONT_WANT_PROTOS_NOW
#include "libgfortran.h"
+/* 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}. */
+
+#ifdef __osf__
+#undef HAVE_CABS
+#undef HAVE_CABSF
+#undef HAVE_CABSL
+#define cabs __gfc_cabs
+#define cabsf __gfc_cabsf
+#define cabsl __gfc_cabsl
+#endif
+
+/* Prototypes to silence -Wstrict-prototypes -Wmissing-prototypes. */
+
+float cabsf(float complex);
+double cabs(double complex);
+long double cabsl(long double complex);
+
+float cargf(float complex);
+double carg(double complex);
+long double cargl(long double complex);
+
+float complex clog10f(float complex);
+double complex clog10(double complex);
+long double complex clog10l(long double complex);
+
#ifndef HAVE_ACOSF
#define HAVE_ACOSF 1