[Wien] Error compile information in Linux 9.0 system
Tobias Burnus
burnus at net-b.de
Mon Nov 6 18:43:44 CET 2006
Hi,
Laurence Marks wrote:
> This does not matter, and I also don't understand why you are getting
> an error -- maybe you have a version which does not have the standard
> amax1 intrinsic.
>
I think this is not the problem. (Any Fortran 90/95/2003 compiler should
have AMAX1() and MAX()). The problem is that AMAX1 is wrongly used: The
standard requires that the arguments of AMAX1 are both default reals.
However, T and ANORMI are both implicitly REAL*8.
Thus for systems where there default real is REAL*4 (i.e. most systems),
using AMAX1 is simply wrong and invalid Fortran.
In this case anything may happen. Most compilers probably silently use
the REAL*8 version of MAX, others may simply convert the arguments to
REAL*4 (precisionloss) and yet other compilers will simply bail out
with an error.
I therefore agree with Xiang Hongjun that one should change AMAX1 to MAX
(or, if one really wants, to "DMAX1").
(Some tests suggest: gfortran, g95, ifort 9.1, sunf95 use the real*8
version of MAX; whereas gfortran -std=f95 and NAG f95 give an error.
ifort and sunf95 issue a warning.)
> On 11/6/06, Hongjun Xiang <xhongjun at mail.ustc.edu.cn> wrote:
>
>> Line 74 of matcon.f (in directory SRC_pairhess)should be changed from
>> ANORMI = AMAX1(ANORMI,T)
>> to
>> ANORMI = MAX(ANORMI,T)
>>
This change looks good to me.
>>> I compile wien2k_06 in Linux 9.0 system, I use Intel compiler70+mkl72.
>>>
Remark:
"Linux 9.0" does not exists, it exists "Red Hat Linux 9.0", "SUSE Linux
9.0", "Debian Linux 3.0" etc.
Tobias
More information about the Wien
mailing list