This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug fortran/35723] New: Can't use run-time array element in character declaration
- From: "dick dot hendrickson at gmail dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 27 Mar 2008 20:33:52 -0000
- Subject: [Bug fortran/35723] New: Can't use run-time array element in character declaration
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
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