comp.lang.ada
 help / color / mirror / Atom feed
From: egilhh <egilhovik@hotmail.com>
Subject: Re: Interresting difference in Normal-Returns/Expression-Functions and Extended-Returns.
Date: Thu, 25 Apr 2013 01:48:47 -0700 (PDT)
Date: 2013-04-25T01:48:47-07:00	[thread overview]
Message-ID: <c5f03831-5aec-4045-835a-d1fad2ccec5e@googlegroups.com> (raw)
In-Reply-To: <03e84773-d616-4a46-8189-93ae4ab5fcbf@googlegroups.com>

On Tuesday, April 23, 2013 7:57:56 PM UTC+2, Adam Beneschan wrote:
> On Tuesday, April 23, 2013 9:52:04 AM UTC-7, Simon Wright wrote:
> 
>  
> I don't see a language reason for that.  The tasks are all created with allocators, and the type of the allocator alone should determine what master the tasks depend on--not a block declaring an array that contains the access objects.  If it's true that the block doesn't exit until all the tasks created by allocators have completed, then it's probably a GNAT bug.  I'd need to study it more carefully to make sure, though.  There may be some relevant language rules I'm missing, or something else I'm missing.
> 

I've been reading up on the accessibility rules (RM 3.10.2), and the rules
for functions returning anonymous access types have changed from 2005 to 2012.
In my understanding, 2012 now requires the block to wait:

RM 3.10.2(10.1/3): "The accessibility level of the result of a function call is
that of the master of the function call, which is determined by the point of
call as follows:"

RM 3.10.2(10.2/3): "If the result is used (in its entirety) to directly
initialize part of an object, the master is that of the object being
initialized. In the case where the initialized object is a coextension (see
below) that becomes a coextension of another object, the master is that of the
eventual object to which the coextension will be transferred."

RM 3.10.2(10.7/3): "In the case of a call to a function whose result type
is an anonymous access type, the accessibility level of the type of the result
of the function call is also determined by the point of call as described
above"),

whereas 2005 permitted the other behavior. (A language lawyer is needed to
confirm this)


-- 
~egilhh



  reply	other threads:[~2013-04-25  8:48 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-04-22 18:27 Interresting difference in Normal-Returns/Expression-Functions and Extended-Returns Shark8
2013-04-22 19:13 ` Dmitry A. Kazakov
2013-04-22 20:11   ` Shark8
2013-04-23  6:15     ` Simon Wright
2013-04-23  7:35     ` Stephen Leake
2013-04-23  8:58     ` Dmitry A. Kazakov
2013-05-02  2:20     ` Randy Brukardt
2013-05-02  4:41       ` Shark8
2013-04-23  6:32 ` egilhh
2013-04-23 15:24   ` Adam Beneschan
2013-04-24  5:56     ` egilhh
2013-04-24 14:40       ` Adam Beneschan
2013-04-25  5:30         ` egilhh
2013-04-25  5:41           ` Shark8
2013-04-23 16:00 ` Adam Beneschan
2013-04-23 16:52   ` Simon Wright
2013-04-23 17:57     ` Adam Beneschan
2013-04-25  8:48       ` egilhh [this message]
2013-04-25 15:19         ` Adam Beneschan
2013-05-02  2:33         ` Randy Brukardt
2013-05-02  2:38       ` Randy Brukardt
2013-05-02 16:15         ` Adam Beneschan
2013-05-02 22:00           ` Randy Brukardt
2013-05-03  1:11         ` Adam Beneschan
2013-05-03  5:34           ` Simon Wright
2013-05-03  6:43           ` egilhh
2013-05-03 16:49             ` Adam Beneschan
2013-05-03 23:09           ` Randy Brukardt
2013-04-23 23:00     ` Shark8
2013-04-23 23:16       ` Adam Beneschan
2013-05-02  2:28   ` Randy Brukardt
2013-05-02 16:37     ` Adam Beneschan
2013-04-23 16:33 ` Simon Wright
replies disabled

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