comp.lang.ada
 help / color / mirror / Atom feed
From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: Language lawyer question: task activation
Date: Thu, 19 Feb 2009 18:57:10 +0100
Date: 2009-02-19T18:57:12+01:00	[thread overview]
Message-ID: <1dusr7frk73m7.nlsagplge0hk.dlg@40tude.net> (raw)
In-Reply-To: ccf8fc4b-80e3-4732-84e3-16c4e2d10c3d@v39g2000pro.googlegroups.com

On Thu, 19 Feb 2009 09:37:31 -0800 (PST), Adam Beneschan wrote:

> with Text_IO;
> procedure Test is
> 
>     task type TType is
>         entry E1;
>     end TType;
> 
>     task body TType is
>     begin
>          accept E1 do
>             Text_IO.Put_Line ("E1 accepted");
>          end E1;
>     end TType;
> 
>     function Func return TType is
>     begin
>         return X : TType;
>     end Func;
> 
>     procedure Do_It (X : TType) is
>     begin
>         X.E1;
>     end Do_It;
> 
> begin
>     Do_It (Func);
> end Test;

Cool! I am not a language lawyer but I think it is a bug. Even more funny
it becomes with:

   function Func return TType is
   begin
      return X : TType do
         X.E1; -- Communicating with not yet returned object!
      end return;
   end Func;

I guess that GNAT does not fire the task until its "construction," which
happens too late in these cases. I cannot tell if this behavior is correct.
Anyway is nicely illustrates why 2005 return statements and Pickwickian
functions are bogus.

Let's see what others say.

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de



  reply	other threads:[~2009-02-19 17:57 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-02-19 17:37 Language lawyer question: task activation Adam Beneschan
2009-02-19 17:57 ` Dmitry A. Kazakov [this message]
2009-02-19 23:57   ` Robert A Duff
2009-02-20 13:22     ` Dmitry A. Kazakov
2009-02-23  7:36       ` Jean-Pierre Rosen
2009-02-20  5:43   ` christoph.grein
2009-02-20 10:44     ` Dmitry A. Kazakov
2009-02-20 11:14       ` christoph.grein
2009-02-20 12:07         ` mockturtle
2009-02-20 13:22           ` Dmitry A. Kazakov
2009-02-20 16:45             ` Georg Bauhaus
2009-02-20 18:41               ` Dmitry A. Kazakov
2009-02-20 22:19                 ` Georg Bauhaus
2009-02-21  8:31                   ` Dmitry A. Kazakov
2009-02-27 23:29                     ` Randy Brukardt
2009-02-28  8:13                       ` Why constructing functions is a mess [was Language lawyer question: task activation (was: Language lawyer question: task activation)) Dmitry A. Kazakov
2009-02-28 12:20                         ` Why constructing functions is a mess [was Language lawyer question: task activation Georg Bauhaus
2009-02-28 13:45                           ` Dmitry A. Kazakov
2009-02-28 15:36                             ` Georg Bauhaus
2009-02-28 16:22                               ` Dmitry A. Kazakov
2009-02-28 17:19                                 ` Georg Bauhaus
2009-02-28 17:48                                   ` Dmitry A. Kazakov
2009-02-28 18:39                                     ` Georg Bauhaus
2009-02-28 20:17                                       ` Dmitry A. Kazakov
2009-03-02 16:13                                         ` Georg Bauhaus
2009-03-02 17:46                                           ` Dmitry A. Kazakov
2009-03-02 18:50                                             ` Georg Bauhaus
2009-03-02 21:02                                               ` Dmitry A. Kazakov
2009-03-03  7:04                                                 ` christoph.grein
2009-03-03  8:45                                                   ` Dmitry A. Kazakov
2009-03-03  9:27                                                     ` christoph.grein
2009-03-03  9:34                                                       ` Dmitry A. Kazakov
2009-03-03 19:13                                                       ` Pascal Obry
2009-03-04  5:29                                                         ` christoph.grein
2009-03-04  8:32                                                           ` Dmitry A. Kazakov
2009-03-04  9:05                                                             ` christoph.grein
2009-03-04  9:47                                                               ` Dmitry A. Kazakov
2009-02-28 23:12                             ` Maciej Sobczak
2009-03-01  8:23                               ` Dmitry A. Kazakov
2009-02-19 23:54 ` Robert A Duff
2009-02-20 10:18 ` Robert_Matthews
2009-02-20 10:34   ` christoph.grein
2009-02-20 14:16   ` Robert A Duff
2009-02-20 16:57     ` Robert_Matthews
replies disabled

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