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

--- Comment #4 from janus at gcc dot gnu.org ---
Luckily, it seems that the generated code is correct after all and the
imaginary part is in fact *not* discarded, as shown by this small test:

complex, parameter :: i = (0.,1.)
print *,i
print *,(i)
end

This triggers the same warnings as comment 0 and prints:

             (0.00000000,1.00000000)
             (0.00000000,1.00000000)

i.e. both expressions, with or without parentheses, yield the same result, as
expected. Thus it's only a diagnostics problem, not wrong code.

Reply via email to