The syntax for a BLOCK construct does not contain <implicit-stmt>, so it's already impossible. Constraints are only against things that would otherwise be permitted by the syntax rules.
Cheers,
--
..............Malcolm Cohen, NAG Oxford/Tokyo.
-----Original Message-----
From: Fortran 90 List [mailto:[log in to unmask]] On Behalf Of Vipul Parekh
Sent: Wednesday, February 21, 2018 1:40 PM
To: [log in to unmask]
Subject: [COMP-FORTRAN-90] Starting with Fortran 2018, is IMPLICIT statement permitted in a BLOCK construct?
Document N2146 toward Fortran 2018 DIS has in section 11.1.4 BLOCK construct a constraint:
C1107 (R1107) A block-specification-part shall not contain a COMMON, EQUIVALENCE, INTENT, NAMELIST, OPTIONAL, statement function, or VALUE statement.
whereas 10-007r1 toward Fortran 2008 has in the corresponding section 8.1.4:
C806 (R807) The specification-part of a BLOCK construct shall not contain a COMMON, EQUIVALENCE, IMPLICIT, INTENT, NAMELIST, OPTIONAL, statement function, or VALUE statement.
Am I correct in viewing this as a change with respect to the IMPLICIT statement in a BLOCK construct in Fortran 2018?
But I did not notice any direct mention of this as an extension to Fortran 2008 in the Introduction section of N2146. Is it not necessary or is it implied (!) by some other sentence(s)?
I will appreciate any comments or feedback on this aspect with respect to Fortran 2018 and the standard document.
Thanks and best regards,
Vipul Parekh
|