On Tue, Nov 08, 2011 at 07:35:40PM +0100, Dominique Dhumieres wrote:
> I have a few questions:
> 
> (1) Is sqrtl the only missing Fortran intrinsic?
> (2) Is there a list of missing intrinsics and platforms?

This is definitely platform dependent.  For amd64-*freebsd, 

troutmask:sgk[210] gmake check-gfortran RUNTESTFLAGS=dg.exp=large\*

FAIL: gfortran.dg/large_real_kind_2.F90  -O0  (test for excess errors)
FAIL: gfortran.dg/large_real_kind_2.F90  -O1  (test for excess errors)
FAIL: gfortran.dg/large_real_kind_2.F90  -O2  (test for excess errors)
FAIL: gfortran.dg/large_real_kind_2.F90  -O3 -fomit-frame-pointer  (test for 
excess errors)
FAIL: gfortran.dg/large_real_kind_2.F90  -O3 -fomit-frame-pointer 
-funroll-loops  (test for excess errors)
FAIL: gfortran.dg/large_real_kind_2.F90  -O3 -fomit-frame-pointer 
-funroll-all-loops -finline-functions  (test for excess errors)
FAIL: gfortran.dg/large_real_kind_2.F90  -O3 -g  (test for excess errors)
FAIL: gfortran.dg/large_real_kind_2.F90  -Os  (test for excess errors)
FAIL: gfortran.dg/large_real_kind_3.F90  -O0  (test for excess errors)

Looking at the first failure one finds in gfortran.log

large_real_kind_2.F90:(.text+0x1cf): undefined reference to `coshl'
large_real_kind_2.F90:(.text+0x254): undefined reference to `sinhl'
large_real_kind_2.F90:(.text+0x2d9): undefined reference to `tanhl'
large_real_kind_2.F90:(.text+0x4ed): undefined reference to `acoshl'
large_real_kind_2.F90:(.text+0x572): undefined reference to `asinhl'
large_real_kind_2.F90:(.text+0x5f7): undefined reference to `atanhl'
large_real_kind_2.F90:(.text+0x926): undefined reference to `ccosl'
large_real_kind_2.F90:(.text+0xc5f): undefined reference to `csinl'
large_real_kind_2.F90:(.text+0xf98): undefined reference to `cexpl'
large_real_kind_2.F90:(.text+0x1a26): undefined reference to `cpowl'
large_real_kind_2.F90:(.text+0x1eb5): undefined reference to `cpowl'
large_real_kind_2.F90:(.text+0x2344): undefined reference to `cpowl'
large_real_kind_2.F90:(.text+0x27c9): undefined reference to `cpowl'
large_real_kind_2.F90:(.text+0x2c58): undefined reference to `cpowl'

and

large_real_kind_3.F90:(.text+0x34): undefined reference to `erfl'
large_real_kind_3.F90:(.text+0xad): undefined reference to `erfcl'

In you actually look in large*_[23].F90, you'll see that I XFAIL'd
these a long time ago.

Also, there are even stranger results on some platforms such as
AIX.

> (3) Does it make any sense to support REAL(10) if sqrtl 
> is missing?

Sure.  Does every program that uses real(10) call sqrtl?


-- 
Steve

Reply via email to