For complex*16 Z real*8 a, b a = real (Z) b = imag (Z) g77 -Wall only complains about real should be "dreal" (okay, it says it is ambiguous and point you to "info -f g77 complex" or something like that), but it doesn't moan about imag should be "dimag". Surely that should be implemented for uniform behaviour?