CVS difference for acs/ac-00004.txt

Differences between 1.1 and version 1.2
Log of other versions for file acs/ac-00004.txt

--- acs/ac-00004.txt	2000/12/22 00:23:07	1.1
+++ acs/ac-00004.txt	2001/01/23 22:23:29	1.2
@@ -103,3 +103,119 @@
 would become "wrong", while compiler A will become more "right".
+From: Robert Dewar
+Sent: Friday, December 22, 2000 9:08 AM
+<<When an Ada Issue is approved by the ARG, is a compiler vendor
+required to include the AI in order to claim that their compiler
+conforms to the Ada95 standard? Basically, given two compilers:>>
+The ARG has no authority, so its "approval" of an issue is simply a
+recommendation that WG9 and eventually ISO issue a corrigendum with
+the change. Until this is issued, no formal action has been taken
+(No such corrigendum has been officially approved by ISO for either
+Ada 83 or Ada 95, though one for Ada 95 may be approved in the near
+However, where the ARG is simply confirming the proper reading of the RM,
+or noting that it is a clear ramification of other rules in the RM, then
+the ARG is saying that in their expert opinion this is what the RM
+already says. It would be very unusual for any vendor to disagee, since
+in practice, if there is any significant disagreement when an issue is
+discussed, it does not end up in the confirmation or ramification class.
+Basically these two classes are used when a someone raises a question who
+does not fully understand the RM. The ARG then points out whyt the question
+is already answered by the RM.
+From a formal point of view, a compiler is implementing *the* standard
+Ada 95 language if it conforms to the RM and any subsequent corrigenda.
+However, this is not a precise science, and conformance requires some
+judgment in marginal cases. In practice, the ACATS tests function as a
+practical measure of what conformance means.
+From: Robert Dewar
+Sent: Friday, December 22, 2000 8:39 AM
+<<Until it is in a Technical Corrigendum, an AI approved by ARG or WG9 has,
+in principle, no binding force on implementations. Those AIs that are
+classified as confirmations, however, can be seen as merely affirming
+the official documents (even if their reading might be slightly unclear)
+and hence could be regarded as binding. Here, in practice, the ACATS
+conformance test suite might well add a test to enforce the AI
+Confirmation say that the reading is NOT unclear. But the above note also
+applies to ramifications where it is fair to say that the reading might
+be unclear -- but a conforming compiler should also follow ramification
+From: Robert Dewar
+Sent: Friday, December 22, 2000 9:11 AM
+<<The policy of the old AVO with regards to AIs was that any AI approved by
+WG9 was testable, and tests often were included in the ACVC for such AIs
+(even for Binding Interpretation AIs). The ACAA has continued this policy
+for the ACATS, so, as a practical matter, compilers may have to conform to
+those AIs well before their official inclusion in the standard. (The ACAA is
+currently concentrating on adding ACATS tests for the Corrigendum, tests on
+other approved AIs are not a priority.)
+In the case of binding interpretations, it is quite dubious for the ACATS
+to include the test, especially when it is changing the language. Clearly
+from a legal point of view, the compiler that FAILED the test in this case
+would be the conforming one.
+From: Randy Brukardt
+Sent: Friday, December 22, 2000 12:35 PM
+Quite right. (Which is a major reason why the ACAA was so strongly in favor
+of completing a Technical Corrigendum!!)
+However, when an AI changes the language in some way, the test suite
+certainly should not be enforcing the original language (otherwise, vendors
+would be encourged to support obsolete interpretations). So the alternatives
+are leaving the feature completely untested, or testing the new
+interpretation. It depends on the feature which is the best option.
+Most Ada vendors want to track the AIs; usually when a vendor challenges a
+test, if an AI applies to the issue, they usually agree that the test is
+correct. Of course, if a vendor challenged a test on the basis that an AI
+changed the language and that their compiler conformed to the original
+language, such a challenge would be accepted and the test would be marked
+Not Applicable for that implementation.
+An example of case where having a test for a Binding Interpretation (BI) is
+important is AI-235 (the prefix of 'Access AI). This AI changes the
+resolution of the prefix of 'Access, as we discovered that compilers varied
+a lot, and none of them strictly adhered to the standard. This was a problem
+for users. If we don't test the new interpretation, the user problem will
+remain (as compilers will continue to vary). Thus, a test here serves to
+highlight the way things *ought* to work. Certainly, if a vendor wants to
+stick with the original RM, the ACAA would be happy to mark the test as Not
+Given that the ARG is starting to work on Amendments, we probably ought to
+consider adding a new class of optional test. (We do want to test
+amendments, but we certainly can't insist on them.) We would use this for
+tests covering BIs and Amendments not yet included in a Technical
+Corrigendum or an Amendment. Exactly when these would be run, and how to
+report the results of such tests would need to be discussed.
+From: Robert Dewar
+Sent: Friday, December 22, 2000 5:12 PM
+I think it is fine to just identify tests which dpeend on a BI, and understand
+that they are optional.

Questions? Ask the ACAA Technical Agent