comp.lang.ada
 help / color / mirror / Atom feed
* GNAT: pragma Ravenscar
@ 1999-11-30  0:00 Alfred Hilscher
  1999-11-30  0:00 ` Florian Weimer
  0 siblings, 1 reply; 10+ messages in thread
From: Alfred Hilscher @ 1999-11-30  0:00 UTC (permalink / raw)


First I have to say, that I use GNAT on WinNT and build the programs
with the Ada GUI IDE. 

I have a simple question about the pragma Ravenscar.

I thought when I build the same program twice, once with this pragma and
again without this pragma then I would get different sized exe-files
(because a smaller runtime included). But when I did so, I've got both
times the same size. Do I missunderstand what the pragma does or do I
miss some GNAT switches ? I've looked to the documentation but I found
no answer there.




^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: GNAT: pragma Ravenscar
  1999-11-30  0:00 GNAT: pragma Ravenscar Alfred Hilscher
@ 1999-11-30  0:00 ` Florian Weimer
  1999-12-01  0:00   ` Robert Dewar
  1999-12-01  0:00   ` Jean-Marc Bourguet
  0 siblings, 2 replies; 10+ messages in thread
From: Florian Weimer @ 1999-11-30  0:00 UTC (permalink / raw)


Alfred Hilscher <Alfred.Hilscher@icn.siemens.de> writes:

> I thought when I build the same program twice, once with this pragma and
> again without this pragma then I would get different sized exe-files
> (because a smaller runtime included). But when I did so, I've got both
> times the same size. Do I missunderstand what the pragma does or do I
> miss some GNAT switches ? I've looked to the documentation but I found
> no answer there.

The GNAT No Runtime support (GNORT) doesn't seem to be part of the
public distribution.

(Of course, this is a GNAT-specific question and should have been asked
on chat@gnat.com. ;)




^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: GNAT: pragma Ravenscar
  1999-11-30  0:00 ` Florian Weimer
  1999-12-01  0:00   ` Robert Dewar
@ 1999-12-01  0:00   ` Jean-Marc Bourguet
  1999-12-01  0:00     ` Florian Weimer
  1 sibling, 1 reply; 10+ messages in thread
From: Jean-Marc Bourguet @ 1999-12-01  0:00 UTC (permalink / raw)


In article <87vh6j4tpo.fsf@deneb.cygnus.argh.org>,
  " "@deneb.cygnus.argh.org (Florian Weimer) wrote:
> Alfred Hilscher <Alfred.Hilscher@icn.siemens.de> writes:
>
> > I thought when I build the same program twice, once with this pragma
> > and again without this pragma then I would get different sized
> > exe-files (because a smaller runtime included). But when I did so,
> > I've got both times the same size. Do I missunderstand what the
> > pragma does or do I miss some GNAT switches ? I've looked to the
> > documentation but I found no answer there.

As I understood it, pragma Ravenscar aim was to enforce some
restrictions, not to reduce the run time size. (I seems to recall
another pragma Resticted_Run_Time which had this goal). I've never
used these pragmas so I may be wrong.

> The GNAT No Runtime support (GNORT) doesn't seem to be part of the
> public distribution.

With 3.12p, gnat does accept the pragma and seems to make something
with it. What I've not found is the manual which is referenced in
the gnat documentation. It does nearly was I was expecting, except
for one time where it generated non linkable code where I'd have
expected a warning, but as I've done something which was meaningless,
without the documentation I may not say it is a bug. What I succeeded
to do is boot a PC and after a bootstrap in asm, jump to a main program
written in Ada using several packages some of which needed elaboration.

Pragma Ravenscar is something else than GNORT, which is as far
as I known completely documented in the publicly available gnat
documentation.

> (Of course, this is a GNAT-specific question and should have been
> asked on chat@gnat.com. ;)

Never a bad advice.

-- Jean-Marc


Sent via Deja.com http://www.deja.com/
Before you buy.




