From owner-sc22wg5@open-std.org  Wed Nov 12 01:10:17 2008
Return-Path: <owner-sc22wg5@open-std.org>
X-Original-To: sc22wg5-dom7
Delivered-To: sc22wg5-dom7@www2.open-std.org
Received: by www2.open-std.org (Postfix, from userid 521)
	id 0414DC178D9; Wed, 12 Nov 2008 01:10:17 +0100 (CET)
X-Original-To: sc22wg5@open-std.org
Delivered-To: sc22wg5@open-std.org
Received: from smtp.llnl.gov (nspiron-3.llnl.gov [128.115.41.83])
	by www2.open-std.org (Postfix) with ESMTP id 2F990C178D6
	for <sc22wg5@open-std.org>; Wed, 12 Nov 2008 01:10:15 +0100 (CET)
X-Attachments: None
X-IronPort-AV: E=McAfee;i="5300,2777,5430"; a="48930487"
X-IronPort-AV: E=Sophos;i="4.33,586,1220252400"; 
   d="scan'208";a="48930487"
Received: from cyrus2.llnl.gov ([128.15.97.105])
  by smtp.llnl.gov with ESMTP; 11 Nov 2008 16:10:13 -0800
From: Aleksandar Donev <donev1@llnl.gov>
Organization: LLNL
Subject: Re: (j3.2006) (SC22WG5.3663) [ukfortran] N1755: Request for new features from MPI Forum
Date: Tue, 11 Nov 2008 16:10:13 -0800
User-Agent: KMail/1.9.4
Cc: WG5 <sc22wg5@open-std.org>
References: <49137AD3.1070402@lrz.de> <20081111224927.8201CC178D9@www2.open-std.org> <20081111234923.517C5C178D6@www2.open-std.org>
In-Reply-To: <20081111234923.517C5C178D6@www2.open-std.org>
MIME-Version: 1.0
Content-Type: text/plain;
  charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
To: Undisclosed.Recipients: ;
Message-Id: <200811111610.13695.donev1@llnl.gov>
Sender: owner-sc22wg5@open-std.org
Precedence: bulk

On Tuesday 11 November 2008 15:51, Bill Long wrote:

> INTENT(IN) implies that the dummy argument does not change its value
> (for the non-pointer case) inside the subprogram.
By means specified by the subprogram. What if the actual changes during the 
execution due to means outside of the program. It would seem very natural to 
me that INTENT(IN) in that case means that the routine should not do copy 
in/out and see the correct value inside the routine.

> Pretty much
> completely incompatible with the implications of volatile.
What implications are those exactly. Please be specific. The VOLATILE 
attribute applies if the object is referenced by means outside of the 
program. It does not have to be changed (defined). Why is that incompatible 
with INTENT(IN).

And more importantly, why is ASYNCHRONOUS different.

Similar stuff for the VALUE attribute. The VALUE attribute and VOLATILE 
together make perfect sense, if the volatility is restricted only to inside 
the routine. The volatility applies to the anonymous copy of the actual, once 
the routine finishes, the changes are thrown out. What is wrong with that?

Best,
Aleks
