I think all 4 cases are conforming.
Allocatable character can be used to:
- have character vars of different length and/or
- have character arrays of different size.
Your examples use none of these capabilities, so
look a bit silly, but conforming.
If modified like this:
character(len=42), allocatable :: s(:)
write (*,*) allocated( s )
allocate( s(10) )
write (*,*) allocated( s ), len(s), size(s)
end
I think the confusion goes away.
Anton
|