------- Comment #3 from dominiq at lps dot ens dot fr  2009-02-28 11:38 -------
> Define an effective-target keyword xxx via check_effective_target_xxx in
> gcc/testsuite/lib/target-supports.exp.

The only test I see is check_effective_target_fortran_large_real and it does
not distinguishes between real(10) and real(16):

# Return 1 if the target supports Fortran real kinds larger than real(8),
# 0 otherwise.
#
# When the target name changes, replace the cached result.

proc check_effective_target_fortran_large_real { } {
    return [check_no_compiler_messages fortran_large_real executable {
        ! Fortran
        integer,parameter :: k = selected_real_kind (precision (0.0_8) + 1)
        real(kind=k) :: x
        x = cos (x)
        end
    }]
}

Using precision(x) in similar tests could be used for
check_effective_target_fortran_real_10 and
check_effective_target_fortran_real_16: precision(x)==18 for real(10) and is
larger than 30 for real(16) (31 on powerpc-apple-darwin9, 33 with ifort).


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37578

Reply via email to