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