<html>
<!-- BEGIN WEBMAIL STATIONERY -->
<head></head>
<body>
<!-- WEBMAIL STATIONERY notheme -->
<div></div>
<!--<BR>-->
<div> </div>
<blockquote style="border-left: 2px solid rgb(16, 16, 255); padding-left: 5px; margin-left: 5px;">
-------------- Original message from Van Snyder <Van.Snyder@jpl.nasa.gov>: --------------
<br>
<br>
<br>> [09-007r3:281:29-31 12.4.3.2p6] says
<br>>
<br>> An interface body specifies all of the characteristics of the
<br>> explicit specific interface or abstract interface. The
<br>> specifiation part of an interface body may specify attributes or
<br>> define values for data entities that do not determine
<br>> characteristics of the procedure. Such specifications have no
<br>> effect.
<br>>
<br>> This has been around forever.
<br><br>Or at least since the early 90s ;).<br>>
<br>> All the compilers I met rejected the following sort of thing
<br>>
<br>> interface
<br>> subroutine sub ( A )
<br>> real :: A
<br>> integer :: J, I(J)
<br>> character(*) :: C
<br>> end subroutine sub
<br>> end interface
<br>>
<br>> because a statement is missing
<br>> parameter ( J=3, C="xyz" )
<br>>
<br>> Must the declarations that have no effect satisfy the constraints that
<br>> would be relevant if they were to have an effect?
<br>>
<br>> --
<br>> Van Snyder | What fraction of Americans believe
<br>> Van.Snyder@jpl.nasa.gov | Wrestling is real and NASA is fake?
<br>> Any alleged opinions are my own and have not been approved or
<br>> disapproved by JPL, CalTech, NASA, the President, or anybody else.
<br>>
<br>> _______________________________________________
<br>> J3 mailing list
<br>> J3@j3-fortran.org
<br>> http://j3-fortran.org/mailman/listinfo/j3<br><br>There was a similar question about INTENT(IN) also in the early 90s. Given<br> INTENT(IN) X<br>is something like<br> IF (.FALSE.) X = 0<br>standard conforming? The answer was NO, and I think words were changed from something like "intent(in) objects must not become defined" to "intent(in) objects must not appear in a definition context."<br><br>As I recall, there was some worry about distinguishing between compile time and run time issues, without actually mentioning compile time or run time. We didn't want to disallow something like<br> IF (X .GT. 0.0) y = sqrt(x)<br>and not encourage stupidities like<br> IF (X .GT. 0.0) y = sqrt (-1.0)<br><br>That might be why the words aren't clear.<br><br>Dick Hendrickson<br></blockquote>
<!-- END WEBMAIL STATIONERY -->
</body>
</html>