Patch for IA64 HP-UX Fortran build failure

Steve Ellcey sje@cup.hp.com
Thu Jul 14 20:52:00 GMT 2005


The recent addition of __fpreg (RFmode) to IA64 caused the HP-UX port to
have 5 types of floating point values.  float, double, __float80,
__fpreg, and long double (aka __float128).  This went over the
MAX_REAL_KINDS limit in fortran/trans-types.c and caused libgfortran not
to build.  This patch just increases the maximum number of floating
point types from 4 to 5.  Linux was still building because it doesn't
have (full) support for __float128 and so only had 4 floating point
types.

Tested on IA64 HP-UX.  Ok to check in?

Steve Ellcey
sje@cup.hp.com


2005-07-14  Steve Ellcey  <sje@cup.hp.com>

	* trans-types.c (MAX_REAL_KINDS): Increase from 4 to 5.
*** gcc.orig/gcc/fortran/trans-types.c	Thu Jul 14 13:42:43 2005
--- gcc/gcc/fortran/trans-types.c	Thu Jul 14 13:43:00 2005


*************** gfc_logical_info gfc_logical_kinds[MAX_I
*** 70,76 ****
  static GTY(()) tree gfc_integer_types[MAX_INT_KINDS + 1];
  static GTY(()) tree gfc_logical_types[MAX_INT_KINDS + 1];
  
! #define MAX_REAL_KINDS 4
  gfc_real_info gfc_real_kinds[MAX_REAL_KINDS + 1];
  static GTY(()) tree gfc_real_types[MAX_REAL_KINDS + 1];
  static GTY(()) tree gfc_complex_types[MAX_REAL_KINDS + 1];
--- 70,76 ----
  static GTY(()) tree gfc_integer_types[MAX_INT_KINDS + 1];
  static GTY(()) tree gfc_logical_types[MAX_INT_KINDS + 1];
  
! #define MAX_REAL_KINDS 5
  gfc_real_info gfc_real_kinds[MAX_REAL_KINDS + 1];
  static GTY(()) tree gfc_real_types[MAX_REAL_KINDS + 1];
  static GTY(()) tree gfc_complex_types[MAX_REAL_KINDS + 1];



More information about the Fortran mailing list