ICE with initialization expression containing **

I don’t think it is illegal to use exponentiation in this context when everything is an integer, but PGF disagrees. I haven’t had a chance to see if it works with the latest version.

% cat badac.f90
module a
  implicit none

  integer :: ii
  integer, parameter :: m = 1000, n = 3
  integer, parameter :: p(n) = [ (m/(10**(ii-1)), ii = n, 1, -1) ]
end module a

% pgf95 -c badac.f90
PGF90-S-0069-Illegal implied DO expression (badac.f90: 6)
PGF90-S-0069-Illegal implied DO expression (badac.f90: 6)
PGF90-S-0069-Illegal implied DO expression (badac.f90: 6)
PGF90-S-0000-Internal compiler error. get_ac_op: unexpected operator in initialization expr       5 (badac.f90: 6)
  0 inform,   0 warnings,   4 severes, 0 fatal for a

% pgf95 -V
pgf95 8.0-5 64-bit target on x86-64 Linux -tp core2-64
Copyright 1989-2000, The Portland Group, Inc.  All Rights Reserved.
Copyright 2000-2009, STMicroelectronics, Inc.  All Rights Reserved.

Hi,

Thank you for reporting to us. I have filed a TPR#15970. We will keep you posted.

Hongyon

Hi rusteve,

I want to let you know that TPR#15970 has been corrected in the upcoming 9.0-3 release.

  • Mat