^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: GNAT: pragma Ravenscar
  1999-11-30  0:00 ` Florian Weimer
@ 1999-12-01  0:00   ` Robert Dewar
  1999-12-01  0:00   ` Jean-Marc Bourguet
  1 sibling, 0 replies; 10+ messages in thread
From: Robert Dewar @ 1999-12-01  0:00 UTC (permalink / raw)


In article <87vh6j4tpo.fsf@deneb.cygnus.argh.org>,
  " "@deneb.cygnus.argh.org (Florian Weimer) wrote:
> Alfred Hilscher <Alfred.Hilscher@icn.siemens.de> writes:
>
> The GNAT No Runtime support (GNORT) doesn't seem to be part of
> the public distribution.

GNORT has nothing to do with pragma Ravenscar, so this comment
is not relevant to the subject at hand. Pragma No_Run_Time is
available in the public release but does something else
entirely.


Sent via Deja.com http://www.deja.com/
Before you buy.




^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: GNAT: pragma Ravenscar
  1999-12-01  0:00   ` Jean-Marc Bourguet
@ 1999-12-01  0:00     ` Florian Weimer
  1999-12-02  0:00       ` Florian Weimer
                         ` (2 more replies)
  0 siblings, 3 replies; 10+ messages in thread
From: Florian Weimer @ 1999-12-01  0:00 UTC (permalink / raw)


Jean-Marc Bourguet <bourguet@my-deja.com> writes:

> In article <87vh6j4tpo.fsf@deneb.cygnus.argh.org>,
>   " "@deneb.cygnus.argh.org (Florian Weimer) wrote:
> > Alfred Hilscher <Alfred.Hilscher@icn.siemens.de> writes:
> >
> > > I thought when I build the same program twice, once with this pragma
> > > and again without this pragma then I would get different sized
> > > exe-files (because a smaller runtime included). But when I did so,
> > > I've got both times the same size. Do I missunderstand what the
> > > pragma does or do I miss some GNAT switches ? I've looked to the
> > > documentation but I found no answer there.
> 
> As I understood it, pragma Ravenscar aim was to enforce some
> restrictions, not to reduce the run time size. (I seems to recall
> another pragma Resticted_Run_Time which had this goal). I've never
> used these pragmas so I may be wrong.

The Ravenscar restrictions permit the use of a simplified run time
environment.

The GNAT reference manual says the following (for Resticted_Run_Time,
pragma Ravenscar is similar):

|    This set of restrictions causes the automatic selection of a
|    simplified version of the run time that provides improved
|    performance for the limited set of tasking functionality permitted
|    by this set of restrictions.

But GNAT 3.12p doesn't enforce the restrictions, and the standard run
time library is always used.  Some time ago, I browsed the compiler
sources, and IIRC I found nothing which looks like a handler for these
pragmas, so I think they are a no-op in the public version.




^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: GNAT: pragma Ravenscar
  1999-12-01  0:00     ` Florian Weimer
  1999-12-02  0:00       ` Florian Weimer
@ 1999-12-02  0:00       ` Robert Dewar
  1999-12-03  0:00         ` Dan Baysinger
  1999-12-03  0:00         ` Alfred Hilscher
  1999-12-02  0:00       ` Alfred Hilscher
  2 siblings, 2 replies; 10+ messages in thread
From: Robert Dewar @ 1999-12-02  0:00 UTC (permalink / raw)


In article <877liy2u7d.fsf@deneb.cygnus.argh.org>,
  " "@deneb.cygnus.argh.org (Florian Weimer) wrote:
 But GNAT 3.12p doesn't enforce the restrictions

It should do so! These pragmas are certainly not "no ops"


> and the standard run
> time library is always used.

Right, that's true of 3.12 technology, the restricted run time
is not activated till 3.13.





Sent via Deja.com http://www.deja.com/
Before you buy.




^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: GNAT: pragma Ravenscar
  1999-12-01  0:00     ` Florian Weimer
  1999-12-02  0:00       ` Florian Weimer
  1999-12-02  0:00       ` Robert Dewar
