This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]