ISO/IEC JTC1/SC22/WG5 N2166 Draft Minutes Meeting of ISO/IEC JTC1/SC22/WG5 August 5-9, 2019 Tokyo, Japan Monday, August 5 0900 - 1800 (Joint WG5/J3) Tuesday, August 6 0900 - 1800 (Joint WG5/J3) Wednesday, August 7 0900 - 1800 (Joint WG5/J3) Thursday, August 8 0900 - 1800 (Joint WG5/J3) Friday, August 9 0900 - 1700 (Joint WG5/J3) N.B. During the meeting, some sessions will be of WG5 with Steve Lionel in the chair and some sessions will be of J3 with Dan Nagle in the chair. Delegates should expect important business to continue until 1700 on Friday. 1. Opening of the Meeting: 9:00 am, August 5, 2019 Attendees: Reuben Budiandja ORNL USA Kiran Chandranohan ARM UK Daniel Chen IBM Canada Tom Clune NASA USA Malcolm Cohen NAG UK Tom Knox Kernelyze USA Magne Haveraasen guest Norway Gary Klimowitz NVIDIA USA Yasuharu Hayashi NEC Japan Hideto Iwashita Fujitsu Japan Steve Lionel self USA, WG5 Convener Bill Long Cray USA Dan Nagle NCAR USA, J3 Chair John Reid BSI UK, WG5 Secretary, WG5 Resolution Committee Chair Damian Rouson Sourcery USA Schuko SATO U. Tokyo Japan, Local Co-Host (with Makki). Nathan Sircombe ARM UK Van Snyder NASA USA Toshihiro Suzuki Fujitsu Japan Makki Takata Edagawa Univ Japan, Meeting Host Minoru Tanaka Fujitsu Japan, Chair of Japanese Fortran Committee 2. Opening business 2.1 Introductory remarks from the Convenor Welcome to all attendees, and new members were introduced. John Reid will take the minutes for the WG5 portion of this meeting. The goal of this meeting is to reconcile feature lists. The US and Canada submitted a combined list. The UK presented a list. Japan produced a document, but no specific features. There will be a WG5-approved worklist produced, and it will not be open for additional feature requests. In Berkeley we had a straw poll but that will not count for this purpose. 2.2 Reminder of the ISO Code of Conduct https://www.iso.org/files/live/sites/isoorg/files/store/en/PUB100397.pdf 2.3 Welcome from the Host Makki told us that there is a cafeteria here on campus. Wednesday's dinner will be in this building, and it will be an informal buffet party. Please let Makki know by tomorrow how many will attend. 2.4 Local arrangements Restrooms are on this floor. There are drinks available in the next room. 2.5 Appointments for this meeting John Reid is the head of the drafing committee, which includes Dan Nagle (US) Makki (Japan), John (UK), Daniel (Canada), Magne (Norway). 2.6 Adoption of the Agenda Motion was made by Steve Lionel, seconded by Dan Nagle to accept the agenda, and motion passed with unanimous consent. 3. Matters arising from the Minutes of the Berkeley 2018 Meeting [N2158] (none) 4. Status of Berkeley Resolutions [N2152] Published Fortran 2018 in late November, 2018. 5. Reports 5.1 SC22 Matters (Convenor) John reported on the TR/TS issue. We voted to withdraw the TS's, (219113 and 18508) as they are now in Fortran 2018. This has to go to SC22 for approval at the upcoming meeting in Korea. Steve to write a report for SC22, including the request for withdrawal of the two TS. 5.2 National Activity Reports <> 5.3 Report from Primary Development Body (INCITS/PL22.3 Chair) 5.4 Reports from other Development Bodies (Editors/Heads) 5.5 Liaison Reports: <> NCITS/J11 (C): Dan Nagle MPI: Bill Long UPC: Damian Rouson IFIP/WG2.5: Van Snyder OpenMP: Bill Long WG9 (Ada): Van Snyder WG23 (Vulnerabilities): Dan Nagle 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 7.1 Goals for 2019-2022 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, and is detailed in this next section. Subgroup and papers: ALL: Read papers 19-171, 19-177r1, 19-191 Subgroups: JoR: Dan Nagle (head), Steve Lionel, Tom Knox, Masayuki Takata, Gary Klimowicz Papers assigned: 19-165, 19-184, 19-185 Features to address: US01: Longer statement lengths US02: Require if even longer lines are truncated US03: ISO_FORTRAN_STRING module US04: Degree trig functions US05: Pi trig functions US06: SELECTED_LOGICAL_KIND US07: LOGICALnn constants in ISO_FORTRAN_ENV US08: REAL16 named constant in ISO_FORTRAN_ENV US09: CSTRING and FSTRING functions US10: AT format editing specifier US11: Leading zero control for output Data: Malcolm Cohen (head), Van Snyder, Tom Clune, Magne Haveraaen, Nathan Sircombe, Damian Rouson, Hiroyuki Sato, Yasuharu Hayashi. Papers assigned: 19-166, 19-167, 19-189, 19-169, 19-170, 19-171, 19-172, 19-173, 19-174, 19-175, 19-186, 19-188, 19-189 Features to address: US14: Deferred-length character variables in error/message args and specifiers. US15: Virtuous procedures US16: TYPEOF, CLASSOF type declarations US17: Syntax to specify an element or section of an array of arbitrary rank US18: Syntax for generic specification of rank and bounds of an object US19: Protected components US20: Reduction specifier for DO CONCURRENT US21: Typed ENUMS US22: Conditional expressions US24: Generic programming / templates / macros / containers US25: Exceptions US26: Short-circuit logical operators US27: INTENT that applies to the target of a pointer HPC: Bill Long (head), Daniel Chen, John Reid, Reuben Budiardja, Kiran Chandramohan, Hidetoshi Iwashita, Toshihiro Suzuki Papers assigned: 19-193, N2167(19-194). Also 19-176, 19-182 transfered from Interp Features to address: US12: Allow array of type that has allocatable coarray component US13: Put with Notify US23: BITS data type US28: Binary compatibiiity of C descriptors (Canada) - Defer. Done: UK01: Add lower bounds to C_F_POINTER interop intrinsic Interp: Malcolm Cohen (head) Papers assigned: 19-178, 19-179, 19-180, 19-181, 19-182, 19-183, 19-187, 19-190, 19-192 Meeting recessed until 5:30 for subgroup meetings Subgroup reports: Monday August 9, 5:30 /JOR For vote tomorrow: 19-165r1 "State that RECURSIVE has no semantics" 19-195 "longer lines missing edit US01" 19-196 "edits for ISO_FORTRAN_STRINGS US03" 19-197 "Edits for C_F_STRPOINTER and F_C_STRING (US09)" 19-198 "Add reductions to DO CONCURRENT (US20)" /Data No action on the following papers, all considered to be out-of-order features: 19-169 "Coroutines and Iterators" 19-172 "Specification part in more s" 19-186 "Option to derive an inextensible type" No action on the following papers, all considered to be for information only: 19-171 "Ada Committee Liaison Report" 19-175 "Concerning N2165" 19-189 "GNU view on templates" Also, no action on these containers papers: 19-167 "Preliminary requirements for support for containers" 19-168 "Containers" 19-170 "Specifications and syntax for container support" Data recommends against US25 (Exceptions) /HPC For vote tomorrow: 19-194 "C_F_POINTER modification for feature UK-01" /Interp For vote tomorrow: 19-179 "Interpretation request concerning generic identifiers" 19-192 "RFI F18-014 OPERATION in REDUCE and CO_REDUCE" Other actions (rejected as interps) 19-183 "Clarification of global identifier" sent to Edit 19-187 "Request for interpretation" Rejected as an interp; 19-187r1 explains 19-176 "Interpretation request for intrinsic FAILED_IMAGES" sent to HPC Meeting recessed at 5:44 Tuesday, August 6 9:00 Reconvene PL22.3 Plenary: /JOR ** motion: 19-165r1 "State that RECURSIVE has no semantics" [Lionel] (Nagle/Lionel) Passed with Unanimous Consent (hereafter shorted to UC) ** motion: 19-195 "State that RECURSIVE has no semantics" [Nagle] (Nagle/Clune) UC -- motion: 19-196 "edits for ISO_FORTRAN_STRINGS US03"[Nagle] (Nagle/Knox) Withdrawn for more work -- motion: 19-197 "Edits for C_F_STRPOINTER and F_C_STRING (US09)" [Lionel](Nagle/Lionel) Withdrawn for more work -- motion: 19-198 "Add reductions to DO CONCURRENT (US20)"[Klimowicz] (Nagle/Klimowicz) withdrawn for more work /Data Nothing this morning /HPC ** motion: 19-194 "C_F_POINTER modification for feature UK-01"[Chen] (Long/Chen) As amended UC /Interp ** motion: 19-179 "Interpretation request concerning generic identifiers" [Snyder,Cohen](Cohen/Snyder) UC ** motion: 19-192 "RFI F18-014 OPERATION in REDUCE and CO_REDUCE" [Steidel](Cohen/Knox) As amended UC Magne Haveraaen presented his slides on generic programming, based on a paper he Damian Rouson and Jaakko Jarvi wrote, available as 19-188. An extensive discussion followed. Subgroup sessions started at 11:00, meeting resumed at 5:30 Subgroup reports: /JOR For vote tomorrow: 19-196r1 "edits for ISO_FORTRAN_STRINGS US03" 19-197r1 "Edits for C_F_STRPOINTER and F_C_STRING (US09)" 19-198r1 "Add reductions to DO CONCURRENT (US20)" 19-203 "Degree trigonometric functions (US04)" 19-204 "IEEE Circular trigonometric functions (US05)" /Data For vote tomorrow: 19-201 "Draft design for SIMPLE procedures" 19-202 "BOUNDS and RANK specifiers for the DIMENSION attribute" Read for tomorrow: 19-206 "DATA subgroup recommendations on feature list" /HPC For vote tomorrow: 19-176r1 "Interpretation request for intrinsic FAILED_IMAGES" /Interp For vote tomorrow: 19-182r1 "Interpretation request for failed images example" /Edit Nothing Meeting recessed at 6:00 Wednesday, August 7 9:00 Reconvene PL22.3 Plenary: /JOR -- motion: 19-196r1 "edits for ISO_FORTRAN_STRINGS US03"[Nagle] (Nagle/Knox) Withdrawn for reconsideration -- motion: 19-197r1 "Edits for C_F_STRPOINTER and F_C_STRING (US09)" [Lionel] (Nagle/Lionel) Withdrawn for more work -- motion: 19-198r1 "Add reductions to DO CONCURRENT (US20)" [Klimowicz] (Nagle/Klimowicz) Withdrawn for more work -- motion: 19-203 "Degree trigonometric functions (US04)"[Knox] (Nagle/Knox) Withdrawn for more work -- motion: 19-204 "IEEE Circular trigonometric functions (US05)"[Knox] (Nagle/Knox) Withdrawn for more work /Data ** motion: 19-201 "Draft design for SIMPLE procedures"[Sircombe/Cohen] (Cohen/Sircombe) As amended UC -- motion: 19-202 "BOUNDS and RANK specifiers for the DIMENSION attribute" [Clune] (Cohen/Clune) Withdrawn for more work /HPC ** motion: 19-176r1 "Interpretation request for intrinsic FAILED_IMAGES" [Reid] (Long/Cohen) UC /Interp ** motion: 19-182r1 "Interpretation request for failed images example" [Reid] (Cohen/Long) As amended, UC Subgroup sessions started at 11:17, meeting resumed at 5:00 and was in WG5 mode. 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" At 5:45, meeting returned to PL22.3 mode /JOR For vote tomorrow: 19-196r2 "edits for ISO_FORTRAN_STRINGS US03" 19-198r2 "Add reductions to DO CONCURRENT (US20)" 19-203r1 "Degree trigonometric functions (US04)" 19-204r1 "IEEE Circular trigonometric functions (US05)" Read for tomorrow: 19-207 "User notification of system and library exceptions" /Data For vote tomorrow: 19-202r1 "BOUNDS and RANK specifiers for the DIMENSION attribute" No action: 19-174 "Rank-agnostic array element and section denotation" as it is out-of-order. /HPC For vote tomorrow 19-208 "US 12, arrays of coarrays" /Interp No action on 19-178 "Problematic description of TEAM_NUMBER=", as it was merged into 19-190. For vote tomorrow 19-190r1 "Interp on NUM_IMAGES and IMAGE_INDEX" /Edit For vote tomorrow 19-183r1 19-205 Meeting recessed at 5:51 Thursday, August 8 9:00 Reconvene PL22.3 Plenary: /JOR Straw vote: 19-196r2 "edits for ISO_FORTRAN_STRINGS US03" SV: SPLIT only / nothing / undecided 12 0 5 withdrawn for rework ** motion: 19-198r2 "Add reductions to DO CONCURRENT (US20)"[Klimowicz] (Nagle/Klimowicz) UC ** motion: 19-203r1 "Degree trigonometric functions (US04)"[Knox] (Nagle/Knox) UC ** motion: 19-204r1 "IEEE Circular trigonometric functions (US05)"[Knox] (Nagle/Knox) UC Discussion:19-207 "User notification of system and library exceptions" Basically a way to register exception handlers. HANDLER= was suggested. Too late for enough time to develop, so considered informational only. /Data ** motion: 19-202r1 "BOUNDS and RANK specifiers for the DIMENSION attribute" [Clune] (Cohen/Clune) As amended, UC /HPC -- motion: 19-208 "US 12, arrays of coarrays"[Reid] (Long/Rouson) Withdrawn for rework /Interp ** motion: 19-190r1 "Interp on NUM_IMAGES and IMAGE_INDEX"[Cohen] (Cohen/Long) Optional edits included. UC /Edit Straw vote: 19-183r1 "Clarification of global identifier" SV: Make the edit: Y / N / U 7 E 8 Alternative edit: Add Clause 19 in Annex C Y / N / U 11 3 4 ** motion: 19-205 "Tweak wording in 19.4" [Klimowicz/Donaldson] (Cohen/Knox) UC Van noted that Bob Corbett put the latest IEEE standard in the tutorials folder At 5:26 meeting turned to PL22.3 mode for assignments. /JOR For discussion tomorrow: 19-196r3 "edits for ISO_FORTRAN_STRINGS US03" For vote tomorrow 19-197r2 "Edits for C_F_STRPOINTER and F_C_STRING (US09)" /Data No action: 19-166 "Preliminary specifications for parameterized modules" For vote tomorrow: 19-214 "Protected components" 19-173r1 "Rank-agnostic allocation and pointer assignment" 19-216 "Enumeration types [US21]" /HPC For vote tomorrow 19-208r1 "US 12, arrays of coarrays" /Interp No business /Edit For vote tomorrow 19-183r3 "Clarification of global identifier" Meeting recessed at 5:35 Friday, August 9 9:00 Reconvene PL22.3 Plenary: /JOR 19-196r3 "edits for ISO_FORTRAN_STRINGS US03" discussion; returning indices is better than array of strings. There will be a new proposal. ** motion: 19-197r2 "Edits for C_F_STRPOINTER and F_C_STRING (US09)" [Lionel] (Nagle/Lionel) As amended UC /Data ** motion: 19-214 "Protected components" [Snyder,Cohen] (Cohen/Snyder) as amended UC ** motion: 19-173r1 "Rank-agnostic allocation and pointer assignment" [Snyder] (Cohen/Snyder) UC ** motion: 19-216 "Enumeration types [US21]" [Snyder] (Cohen/Snyder) As amended UC /HPC ** motion: 19-208r1 "US 12, arrays of coarrays" [Reid] (Long/Lionel) After a lengthy discussion, this was withdrawn for more work at the next meeting ** motion: 19-211 "US-23 Part 1, ATOMIC oversight with BOZ constants" [Long] (Long/Cohen) UC ** motion: 19-212 "US-23 Part 2, Standardizing use of BOZ constants" [Long] (Long/Chen) As amended UC 19-193 "Performance Portability - use case for generics" has no action at this meeting. /Interp Deferred to next meeting: 19-180 "Problems with TEAM_NUMBER= in image selectors" 19-181 "Interpretation request on FORM TEAM and failed images" Malcolm to construct letter ballot for F18 interps, as there are currently 15. /Edit ** motion: 19-183r3 "Clarification of global identifier"[Chen,Cohen] (Cohen/Long) UC PL22.3 Closing business: Action items: none Future meetings: m220 Oct 14-18 2019 Van Snyder Marriott Residence Inn, Hughes Dr, Las Vegas NV USA m221 Feb 24-28 2020 Jon Steidel Marriott Residence Inn, Hughes Dr, Las Vegas NV USA Membership report is 19-199 Treasurer's report is 19-200 PL22.3 Adjourned 10:34. WG5 recessed until 11:10 9. Closing Business 9.1 Future meetings of joint WG5/PL22.3 2020, June 22-26 will be in 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