comp.lang.ada
 help / color / mirror / Atom feed
From: Niklas Holsti <nholsti@icon.fi>
Subject: Re: Compiler bug (Semantics of pargma inline)
Date: 1999/03/24
Date: 1999-03-24T00:00:00+00:00	[thread overview]
Message-ID: <36F94DBB.E7CAAB1@icon.fi> (raw)
In-Reply-To: V2TJ2.39813$Hn5.21599@newsfeeds.bigpond.com

Per & Marianne sandberg wrote:
          [snip] 
>   function Until_Next return Duration;
>   pragma Inline (Until_Next);
          [snip]
>   select
          [snip]
>   or
>      when Is_Pending =>
>         delay (Until_Next);
>         Text_Io.Put_Line ("Gaah!");
>   end select;
          [snip]
> What appends is when pragma inline is used on the "Until_Next"
> function the function is called even if
> the guard "Is_Pending" evaluates to false and i considder this a bug
> regardles of inline or not.

According to LRM 9.7.1(15), defining the dynamic semantics of
the Selective Accept, "For an open delay_alternative, the
delay_expression is also evaluated." This implies, IMHO,
that for a closed delay_alternative, the delay_expression
should not be evaluated. Since Is_Pending returns False,
the alternative is closed, and Until_Next should not be
called. So I tend to agree with you.

Niklas Holsti
Working at but not speaking for Space Systems Finland Ltd.




  reply	other threads:[~1999-03-24  0:00 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1999-03-24  0:00 Compiler bug (Semantics of pargma inline) Per & Marianne sandberg
1999-03-24  0:00 ` Niklas Holsti [this message]
1999-03-24  0:00 ` Chad Bremmon
1999-03-25  0:00 ` Per & Marianne sandberg
replies disabled

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