CVS difference for ais/ai-00403.txt

Differences between 1.3 and version 1.4
Log of other versions for file ais/ai-00403.txt

--- ais/ai-00403.txt	2005/05/15 23:38:39	1.3
+++ ais/ai-00403.txt	2006/05/12 20:28:37	1.4
@@ -220,3 +220,49 @@
 
 ****************************************************************
 
+From: Edmond Schonberg
+Sent: Tuesday, May  2, 2006  9:30 AM
+
+B.3.2 (4) includes a pragma Preelaborate for this generic package,
+but its generic formal part includes a formal object. This runs afoul
+of the decision of AI-403: for the purposes of determining whether a
+unit can be declared to be preelaborable, a generic formal object is
+non-static.
+
+****************************************************************
+
+From: Tucker Taft
+Sent: Tuesday, May  2, 2006  10:16 AM
+
+I am surprised that this would prevent the
+generic unit from being preelaborable.  There is
+still a check that the instantiation satisfies
+the requirements for preelaboration.  I wonder
+if this was the real intent of AI-403.
+
+****************************************************************
+
+From: Tucker Taft
+Sent: Tuesday, May  2, 2006  10:27 AM
+
+I think you may have misinterpreted AI-403.  What makes
+the example in AI-403 non-preelaborable is not the
+presence of the formal object, but rather the *use*
+of the formal object in the generic package *body*
+to initialize a package-level object.
+
+In other words, I believe that having a
+generic formal object in Interfaces.C.Pointer is fine.
+The pragma Preelaborate ensures that it doesn't get
+used in some inappropriate way in the body for
+Interfaces.C.Pointer.
+
+****************************************************************
+
+From: Edmond Schonberg
+Sent: Tuesday, May  2, 2006  11:28 AM
+
+OK, thanks for clarification.
+
+****************************************************************
+

Questions? Ask the ACAA Technical Agent