------- Comment #2 from w6ws at earthlink dot net 2007-12-17 15:33 ------- Here is an additional variant of this bug:
program init_bug implicit none integer :: i character(11), parameter :: string="hello world" ! This compiles: character, parameter :: up_string(len (string)) = & (/ (string(i:i), i=1, len (string)) /) integer, parameter :: bytes(len (string)) = & (/ (iachar (string(i:i)), i=1, len (string)) /) integer, parameter :: up_bytes(len (string)) = & (/ (iachar (up_string(i)), i=1, size (up_string)) /) print *, string print *, up_string print *, bytes print *, up_bytes end program Besides the out-of-bounds error, it also gives a 'cannot appear in the expression error': (/ (iachar (up_string(i)), i=1, size (up_string)) /) 1 Error: index in dimension 1 is out of bounds at (1) abuse_init4.f90:12.25: (/ (iachar (string(i:i)), i=1, len (string)) /) 1 Error: Variable 'i' cannot appear in the expression at (1) abuse_init4.f90:21.19: print *, up_bytes 1 Error: Symbol 'up_bytes' at (1) has no IMPLICIT type -- w6ws at earthlink dot net changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |w6ws at earthlink dot net http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34476