GNAT 3.09 vs 3.10 on Linux 
Author Message
 GNAT 3.09 vs 3.10 on Linux

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



Thu, 09 Mar 2000 03:00:00 GMT  
 GNAT 3.09 vs 3.10 on Linux

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.



Quote:
> 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



Fri, 10 Mar 2000 03:00:00 GMT  
 GNAT 3.09 vs 3.10 on Linux

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.,



Quote:
> 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



Fri, 10 Mar 2000 03:00:00 GMT  
 GNAT 3.09 vs 3.10 on Linux

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



Quote:
> 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.,



> > 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



Sat, 11 Mar 2000 03:00:00 GMT  
 
 [ 4 post ] 

 Relevant Pages 

1. Gnat 3.09 Linux errors

2. stack overflow on GNAT 3.09 (linux)

3. ANNOUNCE : Win32Ada patch for GNAT 3.09 and GNAT 3.10a (Windows 95/NT)

4. GNAT 3.07 v. GNAT 3.09

5. Requesting help with GNAT 3.09 constraint error, PowerPC

6. installing additional packages with gnat 3.09

7. DLL's with GNAT 3.09 for Windows 95

8. Information on GNAT 3.09 for Win 95

9. gnat 3.09 and Claw

10. gnat 3.09 on hpux 9.07

11. gnat 3.09: gnat1 problem

12. gnat 3.09 and win32ada

 

 
Powered by phpBB® Forum Software