https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79417

            Bug ID: 79417
           Summary: -Wconversion warns wrongly of real(16) to real(8)
           Product: gcc
           Version: 6.1.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
          Assignee: unassigned at gcc dot gnu.org
          Reporter: john.harper at vuw dot ac.nz
  Target Milestone: ---

If array parameters are declared with both quad and double precision, the quad
one triggers a -Wconversion warning but the program's output shows that the
conversion did not happen. (The warning does not occur with a scalar quad
parameter, nor if the double precision ones are commented out.)  


cayley[~/Jfh] % cat realtest2.f90
program tryit
  implicit none
  integer,parameter:: qp = selected_real_kind(30), dp = kind(1d0)
  real(qp),parameter:: q1 = 1, q23(1) = 2*q1/3
  real(dp),parameter:: d1 = 1, d23(1) = real(q23,dp)
  print "(F42.36)",q23
  print "(F24.18)",d23
end program tryit
cayley[~/Jfh] % gfortran -Wconversion realtest2.f90
realtest2.f90:4:39:

   real(qp),parameter:: q1 = 1, q23(1) = 2*q1/3
                                       1
Warning: Change of value in conversion from ‘REAL(16)’ to ‘REAL(8)’ at (1)
[-Wconversion]
cayley[~/Jfh] % ./a.out
    0.666666666666666666666666666666666635
    0.666666666666666630
cayley[~/Jfh] % cayley[~/Jfh] % gfortran -v
Using built-in specs.
COLLECT_GCC=gfortran
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-pc-linux-gnu/6.1.1/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: /build/gcc/src/gcc/configure --prefix=/usr --libdir=/usr/lib
--libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info
--with-bugurl=https://bugs.archlinux.org/
--enable-languages=c,c++,ada,fortran,go,lto,objc,obj-c++ --enable-shared
--enable-threads=posix --enable-libmpx --with-system-zlib --with-isl
--enable-__cxa_atexit --disable-libunwind-exceptions --enable-clocale=gnu
--disable-libstdcxx-pch --disable-libssp --enable-gnu-unique-object
--enable-linker-build-id --enable-lto --enable-plugin
--enable-install-libiberty --with-linker-hash-style=gnu
--enable-gnu-indirect-function --disable-multilib --disable-werror
--enable-checking=release
Thread model: posix
gcc version 6.1.1 20160602 (GCC) 
cayley[~/Jfh] %

Reply via email to