On Sat, Apr 09, 2016 at 06:51:50PM +0200, Dominique d'Humières wrote:
> 
> > 
> > It is valid syntax because of 
> > 
> > "An empty sequence forms a zero-sized rank-one array."
> > 
> > It seems that J3 saw the error in their ways as (/ /) is clearly
> > an empty array constructor, and fixed the possibility of creating
> > a typeless zero-sized, rank-one array.
> 
> This is exactly the point of the patch! typeless zero-sized, rank-one array
> are not allowed, while typed zero-sized, rank-one array are.
> 

And, you're missing the point that your patch is suggesting
that one use (/ INTEGER :: /), which is clearly invalid
Fortran 95. 

> >>> Adding any text referring
> >>> to type-spec is wrong.
> >>> 
> >> 
> >> Are you considering (/ ( i, i = 1, 0 ) /) as non empty?
> >> 
> > 
> > It is a zero-sized rank-one array with type INTEGER.  
> 
> That is not the answer to the question.

I answered the question that was asked.  The crucial point
is that (/ (i,i=1,0) /) as a type!

> Is (/ ( i, i = 1, 0 ) /) non empty, yes or no?

That wasn't that originally asked question.

> IMO "empty array constructor" is ambiguous.

Yes, it is.  That is why J3 made changes in Fortran 2003.

-- 
Steve

Reply via email to