comp.lang.ada
 help / color / mirror / Atom feed
From: Mark Johnson <Mark_H_Johnson@Raytheon.com>
Subject: Re: Elaboration in GNAT
Date: Mon, 07 Jan 2002 11:22:28 -0600
Date: 2002-01-07T11:22:28-06:00	[thread overview]
Message-ID: <3C39D954.58672C0A@Raytheon.com> (raw)
In-Reply-To: 5ee5b646.0201041650.208d0918@posting.google.com

Robert Dewar wrote:
> 
> Some things to remember here:
> 
> 1. The static elaboration model of GNAT is primarily intended for the
> development of new code.
Hmm. I guess I disagree with that statement. See reasons below.

> [snip]
> 3. If you are working with legacy code, it often makes no
> sense to try to use the static model of GNAT, and you should simply
> use -gnatE, and use the RM dynamic elaboration model. I am always
> surprised by people who
> are absolutely determined to beat legacy code into submission to the
> GNAT static model. Yes, of course this
> makes life easier in the future, but you have to be sure
> it is worth the work.

Yes and no. Two examples follow.

The first example follows Robert's suggestion to use -gnatE. To predict
performance of our new system, we got a copy of ACES (Ada Compiler
Evaluation System) and ran several hundred of the test programs through
GNAT on the several target systems. Since this was a study and not
intended to be run operationally, we did not spend the time trying to
find and fix all the problems with this software. The use of -gnatE was
a good way to make progress without a lot of effort.

The second example is our real application. We are nearing the end of
porting a couple million lines of code from Apex & VADS to GNAT. We
actually have a small script that takes the compiler output, recognizes
the "pragma Elaborate_All" messages, and makes those changes
automatically. NONE of our software has broken when this was done. It
was relatively painless and easy to perform. I expect many other well
designed systems fall into this category.

The use of the warning of the compiler and the script to make the
changes has given us confidence that our code is free from any big
issues with elaboration. It is not a "big deal" to make the change in
most cases. As Robert's message goes on to say - complicated elaboration
code is likely filled with bugs anyway. I am glad we don't have this
kind of problem to worry about. 

--
  --Mark



  reply	other threads:[~2002-01-07 17:22 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-11-28 12:34 Elaboration in GNAT Frode Tenneboe
2001-11-28 18:13 ` Mark Johnson
2001-11-29  3:44   ` Robert Dewar
2001-11-29 13:30     ` Stephen Leake
2001-11-28 19:25 ` Robert Dewar
2002-01-04 13:21   ` Frode Tenneboe
2002-01-04 15:07     ` Matthew Heaney
2002-01-05  0:43       ` Robert Dewar
2002-01-05  0:50       ` Robert Dewar
2002-01-07 17:22         ` Mark Johnson [this message]
2002-01-08  0:00           ` Robert Dewar
2002-01-10 21:54         ` Robert A Duff
2002-01-11  4:49           ` Robert Dewar
2002-01-11 13:35             ` Robert A Duff
2002-01-11 19:18               ` Robert Dewar
2002-01-16 11:48           ` Arnaud Charlet
2002-01-05  0:40     ` Robert Dewar
2002-01-07 13:28       ` Frode Tenneboe
2002-01-11 19:25         ` Robert Dewar
2001-11-29 13:13 ` Stephen Leake
2001-11-29 13:17 ` Stephen Leake
2001-11-30 12:44   ` Simon Wright
replies disabled

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