@ 1999-12-02  0:00       ` Alfred Hilscher
  2 siblings, 0 replies; 10+ messages in thread
From: Alfred Hilscher @ 1999-12-02  0:00 UTC (permalink / raw)


I remember the announcement of GNAT 3.12 for WinNT (by Robert Dewar),
and there the pramgma was mentioned. Thats why I think it would be
available in this version. But as I found no detailed explanation in the
documentation I'm not sure whether it is an what it does.

Florian Weimer wrote:
> The Ravenscar restrictions permit the use of a simplified run time
> environment.
> 
> The GNAT reference manual says the following (for Resticted_Run_Time,
> pragma Ravenscar is similar):
> 
> |    This set of restrictions causes the automatic selection of a
> |    simplified version of the run time that provides improved
> |    performance for the limited set of tasking functionality permitted
> |    by this set of restrictions.
> 
> But GNAT 3.12p doesn't enforce the restrictions, and the standard run
> time library is always used.  Some time ago, I browsed the compiler
> sources, and IIRC I found nothing which looks like a handler for these
> pragmas, so I think they are a no-op in the public version.




^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: GNAT: pragma Ravenscar
  1999-12-01  0:00     ` Florian Weimer
@ 1999-12-02  0:00       ` Florian Weimer
  1999-12-02  0:00       ` Robert Dewar
  1999-12-02  0:00       ` Alfred Hilscher
  2 siblings, 0 replies; 10+ messages in thread
From: Florian Weimer @ 1999-12-02  0:00 UTC (permalink / raw)


" "@deneb.cygnus.argh.org (Florian Weimer) writes:

> But GNAT 3.12p doesn't enforce the restrictions, and the standard run
> time library is always used.  Some time ago, I browsed the compiler
> sources, and IIRC I found nothing which looks like a handler for these
> pragmas, so I think they are a no-op in the public version.

This is wrong.  I confused it with pragma No_Runtime, which is
misspelled in the documentation.  Sorry about that.




^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: GNAT: pragma Ravenscar
  1999-12-02  0:00       ` Robert Dewar
@ 1999-12-03  0:00         ` Dan Baysinger
  1999-12-03  0:00         ` Alfred Hilscher
  1 sibling, 0 replies; 10+ messages in thread
From: Dan Baysinger @ 1999-12-03  0:00 UTC (permalink / raw)


I don't know about the Ravenscar pragma, but I can attest to the fact
that the No_Run_Time pragma is enforced by GNAT 3.12p.  If it's in your
gnat.adc file before you link, you just don't get a runtime system at
all.  If it's in your gnat.adc before you compile, then the compile
will identify any constructs that require runtime system support.  I
used it to create Tcl commands with Ada in a shell that included
Expect.  That way I was confident that Expect could handle the signals
without conficts with the Ada runtime system.  It also makes for a much
smaller executable.


* Sent from RemarQ http://www.remarq.com The Internet's Discussion Network *
The fastest and easiest way to search and participate in Usenet - Free!





^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: GNAT: pragma Ravenscar
  1999-12-02  0:00       ` Robert Dewar
  1999-12-03  0:00         ` Dan Baysinger
@ 1999-12-03  0:00         ` Alfred Hilscher
  1 sibling, 0 replies; 10+ messages in thread
From: Alfred Hilscher @ 1999-12-03  0:00 UTC (permalink / raw)


Thanks for this info. Will this be available both in Windows and OS/2 ?

Robert Dewar wrote:
> Right, that's true of 3.12 technology, the restricted run time
> is not activated till 3.13.




^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~1999-12-03  0:00 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1999-11-30  0:00 GNAT: pragma Ravenscar Alfred Hilscher
1999-11-30  0:00 ` Florian Weimer
1999-12-01  0:00   ` Robert Dewar
1999-12-01  0:00   ` Jean-Marc Bourguet
1999-12-01  0:00     ` Florian Weimer
1999-12-02  0:00       ` Florian Weimer
1999-12-02  0:00       ` Robert Dewar
1999-12-03  0:00         ` Dan Baysinger
1999-12-03  0:00         ` Alfred Hilscher
1999-12-02  0:00       ` Alfred Hilscher

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