ISO/IEC JTC1/SC22/WG5 N2169 Minutes of Meeting of ISO/IEC JTC1/SC22/WG5 Hosted by IPSJ/ITSCJ and held at the University of Tokyo, Japan August 5-9, 2019 List of Participants: Steve Lionel (Self, USA) convenor Dan Nagle (NCAR, USA) PL22.3 chair Reuben Budiardja (Oak Ridge, USA) Kiran Chandramohan (Arm, UK) Daniel Chen (IBM, Canada) Tom Clune (NASA, USA) Malcolm Cohen (NAG, UK) Magne Haveraaen (University of Bergen, Norway) Yasuharu Hayashi (NEC, Japan) Hidetoshi Iwashita (Fujitsu, Japan) Gary Klimowicz (NVIDIA, USA) Tom Knox (Kernelyze, USA) Bill Long (Cray, USA) John Reid (JKR Associates, UK) Damian Rouson (Sourcery, USA) Hiroyuki Sato (University of Tokyo, Japan) Nathan Sircombe (Arm, UK) Van Snyder (Caltech/JPL, USA) Toshihiro Suzuki (Fujitsu, Japan) Masayuki Takata (Edogawa University, Japan) Notes: 1. This was a joint meeting of SC22/WG5 and INCITS/PL22.3. These minutes record only the parts of the meeting in WG5 mode. 2. WG5 papers are referenced as Nnnnn. They are available from https://wg5-fortran.org/documents.html 3. INCITS/PL22.3 is abbreviated throughout to PL22.3 and its papers are referenced as J3/J3/19-nnn. They are available from https://j3-fortran.org/ 1. Opening of the Meeting The meeting opened at 09:01 on Monday, August 5, 2019 2. Opening business 2.1 Introductory remarks from the Convenor The convenor welcomed participants, and reminded them of the ISO Code of Conduct, linked from the meeting agenda. 2.2 Welcome from the Host Masayuki Takata welcomed participants. He explained about refreshments during the meeting and about the Wednesday evening reception, both provided by Information Processing Society of Japan/Information Technology Standards Commission of Japan (IPSJ/ITSCJ), and the meeting rooms provided by the University of Tokyo. 2.3 Local arrangements Hiroyuki Sato described local arrangements, including the Wednesday buffet, Wi-Fi access, and locations for food and drink. 2.4 Appointments for this meeting The drafting committee would be John Reid (chair), Dan Nagle, Daniel Chen, Masayuki Takata and Magne Haveraaen. John Reid would act as secretary and Steve Lionel as librarian. 2.5 Adoption of the agenda [N2164] The agenda was adopted. 3. Matters arising from the minutes of the Berkeley Meeting [N2158] There were no items not otherwise on the agenda. 4. Status of Berkeley 2018 Resolutions [N2152] Dan Nagle still hopes to find time to work on TR24772-8 'Guidance to Avoiding Vulnerabilities in Programming Languages - Part 8 Fortran'. 5. Reports 5.1 SC22 Matters (Convenor) The convenor reported that ISO is eliminating the 48-month option for new projects, and that the office of Project Editor is now called Project Manager. He also highlighted other recent changes in ISO directives. 5.2 National Activity Reports Canada: No national activity was reported. Germany: Not represented. Japan: ITSCJ/SC22/Fortran WG supplied its requests for the next revision of the standard (N2168). The Fortran Promoting Consortium (HPFPC) is active and organized a half-day meeting on Friday August 2 on "Fortran, where are you going?", inviting John Reid and Steve Lionel as speakers. UK: BSI supplied its requests for the next revision of the standard (N2167). USA: The US supplied its requests for the next revision of the standard (N2165). 5.3 Report from Primary Development Body (INCITS/PL22.3 Chair) PL22.3 was charged with developing the draft standard and had done so. 5.4 Reports from other Development Bodies (Editors/Heads) There were no contributing development bodies at present. 5.5 Liaison Reports: The following liaison reports were presented: NCITS/J11 (C): Dan Nagle; MPI: Bill Long; UPC: Damian Rouson; IFIP/WG2.5: Van Snyder, see J3/19-184 and J3/19-185; OpenMP: Bill Long WG9 (Ada): Van Snyder, see J3/19-171r1; WG23 (Vulnerabilities): Dan Nagle; OpenACC: Gary Klimowicz, see J3/19-209; Flang: Gary Klimowicz, see J3/19-210. 6. Consider the Fortran defect reports (interpretations) in J3/17-006. This occurred at various times during the meeting. 7. WG5 Business and Strategic Plans Steve Lionel published the strategic plan as N2171 and the business plan as N2172. 8. Define a work plan for the next revision, incorporating recommendations and requests from various National Bodies. This occupied the majority of the meeting during the week. There follows an outline record in chronological sequence of discussions in WG5 mode. [PL22.3 plenary and subgroup sessions from 10:27 to 17:30] The meeting recessed at 17:44 ........................................................................... Tuesday The meeting resumed at 09:00. [PL22.3 plenary from 09:00 to 10:07] Magne Haveraaen presented his slides on generic programming, based on a paper he, Damian Rouson and Jaakko Jarvi wrote, available as J3/19-188. An extensive discussion followed. [PL22.3 subgroup sessions from 11:00 to 17:30] The meeting recessed at 17:50. ........................................................................... Wednesday The meeting resumed at 09:01. [PL22.3 plenary and subgroup sessions from 09:01 to 17:00] WG5 reviewed PL22.3 paper J3/19-206r1 which expressed the opinion of the PL22.3 DATA subgroup regarding some of the US feature requests. US15, VIRTUOUS procedures, was endorsed unanimously. US24, Generic Programming, occupied most of the time. The general sense of the attendees was that generic programming was important but was too big a feature to include for this revision. See Thursday's discussion for more on this. WG5 recessed at 17:45, PL22.3 resumed from there and recessed at 17:51. Meeting attendees and their guests were treated to a delightful buffet dinner by IPSJ/ITSCJ. ........................................................................... Thursday The meeting resumed at 09:00. [PL22.3 plenary and subgroup sessions from 09:00 to 16:00] Steve Lionel led a walk-through of the UK and US feature lists with the goal of constructing the WG5 work list for the next revision. (Japan did not submit a specific feature request, but expressed the general desire to keep the revision small (echoed by the UK) and to favor features that benefited run-time performance.) The following items were accepted, where the references should be considered as preliminary: UK01 - Extend procedure C_F_POINTER to allow a Fortran array pointer to have lower bounds other than 1. J3/19-194r1 US01 - Allow much longer statement lines and overall statement length. J3/19-138r1, J3/19-195 US02 - Require the processor to report cases where over-long lines or statements result in lost information. J3/19-149r1 US03 - SPLIT string intrinsic (original proposal was to keep all module intrinsics from the withdrawn Part 2 (ISO_VARYING_STRINGS). J3/19-196r3 US04 - Trig functions with arguments in degrees and arc versions with results in degrees. J3/19-203r1 US05 - Trig functions with arguments implicitly scaled by PI. J3/19-204r1 US06 - SELECTED_LOGICAL_KIND to return a KIND of logical based on its minimum storage size. J3/19-147r1 US07 - Additional named constants, LOGICAL8, LOGICAL16, LOGICAL32, LOGICAL64, in ISO_FORTRAN_ENV to specify KINDS supported for type LOGICAL. J3/19-139r1 US08 - Additional named constant, REAL16, in ISO_FORTRAN_ENV to specify whether the processor supports a 16-bit REAL KIND. J3/19-139r1 US09 - Intrinsics for converting between C strings and Fortran strings. J3/18-258r2 US10 - AT format editing specifier. Has the effect of TRIM on the corresponding character list item before output. J3/19-137r2 US11 - Control over leading zeros in output of REAL values. J3/19-156r1 US12 - Allow an array of a type that has an allocatable coarray component. J3/19-208r1 (Paper withdrawn for future rework.) US13 - Syntax and semantics for a "Put with Notify" operation. J3/18-277r1 US14 - Allow deferred-length character variables in more locations, including as actual arguments corresponding to IOMSG and ERRMSG arguments for similar variables in specifiers. Also allow for internal I/O. J3/18-279r1 US15 - SIMPLE procedures. A form of Super-Pure that disallows references to global data. J3/19-201r1 US16 - TYPEOF and CLASSOF type declarations to indicate the object being declared has the same type/class as another object. Useful to ensure a local variable in a procedure has the same type as a dummy argument, or that two dummy arguments have the same type. J3/19-142r1 US17 - Syntax to specify an element or section of an array with arbitrary rank. J3/19-150 US18 - Syntax for generic specification of rank and bounds of an object. J3/19-152r1 US19 - Protected components. J3/19-135r1 US20 - Reduction specifier for DO CONCURRENT. J3/19-198r2 US21 - Typed enumerators. J3/19-216r1 US22 - Conditional expressions. J3/18-274 US23 - Enhancements to BOZ constants. J3/19-211, J3/19-212r1. The full BITS proposal dropped from Fortran 2008 was not accepted. US27 - Syntax to specify that the target of a dummy argument pointer is not to be changed (INTENT applies to the pointer, not its target) J3/18-144r1 The following requests were rejected: US25 - Exceptions US26 - Short-circuit logical operators. (Subsumed by US22 - if that gets dropped we may come back to this.) US28 - Binary compatibility of C descriptors (to assist library writers.) No feasible implementation was suggested. The following request was deferred: US24 - Generics / templates / macros / containers for generic programming. WG5 recognizes that Fortran needs some sort of feature along this line but concluded that there was no general agreement on an approach and that it was too big a feature to include in this revision. WG5 resolved that work on such a feature would begin immediately, for inclusion in the following revision "202Y". The meeting recessed at 17:31. ........................................................................... Friday The meeting resumed at 09:00. [PL22.3 plenary session from 09:00 to 10:34] 9. Closing Business 9.1 Future meetings 2020, June 22-26 will be in Bloomington (Minneapolis), MN, USA (Cray host) 2021, June 21-25 will be in Manchester, UK (ARM host) Several suggestions for 2022 were put forth, but no host with a funding commitment was determined. Meeting in Las Vegas is always an option. 9.2 Any other business 10. Adoption of Resolutions (N2170) 11. Adjournment: 11:38, August 9, 2019