Hi,
I try to compile this code :
type mytype(klon,klev)
integer, len :: klon=1, klev=1
real a(klon,klev)
end type
integer :: kklon, kklev
character*32 :: clarg
call getarg (1, clarg); read (clarg, *) kklon
call getarg (2, clarg); read (clarg, *) kklev
call toto (kklon, kklev)
contains
subroutine toto (kklon, kklev)
integer :: kklon, kklev
type (mytype (kklon, kklev)) :: x
print '("Component of x has size ", I0)', SIZE(x%a)
end subroutine
end
But I get :
[CNC tmp]$ pgf90 --version
pgf90 (aka nvfortran) 21.5-0 LLVM 64-bit target on x86-64 Linux -tp zen
PGI Compilers and Tools
Copyright (c) 2021, NVIDIA CORPORATION. All rights reserved.
[CNC tmp]$ pgf90 -o ss.x ss.F90
NVFORTRAN-F-0000-Internal compiler error. mk_mem_ptr_shape: lwb not subs 11 (ss.F90: 25)
NVFORTRAN/x86-64 Linux 21.5-0: compilation aborted
Are parameterized types supported by pgf90/nvfortran ?
Regards,
Philippe