[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