To: WG5 From: Wolfgang Walter Subject: Draft NP for TR2 on Floating-Point Exception Handling Title: Portable Floating-Point Exception Handling in Fortran Scope: Define language facilities for detecting and treating, in a programmer- selected way, conditions and exceptions that can occur in numerical Fortran programs Purpose and Justification: A type 2 technical report will be produced 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, with modifications only as necessitated by problems experienced in implementing and using the new features. It is hoped that this will allow for a rapid technical development and for early testing well before a subsequent language revision. Floating-point 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 - in contrast to other areas (such as I/O and memory management) where at least some minimal exception handling facility is provided. In addition, existing floating-point arithmetic hardware cannot be exploited to its full potential. In the absence of portable exception handling, there is no way to render numerical code robust without incurring a substantial runtime penalty. Schedule: April, 1995 establish development body and project editor and create initial draft as described below August, 1995 submit revised draft to WG5 draft alternative proposal using intrinsic procedures November, 1995WG5 selects one of the alternatives March, 1996 Initiate PDTR ballot Initial draft: Introduction This technical report describes facilities for handling floating point exceptions in standard Fortran and includes specific edits to the Fortran standard for integrating these facilities into the standard. It is intended that these edits, exactly as specified here, will be applied to the next revision of the Fortran standard, subject only to refinement necessitated by any problems experienced by implementation and use in the interim. Description Edits