comp.lang.ada
 help / color / mirror / Atom feed
From: "Vinzent Hoefler" <nntp-2010-10@t-domaingrabbing.de>
Subject: Re: Q: Profiles
Date: Fri, 05 Nov 2010 22:28:47 +0100
Date: 2010-11-05T22:28:47+01:00	[thread overview]
Message-ID: <op.vlpu99t60k3wt7@jellix.jlfencey.com> (raw)
In-Reply-To: 4cd47014$0$6989$9b4e6d93@newsspool4.arcor-online.net

On Fri, 05 Nov 2010 21:59:00 +0100, Georg Bauhaus <rm-host.bauhaus@maps.futureapps.de> wrote:

> On 11/5/10 9:14 PM, Vinzent Hoefler wrote:
>> On Fri, 05 Nov 2010 12:05:42 +0100, Georg Bauhaus <rm-host.bauhaus@maps.futureapps.de> wrote:
>>
>>> The Ravenscar profile (and the Restricted profile in GNAT)
>>> assume we want our tasks to run forever. Programs will be
>>> supported by a lean and efficient run-time.
>>>
>>> What if I just want the lean and efficient Ravenscar run-time
>>> but do want my tasks to terminate?
>>
>> I'd suggest to use the appropriate list of Restriction pragmas then.
>
> I think I need to place a pragma Profile (Ravenscar)
> or (Restricted) (in the case of GNAT) to make the compiler pick
> the desired run-time.  But then tasks won't terminate.

If you can stick to GNAT only, this isn't true. "No_Task_Termination" is an additional
restriction for the Ravenscar profile which isn't in the original set. See GNAT RM:

|The above set is a superset of the restrictions provided by pragma Profile (Restricted),
|it includes six additional restrictions (Simple_Barriers, No_Select_Statements,
|No_Calendar, No_Implicit_Heap_Allocations, No_Relative_Delay and No_Task_Termination).
                                                               ^^^^^^^^^^^^^^^^^^^^^^^
|This means that pragma Profile (Ravenscar), like the pragma Profile (Restricted),
|automatically causes the use of a simplified, more efficient version of the tasking
|run-time system.

Maybe I am wrong, but I would expect the binder to use the "simplified, more efficient
version" as soon as the proper set of restrictions is met, no matter if they are given
in a "pragma Profile (...)" or as an explicit list of "pragma Restrictions (...)".

And BTW, the "tasks won't terminate" is probably not true in its literal sense, it's
just erroneous behaviour if they do in a Ravenscar profile restricted program. ;)


Vinzent.

-- 
There is no signature.



  reply	other threads:[~2010-11-05 21:28 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-11-05 11:05 Q: Profiles Georg Bauhaus
2010-11-05 11:37 ` Yannick Duchêne (Hibou57)
2010-11-05 11:50   ` Georg Bauhaus
2010-11-05 20:14 ` Vinzent Hoefler
2010-11-05 20:59   ` Georg Bauhaus
2010-11-05 21:28     ` Vinzent Hoefler [this message]
2010-11-05 23:11       ` Ed Falis
2010-11-06  0:03         ` Georg Bauhaus
2010-11-06  3:27         ` Yannick Duchêne (Hibou57)
2010-11-06 14:43           ` Ed Falis
2010-11-06 14:53             ` Ludovic Brenta
2010-11-06 18:51               ` Ed Falis
2010-11-09 11:04 ` Matteo Bordin
2010-11-09 11:40   ` Georg Bauhaus
2010-11-09 13:09     ` Matteo Bordin
replies disabled

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