From: Erik J Pessers on
Dear all,

Trying GNAT2007 iso the GCC GNAT compiler poses one issue: the Ada
code I'm using relies on the ADACL library, and in particular the CG
(garbage collection) modules. These seem to depend on a routine
"Deep_Tag_Finalize" which is available in the Debian distro
gcc-gnat compiler, but does not seem to be available in Gnat2007
(scanned the adainclude directory but found no match).

Compiling using Gnat2007 results in:

bash-3.1$ gnatmake utils-booleans-dsc
gcc -c -gnato -fstack-check -O2 utils-booleans-dsc.adb
...
gcc -c -gnato -fstack-check -O2 adacl.ads
gcc -c -gnato -fstack-check -O2 adacl-gc.adb
adacl-gc.adb:105:13: "Deep_Tag_Finalize" not declared in \
"Finalization_Implementation"
gnatmake: "adacl-gc.adb" compilation error


Anyone out there who has seen this problem before, and who can advise?

TIA
From: Erik J Pessers on
Ludovic Brenta wrote:
> Erik J Pessers writes:
>> Dear all,
>>
>> Trying GNAT2007 iso the GCC GNAT compiler poses one issue: the Ada
>> code I'm using relies on the ADACL library, and in particular the CG
>> (garbage collection) modules. These seem to depend on a routine
>> "Deep_Tag_Finalize" which is available in the Debian distro
>> gcc-gnat compiler, but does not seem to be available in Gnat2007
>> (scanned the adainclude directory but found no match).
>
> Deep_Tag_Finalize was removed during the First Giant Merge of AdaCore
> to the GCC sources on October 21, 2003 (Subversion commit 72751).
>
> Therefore I infer that the Debian distro you speak of is Debian 3.1
> "Sarge" where the compiler is gnat 3.15p. All versions after that
> (i.e. gnat-4.1 in Debian 4.0 "Etch") lack Deep_Tag_Finalize.
>
> Unfortunately you are probably not going to like my advice: rewrite
> the GC part of AdaCL to match the more recent versions of GCC and GNAT
> GPL Edition.
>
Ludovic,

Thx for feedback.

Re Debian: I'm using Debian Lenny, with gnat-4.1 (4.1.2-8)
and this *is* (still?) providing Deep_Tag_Finalize; I suppose
that will soon change then.

I'll follow up on the advise to delve into it: the situation
may change apparently. Not the most easy part of Ada to delve
into though. We'll see.
From: Martin Krischik on
Erik J Pessers schrieb:
> Dear all,
>
> Trying GNAT2007 iso the GCC GNAT compiler poses one issue: the Ada
> code I'm using relies on the ADACL library, and in particular the CG
> (garbage collection) modules. These seem to depend on a routine
> "Deep_Tag_Finalize" which is available in the Debian distro
> gcc-gnat compiler, but does not seem to be available in Gnat2007
> (scanned the adainclude directory but found no match).
>
> Compiling using Gnat2007 results in:
>
> bash-3.1$ gnatmake utils-booleans-dsc
> gcc -c -gnato -fstack-check -O2 utils-booleans-dsc.adb
> ...
> gcc -c -gnato -fstack-check -O2 adacl.ads
> gcc -c -gnato -fstack-check -O2 adacl-gc.adb
> adacl-gc.adb:105:13: "Deep_Tag_Finalize" not declared in \
> "Finalization_Implementation"
> gnatmake: "adacl-gc.adb" compilation error
>
>
> Anyone out there who has seen this problem before, and who can advise?

Wow - somebody is using my Library!!! Well the problem has been solved
in the Subversion copy.

Martin

--
mailto://krischik(a)users.sourceforge.net
Ada programming at: http://ada.krischik.com
From: Martin Krischik on
Ludovic Brenta schrieb:
> Erik J Pessers writes:
>> Dear all,
>>
>> Trying GNAT2007 iso the GCC GNAT compiler poses one issue: the Ada
>> code I'm using relies on the ADACL library, and in particular the CG
>> (garbage collection) modules. These seem to depend on a routine
>> "Deep_Tag_Finalize" which is available in the Debian distro
>> gcc-gnat compiler, but does not seem to be available in Gnat2007
>> (scanned the adainclude directory but found no match).
>
> Deep_Tag_Finalize was removed during the First Giant Merge of AdaCore
> to the GCC sources on October 21, 2003 (Subversion commit 72751).

> Therefore I infer that the Debian distro you speak of is Debian 3.1
> "Sarge" where the compiler is gnat 3.15p. All versions after that
> (i.e. gnat-4.1 in Debian 4.0 "Etch") lack Deep_Tag_Finalize.
>

Last I checked it was still part of GCC 4.2.2 - which shows how far back
that version really is :-(.

Martin
--
mailto://krischik(a)users.sourceforge.net
Ada programming at: http://ada.krischik.com