c99_functions.c: Work around incompatible declarations of cabs{,f,l} on pre-C99 IRIX systems.

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.

From-SVN: r110700
This commit is contained in:
Rainer Emrich 2006-02-07 17:26:54 +00:00 committed by Tobias Schlüter
parent 328654cc92
commit 0e5264e8ea
2 changed files with 19 additions and 0 deletions

View 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

View 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}. */