The below code produces the error "Expected another dimension in array
declaration at 1". It only seems to occur when the passed argument that
contains the array dimension is a derived type and not an integer. Also, it
only occurs when the derived-type declaration is below (not above) the
declaration of the array. When the dimension is an integer and not a
derived-type component, either order compiles correctly. I tested on g95 and
intel and obtained no error.
My system is WindowsXP, cygwin, and gcc version 4.3.0 20080212 (experimental)
[trunk revision 132252]
John
!==========================================
module test_module
implicit none
type tt
integer :: n
end type tt
contains
!=======================================================================
!=======================================================================
subroutine test_sub_1(z,t)
implicit none
real :: z(t%n) !this order produces compiler error "Expected another dimension
in array declaration at 1"
type (tt) :: t
!type (tt) :: t !this order compiles correctly
!real :: z(t%n)
end subroutine test_sub_1
!=======================================================================
!
subroutine test_sub_2(z,m)
implicit none
real :: z(m) !this order compiles correctly
integer :: m
!integer,intent(in) :: m !this order compiles correctly too
!real, intent(out) :: z(m)
end subroutine test_sub_2
!=======================================================================
!=======================================================================
end module test_module
--
Summary: Unexpected erro "Expected another dimension in array
declaration"
Product: gcc
Version: 4.3.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: john dot young at jrc dot co dot jp
GCC target triplet: i686-pc-cygwin
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35951