https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98022
--- Comment #8 from Paul Thomas <pault at gcc dot gnu.org> --- The example that you give shows that setting the undefined part to zero certainly is not correct. I updated my tree for the commit and am only just now rebuilding. It'll be tomorrow before I put this right. I guess that this is in the category of invalid but not forbidden. It's in the same category as: complex :: a, b a%im = 1.0 b = a print *, a, b end Thanks Paul