ofuhrer
Joined: 18 Feb 2008 Posts: 16
|
Posted: Fri Feb 13, 2009 2:47 am Post subject: Lowering Error: bad datatype 0 |
|
|
Hi all,
I'm getting a strange error when trying to compile a code with rather strong optimization options..
| Code: |
/opt/xt-pe/1.5.47/bin/snos64/ftn: INFO: catamount target is being used
ftn -c -I. -I/nfs/xt3-homes/users/olifu/src/int2lm_1.7.2/src -I/opt/xt-mpt/default/mpich2-
64/P2/include -D__MPICH2 -I/apps/netcdf/include -Kieee -Mbyteswapio -Mfree -Mpreprocess -
Mcache_align -Mflushz -Mlre -Mprefetch -Mpreprocess -Mscalarsse -Mvect=noassoc -Mvect=sse -
O3 -o src_gribtabs.o /nfs/xt3-homes/users/olifu/src/int2lm_1.7.2/src/src_gribtabs.f90
/opt/xt-pe/1.5.47/bin/snos64/ftn: INFO: catamount target is being used
Lowering Error: bad datatype 0
Lowering Error: bad datatype 0
Lowering Error: bad datatype 0
Lowering Error: bad datatype 0
Lowering Error: bad datatype 0
Lowering Error: bad datatype 0
Lowering Error: bad datatype 0
Lowering Error: bad datatype 0
Lowering Error: bad datatype 0
Lowering Error: bad datatype 0
Lowering Error: bad datatype 0
Lowering Error: bad datatype 0
Lowering Error: bad datatype 0
Lowering Error: bad datatype 0
Lowering Error: bad datatype 0
PGF90-F-0000-Internal compiler error. Errors in Lowering 15 (/nfs/xt3-homes/users/olif
u/src/int2lm_1.7.2/src/src_gribtabs.f90: 353)
PGF90/x86-64 Linux 7.2-4: compilation aborted
|
The error only occurs, if optimization options are used. If I use a set of options for debugging, the code compiles without problems. It occurrs both with pgi/7.2.4 and pgi/8.0.2. The line of error is the last line of the following...
| Code: |
ALLOCATE(var_lm(nvar_lm), STAT=istat)
IF(istat /= 0) THEN
print *, 'Memory status: ', istat
ierror = 5
yerror = ' Cannot allocate variable table for fine grid LM'
ENDIF
! the entries of the following structure are:
! name, nr. of grib table, leveltype, element-numer, top-level, bottom-level,
! factor, bias, rang of variable, pointer connection to actual field
! units, standard_name, long_name
var_lm( :)= ar_des_lm(' ', 0, 0, 0, 0, 0, 0.0, 0.0, 0,dum3,dum2, &
' ',' ',' ',' ')
|
where nvar_lm=70 and ar_des_lm is a structure that has been previously declared as...
| Code: |
! Type for LM variable table
TYPE ar_des_lm
CHARACTER (LEN=10) :: name ! name of variable
INTEGER(KIND=intgribf) :: tabtyp ! grib table number
INTEGER(KIND=intgribf) :: levtyp ! code for leveltype
INTEGER(KIND=intgribf) :: ee ! element code
INTEGER(KIND=intgribf) :: levtop ! top of layer
INTEGER(KIND=intgribf) :: levbot ! bottom of layer
REAL(KIND=ireals) :: factor ! factor
REAL(KIND=ireals) :: bias ! bias
INTEGER(KIND=intgribf) :: rank ! number of dimensions
REAL(KIND=ireals), POINTER :: p3(:,:,:) ! pointer for rank3 var
REAL(KIND=ireals), POINTER :: p2(:,:) ! pointer for rank2 var
CHARACTER (LEN=20) :: units ! unit of variable
CHARACTER (LEN=80) :: standard_name ! standard name of variable
CHARACTER (LEN=80) :: long_name ! description of variable
CHARACTER (LEN=1) :: lsm ! land/sea mask flag
END TYPE ar_des_lm
|
Any ideas why the compiler is crashing on this?
Thanks for your help,
Oliver |
|
mkcolg
Joined: 30 Jun 2004 Posts: 5001 Location: The Portland Group Inc.
|
Posted: Fri Feb 13, 2009 11:18 am Post subject: |
|
|
Hi Oliver,
A "Lowering Error" is a generic error where some type of mismatch or unexpected behavior occurs when the front end compiler is translating a higher level representation into the lower level representation that it will pass to the back end compiler. Can you please send me or trs@pgroup.com the src_gribtabs.f90 file and any modules it requires?
Thanks,
Mat |
|