https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109641
anlauf at gcc dot gnu.org changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |accepts-invalid --- Comment #2 from anlauf at gcc dot gnu.org --- Replacing the first argument of FUNCTION MULTc4(v,m) REAL, INTENT(IN) :: v(:) by complex, INTENT(IN) :: v(:) makes the code compile, but should not. And the fortran-dump appears to explain why: we prematurely convert the first argument in the expression r=v*m from real to complex, so we resolve to the wrong specific. This also explains why real*real does not exhibit this problem.