missing(?) intrinsics for real(10)

Dominique Dhumieres dominiq@lps.ens.fr
Mon Mar 20 08:00:00 GMT 2006


> There isn't an INTEGER(10), so _gfortran_transpose_i10 doesn't
> make sense. ...

May be! But nevertheless I get:

[scala] lin/source> gfc -O3 induct_10.f90
/tmp/ccFhMjK3.o(.text+0x129f9): In function `__m_quad_m__quad_mutual_inductance':
: undefined reference to `_gfortran_transpose_i10'
/tmp/ccFhMjK3.o(.text+0x12c4b): In function `__m_quad_m__quad_mutual_inductance':
: undefined reference to `_gfortran_transpose_i10'
/tmp/ccFhMjK3.o(.text+0x134be): In function `__m_quad_m__quad_mutual_inductance':
: undefined reference to `_gfortran_transpose_i10'
/tmp/ccFhMjK3.o(.text+0x13710): In function `__m_quad_m__quad_mutual_inductance':
: undefined reference to `_gfortran_transpose_i10'
/tmp/ccFhMjK3.o(.text+0x13eb2): In function `__m_quad_m__quad_mutual_inductance':
: undefined reference to `_gfortran_transpose_i10'
/tmp/ccFhMjK3.o(.text+0x147f0): more undefined references to `_gfortran_transpose_i10' follow
collect2: ld returned 1 exit status

where induct_10.f90 is induct.f90 I have replaced all the occurences of

(1)

integer, parameter, private :: longreal = selected_real_kind(15,90)

by

integer, parameter, private :: longreal = selected_real_kind(18,90)

(2)

      integer, parameter :: LONGreal = selected_real_kind(15,90)

by

      integer, parameter :: LONGreal = selected_real_kind(18,90)

(3)

      real (kind = longreal), parameter :: pi = 3.141592653589793_longreal

by

      real (kind = longreal), parameter :: pi = 3.141592653589793238463_longreal

and (4)

real (kind = longreal), parameter, private :: pi = 3.141592653589793_longreal

by

real (kind = longreal), parameter, private :: pi = 3.141592653589793238463_longreal

> IMHO, -fdefault-{integer,real}-* are a HUGE mistake.

I don't agree; I think it's very convenient for testing the
effects of the different kind's even if some care must be
taken to avoid side effects.

Cheers

Dominique



More information about the Fortran mailing list