CVS difference for ais/ai-00077.txt

Differences between 1.1 and version 1.2
Log of other versions for file ais/ai-00077.txt

--- ais/ai-00077.txt	1998/09/30 00:17:13	1.1
+++ ais/ai-00077.txt	1999/07/08 17:28:21	1.2
@@ -1,4 +1,4 @@
-!standard 10.01.04 (03)                               96-11-16  AI95-00077/02
+!standard 10.01.04 (03)                               99-07-08  AI95-00077/03
 !class confirmation 95-07-27
 !status WG9 approved 96-12-07
 !status ARG Approved 6-1-2  96-10-07
@@ -8,7 +8,7 @@
 !difficulty Medium
 !subject Separate compilation of generic bodies
-!summary 95-07-27
 The NOTE in 10.1.4(10), which says that separate compilation of generic
 bodies is required, is correct.  This implies that an implementation
@@ -17,7 +17,7 @@
 *not* imply that the compiler must generate code without seeing the
 generic body.
-!question 95-07-27
 RM 10.1.4(3) states that the mechanisms for replacing compilation units
 within an environment are implementation defined.  Is it intended
@@ -32,7 +32,7 @@
 given one, but nothing apparently prevents removal of compilation units
 that don't have such a dependency.
-!response 95-07-27
 10.1.4(3) is simply saying that the "commands" or "mouse clicks" that
 the user gives to perform various actions are implementation defined.
@@ -45,8 +45,16 @@
 An implementation may, of course, have additional commands for removing
 compilation units, or performing any other actions on the environment.
-!appendix 96-05-07
+!ACATS test
+A C-Test should be constructed to check that the note 10.1.4(10) is supported.
+In addition, several ACATS tests (CA1012A, CA2009C, CA3011A) can be not
+applicable if the specification and body of a generic unit "must be in the
+same file". This restriction is no longer allowed by Ada 95, and the
+applicability criteria of these tests ought to be repaired.
 !section 10.01.04(03)
 !subject can implementation choose when to remove units from environment?
 !reference RM95-10.01.04(03)
@@ -209,14 +217,14 @@
 > ...
 > Let me rephrase my question:
 > Is it allowable to reject a program at link time because an
 > instantiation was compiled before its body (possibly preventing
 > code generation needed for the link)?  Or is the linker required
 > to automatically do whatever is necessary to generate the code for
 > the instantiation (e.g. recompile the instantiation), so that the
 > program can be successfully linked?
 > If the former, then there doesn't seem much user benefit to
 > getting a link-time error rather than a compile-time error
 > (as is typically the case in Ada83).  If the latter, then
@@ -229,12 +237,12 @@
 enough normative words in the RM to force this to be accomplished
 in some specific, testable way.  Presumably most vendors intend
 to provide some kind of automatic recompilation facility, and
-this is basically implying that automatic instantiation should fit 
+this is basically implying that automatic instantiation should fit
 into that facility, however it is invoked.
 I'm not sure what you mean by "undocumented."  Practically all of
 Chapter 10 was rewritten for 9X.  The words in 10.1.4(10,10.a) appeared
-first in about September 1993 (version 4.0).  We didn't identify 
+first in about September 1993 (version 4.0).  We didn't identify
 individual changes in 10.1.4, since the entire model was different.
 We did try to highlight various ramifications via AARM annotations.

Questions? Ask the ACAA Technical Agent