John Reid, JKR Associates

Prepared for the BCS Fortran Specialist Group AGM, May 2002

1. INTRODUCTION

Since the last AGM, there have been four meetings of J3, a meeting of WG5 and a meeting of its parent committee ISO/IEC SC22.

I will refer to several WG5 documents by their N numbers; these are all accessible from the WG5 website, http://www.nag.co.uk/sc22wg5/, and I would like once more to take the opportunity to thank NAG for providing this facility.

2. WG5 MEETING IN LONDON, JULY 30 TO AUGUST 3

WG5 met at the BSI (British Standards Institute) in London, hosted by David Muxworthy. The BSI provided us with excellent meeting rooms in Chiswick and a very good copying service. The BCS Fortran Specialist Group hosted a drinks and buffet party on the first evening, which we all greatly enjoyed. I would like to thank David Muxworthy, the BCS Group, and the BSI staff, particularly Tanya Thomas and Keith Seyde, for all they did.

I set out three major items of business for the meeting:

  1. Processing of interpretations of the Fortran 95 standard.
  2. Review of the content of Fortran 2000.
  3. Review of the Fortran 2000 working draft.

Good progress was made in all three areas.

3. FORTRAN 95 INTERPRETATIONS

Interpretations and defect reports are requests from readers of the Standard, usually compiler writers, of ambiguities that could lead to lack of portability or actual errors. A response is written for each, and the ultimate objective is to decide that no change to the standard is needed or to make a change. The mechanism for making changes is the publication by ISO of corrigenda.

Corrigendum 1 was published on 28 June 2001. This contains all the edits to the standard arising from 17 requests. N1422 includes the text of these requests, our answers, and the edits themselves.

I was very concerned about the large number of outstanding items, but good progress was made in 2001 by J3 and WG5, culminating in the construction and acceptance of Corrigendum 2, which covers no less than 55 items. Details are given in N1473. The final version, with the comment addressed, has been sent to SC22 for publication. There still remain 19, so work will need to continue.

4. FORTRAN 2000

The content of Fortran 2000 is now established and the work of J3 is concentrated on integrating all the new features into the draft standard and honing it. At its London meeting, WG5 prepared a summary of the new features. This is N1459 and a copy is appended to this article.

5. THE PROTECTED ATTRIBUTE

A very minor enhancement to Fortran 2000 was proposed by Malcolm Cohen (N1458) and accepted at the London meeting. It is to allow the PROTECTED attribute to be given to module variables and procedure pointers. The effect is to prevent the value being changed outside the module (it is like INTENT(IN) for a dummy argument). It is a simple change that involves few edits and is obviously useful.

6. TECHNICAL REPORTS

Revised versions of both our Technical Reports (TR15580 on floating-point exception handling and TR15581 on allocatable components and dummy arguments) were published in June. The changes were all found from experience in implementation.

7. ENHANCED MODULE FACILITIES

Van Snyder has drawn WG5's attention to a problem that occurs in large programs consisting of many modules. A change in a low-level module causes a compilation 'cascade' even if there is no change in any interface. Van proposes making it possible to separate parts of modules into 'submodules' that are not accessible by USE statements. Module procedure interfaces are contained in the host module and the bodies are contained in submodules. When compiling a program unit that accesses the module, the compiler has no need to access anything in a submodule. Not only does this solve the problem of compilation cascades, but it also allows a very large module to broken into parts that share private module entities.

Van feared that work on adding this to the current draft might put the schedule (see Section 4) into jeopardy, so he proposed instead that it be developed into a Type 2 Technical Report (TR). Like those on exception handling and allocatable components, there would be a promise that any future standard would incorporate the feature apart from any glitches found in actual implementations. The plan is for it to be finalized at about the same time as the standard, with work on it being undertaken during the 'lull' periods when the standard is being balloted.

WG5 was convinced at its London meeting that the problem is important and that the proposed solution is excellent. A new work item was proposed to SC22 and was accepted at its meeting in Hawaii for country balloting.

For a draft of the TR, see N1434; and for a detailed justification, see N1433.

8. SC22 MEETING IN HAWAII, 18-20 SEPTEMBER 2001

I will say little about the SC22 meeting because I did not get to it. In fact, the only Convener to attend was a local host. It took place in Hawaii during the week following the US hijackings. I was booked to fly from Heathrow on Friday Sept 14 and was offered a full refund if I cancelled beforehand and I decided to accept. At that moment, the chairman had not decided whether to hold the meeting, and I would have hated to take a seat from an American who needed to get home. However, I am delighted that the hijackers did not stop the meeting taking place. The one action that I requested was accepted (see Section 7).

9. TIMETABLE

The current timetable is as follows:

J3 delivers proposed CD to WG52002-06
WG5 approval of CD2002-08
First CD submitted for registration and approval2002-09
First CD ballot initiated2002-10
First CD ballot comments available2003-02
WG5 meeting to resolve comments2003-04
J3 delivers final CD to WG52003-06
WG5 review meeting2003-08
Final CD submitted for approval2003-09
Final CD ballot initiated2003-10
Final CD ballot comments available2004-03
WG5 approval of draft DIS2004-04
DIS registered2004-06
DIS ballot initiated2004-07
DIS ballot results available2004-10
Standard published2004-12

10. FUTURE MEETINGS OF WG5

11-16 August, 2002. Las Vegas. Joint with J3.

28 March to 4 April 2003. Las Vegas. Joint with J3.

28 July to August 1 or 4-8 August 2003. Dresden.