J3/13-310r3 To: J3 From: Van Snyder & Malcolm Cohen Subject: Edits for US-03 Report nonstandard intrinsics Date: 2013 October 17 References: 13-244r1 1. Requirements from 13-244r1 ----------------------------- "Processors are required to have the ability to report the appearance of an intrinsic procedure not described in the standard. Fortran 2003 added intrinsic modules. Processors are not required to report the use of non-standard intrinsic modules, nor of non-standard entities from standard intrinsic modules, or of non-standard use of standard intrinsic procedures. Doing so would aid standards-conformance checking of programs." 2. Specifications ----------------- That processors be required to be able to diagnose the use of nonstandard intrinsic procedure or modules, and nonstandard procedures from a standard intrinsic module. 3. Syntax --------- No new syntax. 4. Edits to 10-007r1 -------------------- [xv Introduction p2+] In the new list of new features, add " o Intrinsic procedures and modules: A processor is required to report use of a nonstandard intrinsic procedure, use of a nonstandard intrinsic module, and use of a nonstandard procedure from a standard intrinsic module." {This is just the intro, so we blithely use "nonstandard" without further elaboration. The plain English meaning is however the same as that of the more rigorous wording in the conformance clause.} [23:26-27 1.5.2p2(7)] Replace "intrinsic procedures whose names are not defined in Clause 13; and" with "a nonstandard intrinsic procedure (including one with the same name as a standard intrinsic procedure but with different requirements);". [23:27+ 1.5.2p2(7+)] Insert list items " (7a) it contains the capability to detect and report the use within a submitted program unit of a nonstandard intrinsic module; (7b) it contains the capability to detect and report the use within a submitted program unit of a procedure from a standard intrinsic module, if the procedure is not defined by \thisstd{} or the procedure has different requirements from those specified by \thisstd{}; and". ===END===