[PATCH] PR47040 - Make error message for empty array constructor more helpful/correct
Dominique d'Humières
dominiq@lps.ens.fr
Sat Apr 9 16:51:00 GMT 2016
>
> 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.
>
>>> 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. Is (/ ( i, i = 1, 0 ) /) non empty, yes or no?
IMO "empty array constructor" is ambiguous. One meaning is nothing but spaces between (/ and /) in the source code, another one is zero-sized rank-one array.
Dominique
PS I have wasted enough time on this patch. If you don’t accept it, close PR47040.
More information about the Fortran
mailing list