This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug fortran/57871] New: gfortran -freal-4-real-16 gives wrong result for selected_real_kind(1)
- From: "john.harper at vuw dot ac.nz" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Tue, 09 Jul 2013 23:38:40 +0000
- Subject: [Bug fortran/57871] New: gfortran -freal-4-real-16 gives wrong result for selected_real_kind(1)
- Auto-submitted: auto-generated
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57871
Bug ID: 57871
Summary: gfortran -freal-4-real-16 gives wrong result for
selected_real_kind(1)
Product: gcc
Version: 4.8.1
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: fortran
Assignee: unassigned at gcc dot gnu.org
Reporter: john.harper at vuw dot ac.nz
gfortran 4.8.1 -freal-4-real-16 gives real(16) kind with selected_real_kind(1)
but it ought to give real(8) because that is the smallest decimal precision
available with that compiler option. Same problem with -freal-4-real-10 giving
real(10) instead of real(8). Evidence:
cayley[~/Jfh] % cat testprecision.f90
implicit none
integer,parameter:: p1 = selected_real_kind(1), dp = kind(1d0)
print *,'kind(1.0_p1)',kind(1.0_p1),'precision(1.0_p1)',precision(1.0_p1)
print *,'kind(1.0_dp)',kind(1.0_dp),'precision(1.0_dp)',precision(1.0_dp)
end
cayley[~/Jfh] % /local/scratch/gf/bin/gfortran -freal-4-real-16 -Wall -Wextra
-fno-strict-aliasing -fwrapv testprecision.f90
cayley[~/Jfh] % ./a.out
kind(1.0_p1) 16 precision(1.0_p1) 33
kind(1.0_dp) 8 precision(1.0_dp) 15
cayley[~/Jfh] % /local/scratch/gf/bin/gfortran -freal-4-real-10 -Wall -Wextra
-fno-strict-aliasing -fwrapv testprecision.f90
cayley[~/Jfh] % ./a.out
kind(1.0_p1) 10 precision(1.0_p1) 18
kind(1.0_dp) 8 precision(1.0_dp) 15
cayley[~/Jfh] % /local/scratch/gf/bin/gfortran -v
Using built-in specs.
COLLECT_GCC=/local/scratch/gf/bin/gfortran
COLLECT_LTO_WRAPPER=/local/scratch/gf/libexec/gcc/x86_64-unknown-linux-gnu/4.8.1/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: /local/scratch/gcc-4.8-20130530/configure
--prefix=/local/scratch/gf --enable-languages=c,fortran --disable-libada
--with-local-prefix=/local/scratch --with-gmp=/local/scratch
Thread model: posix
gcc version 4.8.1 20130530 (prerelease) (GCC)
cayley[~/Jfh] %