This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [gfortran,patch] fix
- From: Steve Ellcey <sje at cup dot hp dot com>
- To: fxcoudert at gmail dot com
- Cc: fortran at gcc dot gnu dot org, gcc-patches at gcc dot gnu dot org
- Date: Tue, 30 Aug 2005 16:48:34 -0700 (PDT)
- Subject: Re: [gfortran,patch] fix
> > And Steve (Ellcey), could you test it? (that is, build libgfortran with
> > this patch on ia64-hpux and send me (or the list) the generated kinds.h
> > file?
Attached is the kinds.h file that was generated on IA64 HP-UX. It
doesn't look quite right in that both GFC_REAL_10 and GFC_REAL_16 are
both set to __float80 when GFC_REAL_16 should be __float128 and/or 'long
double' (they are the same on IA64 HP-UX). This may be a consequence of
__float80 being padded out to 16 bytes on IA64 (both Linux and HP-UX)
even though only 10 bytes are used for the value.
Steve Ellcey
sje@cup.hp.com
---------- kinds.h ----------------------
typedef int8_t GFC_INTEGER_1;
typedef uint8_t GFC_UINTEGER_1;
typedef GFC_INTEGER_1 GFC_LOGICAL_1;
#define HAVE_GFC_INTEGER_1
#define HAVE_GFC_UINTEGER_1
#define HAVE_GFC_LOGICAl_1
typedef int16_t GFC_INTEGER_2;
typedef uint16_t GFC_UINTEGER_2;
typedef GFC_INTEGER_2 GFC_LOGICAL_2;
#define HAVE_GFC_INTEGER_2
#define HAVE_GFC_UINTEGER_2
#define HAVE_GFC_LOGICAl_2
typedef int32_t GFC_INTEGER_4;
typedef uint32_t GFC_UINTEGER_4;
typedef GFC_INTEGER_4 GFC_LOGICAL_4;
#define HAVE_GFC_INTEGER_4
#define HAVE_GFC_UINTEGER_4
#define HAVE_GFC_LOGICAl_4
typedef int64_t GFC_INTEGER_8;
typedef uint64_t GFC_UINTEGER_8;
typedef GFC_INTEGER_8 GFC_LOGICAL_8;
#define HAVE_GFC_INTEGER_8
#define HAVE_GFC_UINTEGER_8
#define HAVE_GFC_LOGICAl_8
typedef __int128_t GFC_INTEGER_16;
typedef __uint128_t GFC_UINTEGER_16;
typedef GFC_INTEGER_16 GFC_LOGICAL_16;
#define HAVE_GFC_INTEGER_16
#define HAVE_GFC_UINTEGER_16
#define HAVE_GFC_LOGICAl_16
#define GFC_INTEGER_LARGEST GFC_INTEGER_16
#define GFC_UINTEGER_LARGEST GFC_UINTEGER_16
#define GFC_LOGICAL_LARGEST GFC_LOGICAL_16
typedef float GFC_REAL_4;
typedef complex float GFC_COMPLEX_4;
#define HAVE_GFC_REAL_4
#define HAVE_GFC_COMPLEX_4
#define GFC_MATH_SUFFIX_4 f
typedef double GFC_REAL_8;
typedef complex double GFC_COMPLEX_8;
#define HAVE_GFC_REAL_8
#define HAVE_GFC_COMPLEX_8
#define GFC_MATH_SUFFIX_8
typedef __float80 GFC_REAL_10;
typedef complex __float80 GFC_COMPLEX_10;
#define HAVE_GFC_REAL_10
#define HAVE_GFC_COMPLEX_10
#define GFC_MATH_SUFFIX_10 w
typedef __float80 GFC_REAL_16;
typedef complex __float80 GFC_COMPLEX_16;
#define HAVE_GFC_REAL_16
#define HAVE_GFC_COMPLEX_16
#define GFC_MATH_SUFFIX_16 w
#define GFC_REAL_LARGEST_FORMAT "hL"
#define GFC_REAL_LARGEST __float80