The following program gives an error message for valid use of an array element in an expression for an automatic character array.
The error message is repeated twice. Changing from a run-time subscript in the parameter array to a constant fixes the problem. Dick Hendrickson program try_vf0016 ! fails on Windows XP ! gcc version 4.4.0 20080312 (experimental) [trunk revision 133139] ! syntax error for valid syntax call vf0016( 1, 2, 3) end SUBROUTINE VF0016(nf1,nf2,nf3) CHARACTER(LEN=9,KIND=1),DIMENSION(3), PARAMETER $ :: TEST_STRINGS = $ (/' HI','ABC ',' CDEFG '/) CHARACTER :: TEST_ARRAY $(LEN_TRIM(ADJUSTL(TEST_STRINGS(nf1))), ! changing nf1 to 1 fixes it $ SUM(LEN_TRIM(ADJUSTL(TEST_STRINGS))), $ LEN_TRIM(ADJUSTL(ADJUSTR(TEST_STRINGS(3)))), $ SUM(LEN_TRIM(ADJUSTL(ADJUSTR(TEST_STRINGS(NF1:NF3:NF2))))) ) print *, 2, 10, 5, 7 print *, shape (test_array) end C:\g_experiments\gfortran>gfortran vf0016.f vf0016.f:14.24: $(LEN_TRIM(ADJUSTL(TEST_STRINGS(nf1))), ! changing nf1 to 1 fixes 1 Error: Variable 'test_strings' cannot appear in the expression at (1) vf0016.f:14.24: $(LEN_TRIM(ADJUSTL(TEST_STRINGS(nf1))), ! changing nf1 to 1 fixes 1 Error: Variable 'test_strings' cannot appear in the expression at (1) -- Summary: Can't use run-time array element in character declaration Product: gcc Version: 4.4.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: dick dot hendrickson at gmail dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35723