The (free) Ada95 Booch Components Get Ada 95 Booch Components at
SourceForge.net. Fast, secure and Free Open Source software downloads

Compiler problems

--

16 March 2002
GNAT 3.12 won't accept
   type T is access Integer;
   Pool : System.Storage_Pools.Root_Storage_Pool
     renames T'Storage_Pool;
Instead, you have to use T'Storage_Pool directly.
16 January 2002
User_Map (in Demonstrations) fails in BC.Support.Managed_Storage while deallocating memory in a finalization procedure. Not sure why, investigations say that the pool was OK the previous time it was looked at ..
30 November 2001
BC.Copy, BC.Filter can't be used under ObjectAda 7.2, AdaMULTI 3.1 or Apex 3.0.0b; they think the
  with package Source is new BC.Containers (Item);
is illegal because it derives from a controlled type at other than library level. Tucker Taft says they are wrong.
30 November 2001
ObjectAda 7.2 can't compile sort_test.adb (internal failure).
13 August 2000
The new work on providing Synchronized and Guarded forms has thrown up a disagreement between compilers.

GNAT 3.12, APEX NT 3.0.2b and Aonix 7.2 get very confused; GNAT 3.13 is happy.

You can see an approximation to the code here.

29 May 1999
A procedure and a protected type entry in the same scope had the same name; you can't rely on the fact that only entries can have 'Caller applied.

GNAT 3.11p was (incorrectly) resolving the name; it should be qualified with the protected type's name.

See bc-support-synchronization.adb (Semaphore_Type.Seize).

4 May 1999
Under ObjectAda Special Edition Version 7.1, the current implementation of BC.Support.Synchronization's Semaphore fails.
13 March 1999
John P. Woodruff reports problems building the last few releases of the Components with the Rational Apex compiler.

He reported the compiler defect to Rational, and they have issued a patch. As patched, Apex 3.0.0b now does compile the entire suite correctly.

The Apex version needed has the following version mark:

Apex/Summit PATCH: 199903042-1  Installed by ratadmin on Mar 9 08:45
    This patch contains fixes for the following defects, for
    additional information on the fixes refer to the file
    $APEX_HOME/install/patches/Solaris_Desc_990304
29 January 1999
Iterators
The new Iterators work correctly under GNAT 3.11p and ObjectAda Special Edition Version 7.1.
ObjectAda Special Edition Version 7.1
There are special versions of the Map, Queue and Stack test drivers which avoid using the Dynamic forms:
map_test_aonix.adb
queue_test_aonix.adb
stack_test_aonix.adb
Don't use the test driver storage.adb.
23 January 1999
Iterators
The new Iterators break GNAT 3.10p. 3.11b is OK, so with any luck the forthcoming 3.11p will be too!
ObjectAda Special Edition Version 7.1 and Dynamic forms
These are still broken.
20 October 1998
Graph passive iterators
The passive iterators in BC.Graphs.Directed and BC.Graphs.Undirected break GNAT 3.10p and 3.11a1. 3.11b is OK, so with any luck the forthcoming 3.11p will be too!
ObjectAda Special Edition Version 7.1 and Dynamic forms
We have an update on this; the impression is that OA has trouble with unconstrained types being allocated on a user-supplied storage pool. The dynamic forms use an unconstrained array for storage.
(As a note, the dynamic forms aren't as efficient as Grady Booch intended, because of a code translation problem! this will be addressed ...)
ObjectAda Special Edition Version 7.1 and Managed Store
We've supplied a new version of BC.Support.Managed_Storage which compiles under OA.
ObjectAda Special Edition Version 7.1 and Graph_Test
The compiler fails (internal assertion failure) while compiling Graph_Test. However, the demo program Ada_Units works as intended.
6 October 1998
When Pat Rogers added Storage Management, we found problems with different compilers. I guess this is an area of the language that's not been very heavily used up to now.
GNAT 3.10p
No problems.
GNAT 3.11a1
No problems.
GNAT 3.11b
BC.Support.Unmanaged_Storage failed to compile.
We've worked round the problem by a (nugatory) view conversion from what should have been a classwide attribute value already ('Storage_Pool).
ObjectAda Special Edition Version 7.1
BC.Support.Managed_Storage fails to compile.
BC.Support.Unmanaged_Storage compiles but the resulting programs generate exceptions during elaboration of Dynamic forms of Stacks, Queues.
We don't yet have workrounds for these, so for the time being ObjectAda users should avoid using Managed Storage and Dynamic forms with this release (if you want to help find a solution/our mistake, though, please feel free!)

--

[index]