comp.lang.ada
 help / color / mirror / Atom feed
* GNAT 3.09 vs 3.10 on Linux
@ 1997-09-21  0:00 bklungle
  1997-09-22  0:00 ` David C. Hoos, Sr.
  1997-09-22  0:00 ` David C. Hoos, Sr.
  0 siblings, 2 replies; 4+ messages in thread
From: bklungle @ 1997-09-21  0:00 UTC (permalink / raw)



I have been using 3.09 for the last 6 months on a system (about 22_000
lines). Compiles on Verdix also. On the 12th of Sep, I downloaded 3.10 and
installed it. The compilation phase took over twice as long as 3.09, and it
claimed there were circular package dependencies which no other compiler
mentioned. I traced them by hand and it seems to think any body arrivable
at more than once by tracing across specs and bodies is circular. This
trace appears to be wrong. It refuses to continue. I reinstalled 3.09 and
all is now well. Anybody seen similar??

bob




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

* Re: GNAT 3.09 vs 3.10 on Linux
  1997-09-21  0:00 GNAT 3.09 vs 3.10 on Linux bklungle
@ 1997-09-22  0:00 ` David C. Hoos, Sr.
  1997-09-23  0:00   ` bklungle
  1997-09-22  0:00 ` David C. Hoos, Sr.
  1 sibling, 1 reply; 4+ messages in thread
From: David C. Hoos, Sr. @ 1997-09-22  0:00 UTC (permalink / raw)



To follow on my previous message:

Yes, and while I like fast compilation, too, I'll take slower compiles that
save debugging time
any day of the week.  Besides, gnat's compilation model is so superior to
that of the Ada83
compilers with which we had to contend for so long, I don't complain at all
about compilation
speed.

Indidentally, the ability to eliminate recompilation for files which are
changed, but without
semantic modificaton -- e.g., adding comments -- by using the -m switch on
gnatmake is
really nice.

David C. Hoos, Sr.,
david.c.hoos.sr@ada95.com

bklungle <bklungle@ix.netcom.com> wrote in article
<01bcc6cc$c839f200$8dfd1fcc@p5120>...
> I have been using 3.09 for the last 6 months on a system (about 22_000
> lines). Compiles on Verdix also. On the 12th of Sep, I downloaded 3.10
and
> installed it. The compilation phase took over twice as long as 3.09, and
it
> claimed there were circular package dependencies which no other compiler
> mentioned. I traced them by hand and it seems to think any body arrivable
> at more than once by tracing across specs and bodies is circular. This
> trace appears to be wrong. It refuses to continue. I reinstalled 3.09 and
> all is now well. Anybody seen similar??
> 
> bob
> 




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

* Re: GNAT 3.09 vs 3.10 on Linux
  1997-09-21  0:00 GNAT 3.09 vs 3.10 on Linux bklungle
  1997-09-22  0:00 ` David C. Hoos, Sr.
@ 1997-09-22  0:00 ` David C. Hoos, Sr.
  1 sibling, 0 replies; 4+ messages in thread
From: David C. Hoos, Sr. @ 1997-09-22  0:00 UTC (permalink / raw)



I found what may be similar differences between 3.09 and 3.10, although
it's diffucult to say for
sure, because you didn't give an exact quote of the messages you received.

What I encountered were circular elaboration dependencies.  The compiler
was correct, and
the solution was to remove elaboration code from one of the package bodies
in the loop.
What I had to do was to put the body initialization code in a procedure, so
that the body did not
require elaboration.  The, I placed a boolean variable in the package body,
initialized to False,
which indicated whether initialization had been done.  Finally, in all of
the subprograms in that
body which depended on the initialization being done, I placed a
conditional call to the
initilaization procedure, and set the boolean to True.

I did it this way, because to redesign the package dependencies would have
required more
time than the schedule allows.

I, for one am grateful for the new elaboration dependency checking in gnat
3.10, as having it
sooner would have saved lots of debugging time where people had not used
pragma
Elaborate where they shoud have, and then the program dies with a
Program_Error exception.
I had always wondered why ada prelinkers/binders didn't get it right before
now -- but it
surely looks like they have it now.

By the way, this was on two different platforms -- sun Solaris and Wnindows
NT, but I'm sure
the logic is the same for Linux

David C. Hoos, Sr.
david.c.hoos.sr@ada95.com

bklungle <bklungle@ix.netcom.com> wrote in article
<01bcc6cc$c839f200$8dfd1fcc@p5120>...
> I have been using 3.09 for the last 6 months on a system (about 22_000
> lines). Compiles on Verdix also. On the 12th of Sep, I downloaded 3.10
and
> installed it. The compilation phase took over twice as long as 3.09, and
it
> claimed there were circular package dependencies which no other compiler
> mentioned. I traced them by hand and it seems to think any body arrivable
> at more than once by tracing across specs and bodies is circular. This
> trace appears to be wrong. It refuses to continue. I reinstalled 3.09 and
> all is now well. Anybody seen similar??
> 
> bob
> 




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

* Re: GNAT 3.09 vs 3.10 on Linux
  1997-09-22  0:00 ` David C. Hoos, Sr.
@ 1997-09-23  0:00   ` bklungle
  0 siblings, 0 replies; 4+ messages in thread
From: bklungle @ 1997-09-23  0:00 UTC (permalink / raw)



David, I agree with everything you said. However it was not an elaboration
dependency, just a visibility trace from a body to the same body via specs
withed by bodies. I did a check and there was no actual circularity. I will
have to reinstall 3.10 to get the actual message.

I'm not sure the compilation time is due to more checking (the release says
i386), but maybe.

bob

David C. Hoos, Sr. <david.c.hoos.sr@ada95.com> wrote in article
<01bcc74e$3e6febb0$4e8371a5@dhoossr>...
> To follow on my previous message:
> 
> Yes, and while I like fast compilation, too, I'll take slower compiles
that
> save debugging time
> any day of the week.  Besides, gnat's compilation model is so superior to
> that of the Ada83
> compilers with which we had to contend for so long, I don't complain at
all
> about compilation
> speed.
> 
> Indidentally, the ability to eliminate recompilation for files which are
> changed, but without
> semantic modificaton -- e.g., adding comments -- by using the -m switch
on
> gnatmake is
> really nice.
> 
> David C. Hoos, Sr.,
> david.c.hoos.sr@ada95.com
> 
> bklungle <bklungle@ix.netcom.com> wrote in article
> <01bcc6cc$c839f200$8dfd1fcc@p5120>...
> > I have been using 3.09 for the last 6 months on a system (about 22_000
> > lines). Compiles on Verdix also. On the 12th of Sep, I downloaded 3.10
> and
> > installed it. The compilation phase took over twice as long as 3.09,
and
> it
> > claimed there were circular package dependencies which no other
compiler
> > mentioned. I traced them by hand and it seems to think any body
arrivable
> > at more than once by tracing across specs and bodies is circular. This
> > trace appears to be wrong. It refuses to continue. I reinstalled 3.09
and
> > all is now well. Anybody seen similar??
> > 
> > bob
> > 
> 




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

end of thread, other threads:[~1997-09-23  0:00 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1997-09-21  0:00 GNAT 3.09 vs 3.10 on Linux bklungle
1997-09-22  0:00 ` David C. Hoos, Sr.
1997-09-23  0:00   ` bklungle
1997-09-22  0:00 ` David C. Hoos, Sr.

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