comp.lang.ada
 help / color / mirror / Atom feed
From: "Randy Brukardt" <randy@rrsoftware.com>
Subject: Re: Specify priority of main program
Date: Tue, 26 Jan 2021 20:52:50 -0600	[thread overview]
Message-ID: <ruqki3$quv$1@franka.jacob-sparre.dk> (raw)
In-Reply-To: lya6szl448.fsf@pushface.org

"Simon Wright" <simon@pushface.org> wrote in message 
news:lya6szl448.fsf@pushface.org...
> Simon Wright <simon@pushface.org> writes:
>
>> GNAT allows you to specify the main program's priority (actually, I
>> suspect it'd allow it on any parameterless library-level procedure, but
>> only the one actually used as main will count);
>>
>>    procedure Main with Priority => 6 is
>>
>> This is handy for embedded code where you don't want to waste the
>> environment task's stack space but need to run that code at a
>> non-default priority.
>>
>> However, I can't see this use in the ARM; is it an extension?
>
> Found it now: ARM D.1(18).

I believe that CPU also can be specified for a subprogram in this way.

> This isn't mentioned in Annex J, Language Defined Aspects: (46),
>
>   "Priority of a task object or type, or priority of a protected object
>   or type; the priority is not in the interrupt range. See D.1."

These were intended to be super-short descriptions of the aspect; this one 
seems too long already. They're not trying to describe how the aspect is 
specified, just what it is. And it *is* true, since a subprogram aspect 
Priority is setting the priority of the environment task object.

>> If it's not a GNAT extension, what would the ARG view be likely to be
>> for similar permission for Storage_Size (and Secondary_Stack_Size, but
>> that is definitely a GNAT extension)?
>
> But this still stands.

I don't think the definition of Storage_Size would work out-of-the-box for a 
subprogram, since there wouldn't be an obvious place for it to get 
evaluated. So there's more work here than just slapping "for a subprogram" 
on the header. (Priority has to be static for a subprogram, and there is an 
additional rule explaining where it applies.)

But I don't see any other reason that Storage_Size shouldn't be allowed for 
a main subprogram. Probably it would take someone asking... :-)

                                         Randy.




      reply	other threads:[~2021-01-27  2:52 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-23 17:55 Specify priority of main program Simon Wright
2021-01-23 21:45 ` Simon Wright
2021-01-27  2:52   ` Randy Brukardt [this message]
replies disabled

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