internal compiler error copy_initconst_to_array:

The following code generates an ICE for 18.4 & 18.10 community edition. The code works fine with gfortran and IFORT.

PGF90-S-0000-Internal compiler error. copy_initconst_to_array: unexpected const type 15 (pgi_param_bug.f90: 31)

program test

  integer, parameter :: x01 =  1 
  integer, parameter :: x02 =  2 
  integer, parameter :: x03 =  3 
  integer, parameter :: x04 =  4 
  integer, parameter :: x05 =  5 
  integer, parameter :: x06 =  6 
  integer, parameter :: x07 =  7 
  integer, parameter :: x08 =  8 
  integer, parameter :: x09 =  9 
  integer, parameter :: x10 = 10 
  integer, parameter :: x11 = 11 
  integer, parameter :: x12 = 12 
  integer, parameter :: x13 = 13 
  integer, parameter :: x14 = 14 

  integer, parameter :: max_dim = 10
  integer, parameter :: list1(max_dim) = &
       & reshape( (/ x01, x02, x03, x04 /), (/max_dim/),(/0/))
  
  integer, parameter :: list2(max_dim) = &
       & reshape( (/ x05, x02, x09, x10, x11,x12 /), (/max_dim/),(/0/))
  
  integer, parameter :: list3(max_dim) = &
       & reshape( (/ x03, x06, x07 /), (/max_dim/),(/0/))
  

  integer, parameter :: icnt = 5
  integer, parameter :: dual_list(icnt,max_dim) = &
       & reshape ((/ list1,&
       & list2,&
       & list3 &
       & /), (/icnt, max_dim/), (/0,0/), order=(/2,1/))

  print *, 'hello world'

end program test

pgf90 18.4-0 64-bit target on x86-64 Linux -tp nehalem
pgf90 18.10-1 64-bit target on x86-64 Linux -tp nehalem

% uname -a
Linux centos7 3.10.0-514.el7.x86_64 #1 SMP Tue Nov 22 16:42:41 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
[/code]

Thanks for the report MikeS!

I’ve reproduced the error here and have added a problem report (TPR#27020).

Best Regards,
Mat