[Bug fortran/78221] New: [6 Regression] bogus warning: Non-zero imaginary part discarded in conversion [-Wconversion]
janus at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Sat Nov 5 19:44:00 GMT 2016
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78221
Bug ID: 78221
Summary: [6 Regression] bogus warning: Non-zero imaginary part
discarded in conversion [-Wconversion]
Product: gcc
Version: 6.2.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: fortran
Assignee: unassigned at gcc dot gnu.org
Reporter: janus at gcc dot gnu.org
Target Milestone: ---
Consider this piece of code:
complex, parameter :: i = (0.,1.)
complex :: t
t = (i)
end
Compiling with gfortran 6.2 (using -Wall) yields:
complex, parameter :: i = (0.,1.)
1
Warning: Non-zero imaginary part discarded in conversion from ‘COMPLEX(4)’ to
‘REAL(4)’ at (1) [-Wconversion]
Two things are weird about this:
1) We only deal with complex quantities here and I don't see why a conversion
should happen at all.
2) The locus is wrong, pointing to the declaration of 'i' instead of the
assignment 't=(i)' that apparently triggers the warning.
The warning does not appear with gfortran 5.4, thus it's a regression.
More information about the Gcc-bugs
mailing list