J3/13-310r1 To: J3 From: Van Snyder Subject: Edits for US-03 Report nonstandard intrinsics Date: 2013 October 14 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 an intrinsic procedure if the name is defined in Clause 13 but reference is inconsistent with requirements in Clause 13, - use of intrinsic modules whose names are not defined in Clause 13, 14 or 15, - use of a procedure from an intrinsic module, if the procedure name is not defined in Clause 13, 14 or 15, or reference is inconsistent with requirements in Clause 13, 14 or 15. " [23:27 1.5.2p2(7)] Replace "intrinsic procedures whose names are not defined in Clause; 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 modules; (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===