gfortran46: Error: Type of argument 'z' in call to 'dimag' at (1) should be COMPLEX(16), not COMPLEX(8)
Steve Kargl
sgk at troutmask.apl.washington.edu
Wed Jul 10 23:27:46 UTC 2013
On Thu, Jul 11, 2013 at 12:15:28AM +0100, Anton Shterenlikht wrote:
> These errors are from french/aster on amd64.
> I think I need to rebuld lang/gcc after the
> recent updates to binutils, but anyway,
> which command line options to gfortran46
> would lead to this error?
>
> These routines are GNU extensions specifically for complex(8),
> e.g.: http://gcc.gnu.org/onlinedocs/gcc-4.6.4/gfortran/AIMAG.html#AIMAG
>
> Messages de compilation
> =======================
> /usr/ports/french/aster/work/aster-full-src-10.8.0/instdir/STA10.8/bibfor/algeline/dcargu.f:34.18:
>
> IF (DIMAG(C).GT.0.D0) THEN
> 1
> Error: Type of argument 'z' in call to 'dimag' at (1) should
> be COMPLEX(16), not COMPLEX(8)
Need to see the declaration for C. My guess is that it is declared
as 'complex c' or 'complex*8 c'. In either case, this is the single
precision complex type. The program is using the specific intrinsic
function dimag, which expects a double precision complex argument.
The correct fixes are to properly declare the variables via Fortran's
kind type parameter and to use generic intrinsic functions.
--
Steve
More information about the freebsd-fortran
mailing list