This is the mail archive of the
fortran@gcc.gnu.org
mailing list for the GNU Fortran project.
Re: 4.1.0 configure problem re kind 10 for cygwin
- From: Tim Prince <tprince at myrealbox dot com>
- To: FX Coudert <fxcoudert at gmail dot com>
- Cc: tprince at computer dot org, fortran at gcc dot gnu dot org
- Date: Sun, 09 Oct 2005 15:56:03 -0700
- Subject: Re: 4.1.0 configure problem re kind 10 for cygwin
- References: <434966B4.2020008@myrealbox.com> <434980F7.8010805@gmail.com>
- Reply-to: tprince at computer dot org
FX Coudert wrote:
> Then, libgfortran attempts to build the
selected_real_kinds.f90 with kind 10 included, but fails.
We'd need the exact error message for that. As well as the kinds.h file.
After installing gcc-4.1, it is possible to build libgfortran without
optimization, without running into the kind 10 failure. kinds.h attached.
Apparently, when bootstrapping with an earlier version of gcc, that gcc
is used to build libgfortran. I was bootstrapping with 4.0.3.
Does testsuite still test the installed libgfortran, rather than the one
which has just been built?
but there is no C library support for it in Cygwin, and both the
libstdc++ and libgfortran configure scripts appear to figure that out OK.
You mean all the long double math functions are not available?
That's correct, the math library (newlib) used by Cygwin does not
support long double math, not even by substituting double functions.
Except that libstdc++ does call the double math functions in its long
double library.
Long double I/O is a relatively recent addition to newlib.
Is it convenient to set up the libfortran Makefile to build selected
files with or without optimization, in order to work around the ICE
failures of gcc-4.1?
typedef int8_t GFC_INTEGER_1;
typedef uint8_t GFC_UINTEGER_1;
typedef GFC_INTEGER_1 GFC_LOGICAL_1;
#define HAVE_GFC_LOGICAL_1
#define HAVE_GFC_INTEGER_1
typedef int16_t GFC_INTEGER_2;
typedef uint16_t GFC_UINTEGER_2;
typedef GFC_INTEGER_2 GFC_LOGICAL_2;
#define HAVE_GFC_LOGICAL_2
#define HAVE_GFC_INTEGER_2
typedef int32_t GFC_INTEGER_4;
typedef uint32_t GFC_UINTEGER_4;
typedef GFC_INTEGER_4 GFC_LOGICAL_4;
#define HAVE_GFC_LOGICAL_4
#define HAVE_GFC_INTEGER_4
typedef int64_t GFC_INTEGER_8;
typedef uint64_t GFC_UINTEGER_8;
typedef GFC_INTEGER_8 GFC_LOGICAL_8;
#define HAVE_GFC_LOGICAL_8
#define HAVE_GFC_INTEGER_8
#define GFC_INTEGER_LARGEST GFC_INTEGER_8
#define GFC_UINTEGER_LARGEST GFC_UINTEGER_8
typedef float GFC_REAL_4;
typedef complex float GFC_COMPLEX_4;
#define HAVE_GFC_REAL_4
#define HAVE_GFC_COMPLEX_4
typedef double GFC_REAL_8;
typedef complex double GFC_COMPLEX_8;
#define HAVE_GFC_REAL_8
#define HAVE_GFC_COMPLEX_8
typedef long double GFC_REAL_10;
typedef complex long double GFC_COMPLEX_10;
#define HAVE_GFC_REAL_10
#define HAVE_GFC_COMPLEX_10
#define GFC_REAL_LARGEST_FORMAT "L"
#define GFC_REAL_LARGEST long double