NVFORTRAN-F-0000-Internal compiler error. module:new_dtype, dt nfd

Hi,

The code below gives an internal compiler error when compiled with nvfortran 24.3-0 64-bit target on x86-64 Linux -tp haswell .

Error message: NVFORTRAN-F-0000-Internal compiler error. module:new_dtype, dt nfd

module m1
    character(*), dimension(*), parameter :: list = [character(4) :: "test"]
    ! character(*), dimension(1), parameter :: list = [character(4) :: "test"] ! ok
end module

module m2
    use m1
end module

program test
    use m2
end program

Hi AliG,

It looks like this is a known issue (TPR #34694 "Using implied-shape parameter arrays with nested modules give ICE “module:new_dtype, dt nfd”) that should be fixed in our upcoming 24.5 release. The caveat being that while rare, the fix could expose other issues so may be backed out before the final release. In other words, t’s likely the fix will be there, I just can’t guarantee it.

% nvfortran -c test.F90 -V24.3
NVFORTRAN-F-0000-Internal compiler error. module:new_dtype, dt nfd      63  (test.F90: 12)
NVFORTRAN/x86-64 Linux 24.3-0: compilation aborted
% nvfortran -c test.F90 -V24.5
%

-Mat

1 Like

Thanks, Mat. I think this issue has been resolved in 24.5. Could you please confirm this?

Hi AliG - it appears that this issue did indeed have a fix put in for 24.5 and initial testing on my end highlights that it appears to function as expected! If you have any issues, please let us know!

1 Like