To: SC22 From: Miles Ellis, Convenor: SC22/WG5 Date: 1995-07-24 Subject:Request for subdivision of project JTC1.22.02.01 to produce a Technical Report (Type 2) on Floating-Point Exception Handling WG5 requests SC22 to subdivide project JTC1.22.02.01 in order to permit work on the following sub-project: 1. Title Portable Floating-Point Exception Handling in Fortran 2. Scope To define language facilities for detecting and treating, in a programmer-selected way, conditions and exceptions that can occur in Fortran programs. 3. Purpose and justification Exception handling is required for the development of robust and efficient numerical software. In particular, it is necessary in order to be able to write portable scientific libraries. In numerical Fortran programming, current practice is to employ whatever exception handling mechanisms are provided by the system/vendor. This clearly inhibits the production of fully portable numerical libraries and programs. The Fortran language as currently defined is deficient and irregular in this area. There are some minimal exception handling facilities for I/O and allocation exceptions, but they do not encourage well-structured programming. In particular, the lack of any feature for floating-point exceptions means that existing floating-point arithmetic hardware cannot be exploited to its full potential. More generally, in the absence of portable exception handling, there is no way to render numerical code robust without incurring a substantial runtime penalty. At its meeting in Tokyo, Japan, 1995-04-17/21, WG5 resolved to adopt a new approach for accelerating standardization of certain key features which were deemed to be too urgent to wait for the next revision of the Fortran Standard. This approach, which is based on the production of Type 2 Technical Reports that would be incorporated unaltered in the next revision unless experience in their implementation and use demanded changes, is described in SC22 N1862. It is proposed, therefore, to produce a type 2 technical report to define the necessary language extensions and to place them in the public domain. It is intended that these extensions will be included without change in a subsequent revision of the Fortran standard, unless experience in implementing and using them indicates that there are serious inadequacies in the definition. It is hoped that this will allow for a rapid technical development and for early testing well before a subsequent language revision. 4. Programme of work A Type 2 Technical Report will be developed for this project. 5. Relevant documents to be considered ISO/IEC 1539-1 : Draft CD 1995Programming Language Fortran Part 1 (SC22 N1842) The following are the major relevant WG5 papers (minor papers responding to these are not cited here): N974 (1994-04) Enable proposal (J K Reid) N1031 (1994-08-01) Exception Handling Proposal (DIN Fortran Working Group) N1042 (1994-08-10) Enable proposal (J K Reid) N1095 (1995-03) Floating Point Subset of ENABLE (J L Wagener) 6. Cooperation and liaison IFIP WG 2.5 ANSI/X3J3 _ US Fortran Technical Committee 7. Preparatory work offered with target date(s) This topic has been considered in considerable detail by WG5 already and a largely complete proposal already exists. This will form the basis of the proposed Technical Report. It is expected that a document will be ready for balloting as a PDTR by April 1996. John Reid (UK) is the proposed editor for this technical report. There will be no requirement for a maintenance agency or registration authority for this project. There are no known requirements for coding. The proposed technical report does not concern any known patented items.