comp.lang.ada
 help / color / mirror / Atom feed
From: Dick Hendrickson <dick.hendrickson@att.net>
Subject: Re: another way to shoot yourself in the foot?
Date: Thu, 10 Jul 2008 20:45:03 GMT
Date: 2008-07-10T20:45:03+00:00	[thread overview]
Message-ID: <jxudk.215921$SV4.165561@bgtnsc04-news.ops.worldnet.att.net> (raw)
In-Reply-To: <qOtdk.215743$SV4.194882@bgtnsc04-news.ops.worldnet.att.net>

James Giles wrote:
> Craig Powers wrote:
>> Dick Hendrickson wrote:
>>> Colin Paul Gloster wrote:
>>>> Does Fortran always automatically check if the INTERFACE actually
>>>> corresponds to the code?
>>>>
>>> Depends on the compiler, but in general NO.  I think all
>>> compilers will detect an explicit assignment to a dummy
>>> argument that has INTENT(IN) in the subroutine; I'm not sure
>>> any will detect an assignment if the dummy is passed on
>>> to another routine and that routine (illegally) assigns to
>>> its argument.
>> Is that actually possible without lying about an interface?  i.e. Is
>> it possible to pass an INTENT(IN) dummy as an actual argument to a
>> more permissive dummy argument in another routine (no intent or
>> intent OUT)
> 
> It's not permitted.  The standard doesn't require implementations to
> verify that it's not done.  That is, it's not one of the kinds of error
> that the standard requires implementations to detect and report.
> 
You're partially wrong, James.  It is permitted to pass a dummy
with INTENT(IN) to a subroutine that doesn't specify either
INTENT(INOUT) or INTENT(OUT).  You can pass them to a subroutine
that doesn't specify intent and even potentially modifies
its argument.  You can't lie in an interface, but you can
call routines that don't have an interface.  Those routines are
required to do the right thing; but the compiler isn't required
to detect violations.

Dick Hendrickson



  reply	other threads:[~2008-07-10 20:45 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-06-20  9:03 another way to shoot yourself in the foot? fedya_fedyakoff
2008-06-20  9:34 ` Dmitry A. Kazakov
2008-06-20  9:48   ` fedya_fedyakoff
2008-06-20 10:01     ` Ludovic Brenta
2008-06-20 10:05 ` christoph.grein
2008-06-20 10:26   ` Dmitry A. Kazakov
2008-06-20 16:12     ` Adam Beneschan
2008-06-20 15:48   ` Adam Beneschan
2008-06-20 19:27   ` Robert A Duff
2008-06-20 23:37     ` Jeffrey R. Carter
2008-06-21  8:56       ` Dmitry A. Kazakov
2008-06-22 20:44         ` Robert A Duff
2008-06-23  7:49           ` Dmitry A. Kazakov
2008-06-24  4:02             ` george.priv
2008-06-24  7:30               ` Dmitry A. Kazakov
2008-06-24 17:16                 ` Robert A Duff
2008-06-24 19:15                   ` Jeffrey R. Carter
2008-06-24 20:31                     ` Robert A Duff
2008-06-24 20:50                       ` Ludovic Brenta
2008-06-24 23:02                         ` Robert A Duff
2008-06-24 23:42                         ` Georg Bauhaus
2008-06-24 21:24                       ` Jeffrey R. Carter
2008-06-24 23:24                         ` Robert A Duff
2008-06-25 15:07                       ` Adam Beneschan
2008-06-24 14:59             ` Adam Beneschan
2008-06-24 16:41               ` Dmitry A. Kazakov
2008-06-24 17:20                 ` Robert A Duff
2008-06-24 17:52                   ` Dmitry A. Kazakov
2008-06-24 23:35                     ` Georg Bauhaus
2008-06-25  8:09                       ` Dmitry A. Kazakov
2008-06-25 10:32                         ` Georg Bauhaus
2008-06-25 12:06                           ` Dmitry A. Kazakov
2008-06-22 20:37       ` Robert A Duff
2008-06-22 21:25         ` Jeffrey R. Carter
2008-07-04 20:52           ` Colin Paul Gloster
2008-07-04 22:15             ` (see below)
2008-07-05 16:06               ` Colin Paul Gloster
2008-07-05 13:38             ` Gary Scott
2008-07-05 16:42               ` Colin Paul Gloster
2008-07-05 19:00                 ` Gary Scott
2008-07-09 19:39                   ` Colin Paul Gloster
2008-07-09 20:35                     ` Richard Maine
2008-07-09 22:49                       ` Terence
2008-07-10  1:07                         ` Gary Scott
2008-07-10 14:10                       ` Colin Paul Gloster
2008-07-10 14:57                         ` fj
2008-07-10 16:47                           ` Richard Maine
2008-07-10 17:03                         ` Dick Hendrickson
2008-07-10 17:26                           ` Craig Powers
2008-07-10 19:55                             ` James Giles
2008-07-10 20:45                               ` Dick Hendrickson [this message]
2008-07-10 21:22                                 ` Richard Maine
2008-07-10 21:29                                   ` Craig Powers
2008-07-10 20:45                               ` Craig Powers
2008-07-10 19:51                           ` James Giles
2008-07-11 15:02                             ` Colin Paul Gloster
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox