Illegal implied DO expression

Standalone example derived from the ICON model.

MODULE mo_psrad_srtm_driver

INTEGER, PARAMETER :: wp = SELECTED_REAL_KIND(12,307) !< double precision

INTEGER, PARAMETER :: jpb1 = 3
INTEGER, PARAMETER :: jpb2 = 16
INTEGER, PARAMETER :: nbndsw = 14
REAL(wp), PARAMETER :: wavenum2(jpb1:jpb2) = (/ &
3250._wp, 4000._wp, 4650._wp, 5150._wp, 6150._wp, 7700._wp, 8050._wp, &
12850._wp,16000._wp,22650._wp,29000._wp,38000._wp,50000._wp, 2600._wp/)
REAL(wp), PARAMETER :: delwave(jpb1:jpb2) = (/ &
650._wp, 750._wp, 650._wp, 500._wp, 1000._wp, 1550._wp, 350._wp, &
4800._wp, 3150._wp, 6650._wp, 6350._wp, 9000._wp,12000._wp, 1780._wp/)
REAL (wp), PARAMETER :: nir_vis_boundary = 14500._wp
INTEGER :: i
REAL (wp), PARAMETER :: frc_par_array(nbndsw) = &
(/ (0.0_wp, i = 1, 8), 0.533725_wp, 1.0_wp, 0.550164_wp, (0.0_wp, i = 12, nbndsw) /)
REAL (wp), PARAMETER :: frc_vis_tmp1(jpb1:jpb2) = (/ ((wavenum2(i)), i = jpb1, jpb2) /) ! WORKS
REAL (wp), PARAMETER :: frc_vis_tmp2(jpb1:jpb2) = (/ ((wavenum2(i)-nir_vis_boundary), i = jpb1, jpb2) /) ! FAILS with PGI 15.3.0 and 15.9.0

END MODULE mo_psrad_srtm_driver

10:47:14 wsawyer@daint03:/scratch/daint/wsawyer/DAINT/PGI/refactoring_2016_01 $ ftn -O -g -gopt -Mbounds -Mchkptr -Mchkstk -Mdclchk -Mpreprocess -Mrecursive -Mallocatable=03 -D__LOOP_EXCHANGE -D__ICON__ -D__NO_ICON_TESTBED__ -c junk.f90
PGF90-S-0069-Illegal implied DO expression (junk.f90: 19)
PGF90-S-0069-Illegal implied DO expression (junk.f90: 19)
PGF90-S-0069-Illegal implied DO expression (junk.f90: 19)
PGF90-S-0069-Illegal implied DO expression (junk.f90: 19)
PGF90-S-0069-Illegal implied DO expression (junk.f90: 19)
PGF90-S-0069-Illegal implied DO expression (junk.f90: 19)
PGF90-S-0069-Illegal implied DO expression (junk.f90: 19)
PGF90-S-0069-Illegal implied DO expression (junk.f90: 19)
PGF90-S-0069-Illegal implied DO expression (junk.f90: 19)
PGF90-S-0069-Illegal implied DO expression (junk.f90: 19)
PGF90-S-0069-Illegal implied DO expression (junk.f90: 19)
PGF90-S-0069-Illegal implied DO expression (junk.f90: 19)
PGF90-S-0069-Illegal implied DO expression (junk.f90: 19)
PGF90-S-0069-Illegal implied DO expression (junk.f90: 19)
0 inform, 0 warnings, 14 severes, 0 fatal for mo_psrad_srtm_driver

This code compiles fine with CCE, Intel and GNU.

Thanks, --Will

Hi Will,

Thanks for the report. I was able to reproduce the error and have added a problem report (TPR#22252) and sent in on to engineering for further investigation.

Best Regards,
Mat