------- Comment #2 from pinskia at gcc dot gnu dot org 2006-01-09 23:24 ------- the parse tree is correct: CALL foo ((MAIN__:list(FULL) % word))
So this is just a trans issue as far as I can tell. Also it is even worse with, were we print way wrong stuff: program test_lex type :: dtype character*12 :: word integer :: n end type dtype type(dtype), dimension(2) :: list list(1) = dtype ( "one", 1) list(2) = dtype ( "two", 2) call foo (list%n) contains subroutine foo (slist) integer, dimension(*) :: slist print *, ("\n",slist(i), i=1,2) end subroutine foo end program test_lex -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24276