This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug libfortran/15960] missing function 'finite' on HP-UX 11.11
- From: "danglin at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 12 Jun 2004 16:31:31 -0000
- Subject: [Bug libfortran/15960] missing function 'finite' on HP-UX 11.11
- References: <20040612130317.15960.Mart.Rentmeester@nn-online.org>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From danglin at gcc dot gnu dot org 2004-06-12 16:31 -------
finite is implemented as the macro "isfinite" on hpux 11. I believe
it's available as finite on hpux 10.
Looking at the results of the gfortran testsuite on hppa2.0w-hp-hpux11.11,
I see that hpux 11 is also missing hypotf, roundf, frexpf and scalbnf.
>From math.h, the following are not available under hpux 11.11 (_PA_RISC):
# ifndef _PA_RISC
extern float exp2f(float);
extern float exp10f(float);
extern float expm1f(float);
extern float log1pf(float);
extern float fmaf(float, float, float);
extern float acoshf(float);
extern float asinhf(float);
extern float atanhf(float);
extern float frexpf(float, int *);
extern float ldexpf(float, int);
extern float modff(float, float *);
extern float logbf(float);
extern float scalbnf(float, int);
extern float scalblnf(float, long);
extern int ilogbf(float);
extern float hypotf(float, float);
extern float erff(float);
extern float erfcf(float);
extern float gammaf(float);
extern float lgammaf(float);
extern float lgammaf_r(float, int *);
extern float tgammaf(float);
extern float ceilf(float);
extern float floorf(float);
extern float nearbyintf(float);
extern float rintf(float);
extern float roundf(float);
extern long lrintf(float);
extern long lroundf(float);
# if defined(__STDC_EXT__) || defined(_INCLUDE_LONGLONG)
extern long long llrintf(float);
extern long long llroundf(float);
# endif
extern float truncf(float);
extern float nanf(const char *);
extern float remainderf(float, float);
extern float remquof(float, float, int *);
extern float fdimf(float, float);
extern float fmaxf(float, float);
extern float fminf(float, float);
# endif /* !PA_RISC */
Basically, the problem is hpux 11 for hppa predates C99. I don't expect full
C99 support until the next release. I expect the situation is worse for
hpux 10.
A similar problem applies to libstdc++:
FAIL: 26_numerics/complex/13450.cc (test for excess errors)
Excess errors:
ld: Unsatisfied symbol "cabsf" in file /var/tmp//cc2Zbv4O.o
ld: Unsatisfied symbol "cabsl" in file /var/tmp//cc2Zbv4O.o
ld: Unsatisfied symbol "cargf" in file /var/tmp//cc2Zbv4O.o
ld: Unsatisfied symbol "cargl" in file /var/tmp//cc2Zbv4O.o
ld: Unsatisfied symbol "cexpf" in file /var/tmp//cc2Zbv4O.o
ld: Unsatisfied symbol "cexpl" in file /var/tmp//cc2Zbv4O.o
ld: Unsatisfied symbol "cabs" in file /var/tmp//cc2Zbv4O.o
ld: Unsatisfied symbol "carg" in file /var/tmp//cc2Zbv4O.o
ld: Unsatisfied symbol "cexp" in file /var/tmp//cc2Zbv4O.o
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15960