http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60322
--- Comment #3 from janus at gcc dot gnu.org ---
Here is a closely-related variant of comment 1:
program main
implicit none
type Foo
end type
type(foo), dimension(2:2) :: arg
call copyFromArray(arg)
contains
subroutine copyFromArray(array)
class (Foo), intent(in) :: array(:)
print*,'lbound should be 1: ', lbound(array)
end subroutine
end
This one also yields '1' for a TYPE argument (as expected), but '2' for a CLASS
argument.
So, we clearly need to add code to reset the bounds inside of 'copyFromArray'
(but having the temporary in comment 1 start from 1 won't hurt either, I guess,
though I'm not sure if there is a way to detect the difference).