comp.lang.ada
 help / color / mirror / Atom feed
From: "Randy Brukardt" <randy@rrsoftware.com>
Subject: Re: Why can't objects be static in Ada?
Date: Mon, 15 Apr 2019 20:40:43 -0500
Date: 2019-04-15T20:40:43-05:00	[thread overview]
Message-ID: <q93bqr$qj3$1@franka.jacob-sparre.dk> (raw)
In-Reply-To: bc07b54c-0e86-4a40-931c-ca52d0295564@googlegroups.com

<sbelmont700@gmail.com> wrote in message 
news:bc07b54c-0e86-4a40-931c-ca52d0295564@googlegroups.com...
> For anyone interested, here is a minimal reproduction of what (i think)
>is the OP's issue (the actual for the generic instantiation, not the 
>constant itself).
>
>
> package Static is
>  pragma Preelaborate;

I view this as self-inflicted, because there's no little value to pragma 
Preelaborate. As I previously noted, compilers will almost always generate 
the best possible elaboration code whether or not that pragma is applied. 
And regardless of C.4, not all preelaborated code can be done before load 
time, so it isn't providing a benefit in forcing that sort of code, either.

It's one of the ideas where Ada tried to accomplish something, but didn't 
quite succeed. Pure is like that as well, but at least it provides some 
benefits for Annex E code. Preelaborate doesn't even do that.

Especially when using GNAT and its static elaboration model (which 
eliminates elaboration checks from the equation -- that's the only benefit 
from using it in Janus/Ada).

                                                       Randy.




  reply	other threads:[~2019-04-16  1:40 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-04-11 12:40 Why can't objects be static in Ada? Lucretia
2019-04-11 12:56 ` Mark Lorenzen
2019-04-11 13:31   ` Lucretia
2019-04-11 22:49 ` Randy Brukardt
2019-04-12  1:56   ` Lucretia
2019-04-12  7:33     ` Dmitry A. Kazakov
2019-04-12 22:38     ` Randy Brukardt
2019-04-13  9:14       ` Lucretia
2019-04-12  6:59   ` Mark Lorenzen
2019-04-12  8:12     ` Simon Wright
2019-04-12 22:02     ` Randy Brukardt
2019-04-13 13:07 ` Jere
2019-04-13 13:48   ` Lucretia
2019-04-15 17:46     ` G. B.
2019-04-14  3:47 ` Keith Thompson
2019-04-16  0:08 ` sbelmont700
2019-04-16  1:40   ` Randy Brukardt [this message]
2019-04-16 12:11     ` Mark Lorenzen
2019-04-16 16:19       ` Simon Wright
2019-04-16 20:56       ` Lucretia
2019-04-16 21:07         ` Niklas Holsti
2019-04-16 21:16           ` Lucretia
2019-04-16 21:40             ` Niklas Holsti
2019-04-16 23:26             ` Randy Brukardt
2019-04-23 14:30           ` Mark Lorenzen
2019-04-16 23:09       ` Randy Brukardt
2019-04-22 20:05       ` Norman Worth
2019-04-16 20:54     ` Lucretia
2019-04-16 23:15       ` Randy Brukardt
2019-04-16 20:53   ` Lucretia
2019-04-18 13:32 ` sbelmont700
replies disabled

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