(j3.2006) (SC22WG5.5801) [ukfortran] Straw ballot on four small technical changes

N.M. Maclaren nmm1
Fri Oct 28 15:39:19 EDT 2016


I shall be very happy to change my NO votes if someone points out
that I have made mistakes.

Regards,
Nick.


Yes  No   Paper       Subject
---  -N- 06-277r1 Allow C_SIZEOF for an assumed-rank array
-C-  --- 06-280r2 Allow cross-image access to violate aliasing rules
                  for coarray dummies
---  -N- 06-285r2 Clarify ordering of finalisation w.r.t. deallocation
                  in assignment(*)
-Y-  --- 06-289   Additional prohibitions on pure procedures(*)


06-280r2

Point 1:
I had to read this several times to be quite sure of what it was saying.
I suggest adding an extra question and answer:

'''
Question 1C: Was it intended that the program example_1 is conforming
if statement (X) is replaced by "a[2] = il"??

Answer 1C: Yes, it is intended that this example is conforming. It
compiles with no errors and executes:

> ftn test.f90
> srun -n2 ./a.out
 1
'''

Point 2:
Is the word 'typically' in NOTE 15.40+1 helpful?  I am not sure what
it implies, in context.


06-285r2

I think that we have two meanings of deallocate in the standard.  But,
whether we do or not, the last sentence of [84:32 7.5.6.3p2] is
baffling; I really don't see how it makes sense for finalization to
precede deallocation and yet a failure in the latter to make it
processor dependent whether the former occurs!  I have read that
sentence as applying to pointers, yet the second sentence starts "When
an allocatable entity is deallocated".  Unless there is a critical
reason to keep that sentence, I suggest just deleting it:

    [84:32 7.5.6.3p2] delete the last sentence "If an error condition
    occurs during deallocation, it is processor dependent whether
    finalization occurs."


06-277r1

C_SIZEOF is not permitted for an assumed-size array [486:24 18.2.3.7p3],
but we permit assumed-size arrays to be actual arguments corresponding
to assumed-rank dummies.  This inconsistency needs resolving.  One
change would be:

    [486:24] 18.2.3.7p3 delete "that is not an assumed-size array".

    [486:31] 18.2.3.7p6 append "if the argument is an assumed-size
    array or is an assumed-rank object that corresponds to an
    assumed-size actual argument, the value returned is -1."




More information about the J3 mailing list