If I assign a long integer to a short integer gfortran should warn about
possible loss of precision, such as g95 does.
Thanks,
Jonathan.
Full test case:
[EMAIL PROTECTED] ~/bugs/gfortran-4.3/ls_prec $ gfortran-4.3 -Wall -pedantic
-o test
test.f90
[EMAIL PROTECTED] ~/bugs/gfortran-4.3/ls_prec $ ./test
lvar = 8589934592
svar = 0
lvar = 1073741824
svar = 1073741824
[EMAIL PROTECTED] ~/bugs/gfortran-4.3/ls_prec $ gfortran-4.3 -v
Using built-in specs.
Target: x86_64-unknown-linux-gnu
Configured with: ../configure --program-suffix=-4.3
Thread model: posix
gcc version 4.3.0 (GCC)
[EMAIL PROTECTED] ~/bugs/gfortran-4.3/ls_prec $ cat test.f90
program test
implicit none
integer, parameter :: short = kind(0)
integer, parameter :: long = selected_int_kind(18)
integer(short) :: svar
integer(long) :: lvar
lvar = 2_long**33
svar = lvar
print *, "lvar = ", lvar
print *, "svar = ", svar
lvar = 2_long**30
svar = lvar
print *, "lvar = ", lvar
print *, "svar = ", svar
end program
--
Summary: Should warn about precision loss on integer conversions
in fortran
Product: gcc
Version: 4.3.0
Status: UNCONFIRMED
Severity: enhancement
Priority: P3
Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: J dot Hogg at rl dot ac dot uk
GCC build triplet: x86_64-unknown-linux-gnu
GCC host triplet: x86_64-unknown-linux-gnu
GCC target triplet: x86_64-unknown-linux-gnu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35962