gfortran46: Error: Type of argument 'z' in call to 'dimag' at (1) should be COMPLEX(16), not COMPLEX(8)

Anton Shterenlikht mexas at bris.ac.uk
Thu Jul 11 17:39:52 UTC 2013


>From sgk at troutmask.apl.washington.edu Thu Jul 11 18:32:18 2013
>On Thu, Jul 11, 2013 at 09:09:22AM +0100, Anton Shterenlikht wrote:
>> 	From sgk at troutmask.apl.washington.edu Thu Jul 11 02:17:08 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.
>
>Please fix the quoting mechanism of your email client to
>NOT use tab characters.  It leads to alot of wasted screen
>real estate.

as you wish...
I use mail(1). I wonder why its developers
thought that tab is a good default.

>
>>$ cat dcargu.f
>>       FUNCTION DCARGU(C)
>>       IMPLICIT REAL*8 (A-H,O-Z)
>>       REAL*8     DCARGU
>>       COMPLEX*16 C
>
>>         IF (DIMAG(C).GT.0.D0) THEN
>
>I suspect you are being hit by -fdefault-real-8 or
>similar option.  If this is the case, you may want
>to ask the ASTER developers if they know what that
>option actually does.

That's what I thought. I'll find exactly what options they use.

Thanks

Anton



More information about the freebsd-fortran mailing list