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

--- Comment #5 from Adelson Oliveira <adelson.oliveira at gmail dot com> ---
(In reply to anlauf from comment #2)
> 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.

Interesting! But I wonder why simply changing the intrinsic operator (*) to
something different, say (.MULT.) there is no error at all no matter one uses
complex or real.

Reply via email to