Illegal implied DO expression: Compiler Bug?

Consider the following code:
module test
implicit none

integer, parameter :: nbands = 16

integer :: i

real, dimension(nbands), parameter :: &
wavenum1 = (/ 10,250,500,630,700,820,980,1080,1180,1390,1480,1800,2080,2250,2380,2600 /)
real, dimension(nbands), parameter :: wavenum2 = (/ (wavenum1(i), i = 2, nbands), 3000. /) ! Illegal?
real, dimension(nbands), parameter :: delwave = wavenum2 - wavenum1
end module test

program testp
use test

print *, wavenum1
print *, wavenum2
print *, delwave
end program testp


The line marked “illegal” produces numerous errors stating:
PGF90-S-0069-Illegal implied DO expression (test.f90: 10)

However, no errors are produced when I run this through the source check at Lahey - Fortran Source Check . Is this a compiler bug?

I am using pgf90 6.2-3 64-bit target on x86-64 Linux.

This is a bug and logged as TPR 4234.