[J3] (SC22WG5.6297) WG5 letter ballot (due 24 Oct)

Malcolm Cohen malcolm at nag-j.co.jp
Thu Oct 22 01:05:15 EDT 2020


 

The following Fortran 2018 interpretations are being balloted:

 

Yes  No Number   Title

-Y- --- F18/001  ACOSH principal value specification is wrong

-Y- --- F18/002  Internal procedures in generic interface blocks

-Y- --- F18/003  Pointer association of component of non-definable selector

-Y- --- F18/004  Program execution sequence with failed images

-Y- --- F18/005  Does INPUT_UNIT really identify the same unit as *?

-Y- --- F18/006  Connection of INPUT_UNIT on different images

-Y- --- F18/008  Contradictory assumed-rank requirements

-Y- --- F18/009  Bad examples in IEEE_ARITHMETIC functions

-Y- --- F18/010  Categories of pure procedures

-Y- --- F18/011  Categories of elemental procedures

-Y- --- F18/012  Internal procedure in a generic interface

-Y- --- F18/013  TEAM_NUMBER arguments and intrinsic function are ambiguous

-Y- --- F18/014  Type of OPERATION arguments to the REDUCE intrinsic

--- -N- F18/015  Example in C.6.8 is wrong

-Y- --- F18/016  Host association changes in Fortran 2018

-Y- --- F18/017  Final subroutine invocation order

-Y- --- F18/018  Public namelist and private variable

 

 

NO vote for F18/015:

 

Individually these don't really warrant a "no", but together I think they
do. 

 

(1) The formula given in the comment differs from the code for the number of
"spare" images.

(a) The comment should be changed to

! Choose how many images to keep as spares.

(b) The code should be changed, either to something very simple like

images_spare = (NUM_IMAGES()+90)/100

or to the several lines suggested by Anton.

My preference would be for something really simple, but anything reasonable
that resolves the comment/=code dichotomy is fine.

 

(2) The variable "team_number" should be changed to "team_num", or anything
else that is understandable but not the name of a standard intrinsic.

 

(3) The error handling is half-hearted. It should be improved by

(a) following "IF (status == STAT_FAILED_IMAGE) EXIT simulation" (after
CHANGE TEAM) with

IF (status/=0) EXIT outer

 

(b) following "END TEAM (STAT=status) simulation" with

IF (status/=0 .AND. status/=STAT_FAILED_IMAGE) EXIT outer

 

(c) following "SYNC ALL (STAT=status)" (two lines down from (b)) with

IF (status/=0 .AND. status/=STAT_FAILED_IMAGE) EXIT outer

 

Cheers,

-- 

..............Malcolm Cohen, NAG Oxford/Tokyo.

 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.j3-fortran.org/pipermail/j3/attachments/20201022/9393ae21/attachment.htm>


More information about the J3 mailing list