CVS difference for acats/docs/mod_list.txt

Differences between 1.104 and version 1.105
Log of other versions for file acats/docs/mod_list.txt

--- acats/docs/mod_list.txt	2022/01/01 05:59:49	1.104
+++ acats/docs/mod_list.txt	2022/03/31 08:05:53	1.105
@@ -1,71 +1,139 @@
 ACATS Modification List for ACATS 4.1
-Version 4.1Y
-December 31, 2021
+Version 4.1Z
+March 31, 2022
 
 
 What is this?
 
-This is the ACATS modification list for ACATS 4.1. This document includes test corrections, test removals, and new tests for ACATS 4.1. ACATS 4.1 is the current test suite for Ada, covering the third edition of Ada, ISO/IEC 8652:2012 (usually known as "Ad
a 2012").
+This is the ACATS modification list for ACATS 4.1. This document includes test
+corrections, test removals, and new tests for ACATS 4.1. ACATS 4.1 is the
+current test suite for Ada, covering the third edition of Ada, ISO/IEC 8652:2012
+(usually known as "Ada 2012").
+
+ACATS Modification List version 3.1CC for ACATS 3.1 is the current list for that
+test suite. ACATS 3.1 should be used for testing implementations that support
+Amendment 1 (ISO/IEC 8652:1995/AMD 1:2007, often known as "Ada 2005"), and will
+continue to be maintained only as necessary for the foreseeable future.
+
+ACATS Modification List version 2.6J for ACATS 2.6 is the current list for that
+test suite. ACATS 2.6 should be used for testing implementations of the second
+edition of Ada, ISO/IEC 8652:1995 (usually known as "Ada 95"); it also will
+continue to be maintained only as necessary for the foreseeable future.
 
-ACATS Modification List version 3.1CC for ACATS 3.1 is the current list for that test suite. ACATS 3.1 should be used for testing implementations that support Amendment 1 (ISO/IEC 8652:1995/AMD 1:2007, often known as "Ada 2005"), and will continue to be m
aintained only as necessary for the foreseeable future.
-
-ACATS Modification List version 2.6J for ACATS 2.6 is the current list for that test suite. ACATS 2.6 should be used for testing implementations of the second edition of Ada, ISO/IEC 8652:1995 (usually known as "Ada 95"); it also will continue to be maint
ained only as necessary for the foreseeable future.
-
 Changes from the last list:
-
-A handful of tests changed status on October 1st; see the lists for the details.
-
-New test B440001 checks that the syntax changes of AI12-0039-1 are implemented (this is marginally incompatible with the original definition of Ada 2012).
-
-New test B650007 checks that the return object declared in an extended return statement can only be declared aliased if the type of the function is immutably limited. This rule is incompatible with Ada 2005, but is necessary to avoid various semantic prob
lems with aliased non-limited return objects.
 
-The comments in test C641003 were corrected to talk about predicates and Assertion_Error (which is what the test is about), and not ranges and Constraint_Error. No Ada code was changed.
+A handful of tests changed status on January 1st; see the lists for the details.
 
-New tests CD30013 and CD30014 check that External_Tag names can be specified for tagged types, that the specified name is actually used, and that uses of the same External_Tag for multiple separate declarations raises Program_Error. This test is unusual i
n that it is a C-Test that is self-checking when run, but it also can pass with a compile-time or bind-time detection of the problem. (This latter possibility comes from the permission of 13.3(76.1/3).) The rule tested here is marginally incompatible/incon
sistent with Ada 95 and 2005, but generally will catch a bug.
+New tests B431008, B431009, C431003, C431004 check that discriminants can or
+cannot be specified (as appropropriate) with a <> in record and extension
+aggregates. (Thanks to Jeff Cousins for the outline of these tests.)
+
+New test B490004 checks that a static expression that fails a static predicate
+check is illegal.
+
+Note: Some Allowed Modification tests have a required date of “ACATS 4.2”. These
+are tests that don't have substantive changes, but rather change comments
+(including error locations for B-Tests). For ACATS users that are using
+traditional results comparison rather than the ACATS grading tools, changing
+these tests may cause work without benefit (since the tests don't have
+significant changes). As such, we're allowing the use of the old versions of the
+tests until the time when the next ACATS version (ACATS 4.2) is issued (most
+likely in the next quarter).
+
+New tests posted between January 1, 2022 and March 31, 2022 will become required
+for conformity assessments on October 1, 2022. New tests posted between October
+1, 2021 and December 31, 2021 will become required for conformity assessments on
+July 1, 2022. New tests posted between July 1, 2021 and September 30, 2021 will
+become required for conformity assessments on April 1, 2022. New tests posted
+before July 1, 2021 are required for conformity assessments. The effective dates
+of tests are marked in the lists.
 
-A new support file Version.A is introduced. It separates the ACATS version string from Report.A. This is necessary as starting with ACATS 4.2, the version string will be updated with each ACATS Modification List. Implementers are allowed to customize Repo
rt.A, and if the version number remained in that package, any customization would have to be repeated with each new ACATS Modification List. By putting the version into a separate file, it can be changed with each list without affecting Report.A.
+Questions about this document? Contact the ACAA Technical Agent at
+agent@ada-auth.org.
 
-Note that using the separate Version.A package is not required in any version of ACATS 4.1, but will be required in ACATS 4.2. This allows implementers to make the change when it is convenient. Note that the change to longer version strings ending with le
tters can break grading procedures or tools (for instance, files are less likely to compare the same). If pain is involved, implementers can postpone the pain until switching to ACATS 4.2 (which likely will involve some pain anyway, because currently new f
iles will move to their final locations).
-
-Note: Some Allowed Modification tests have a required date of “ACATS 4.2”. These are tests that don't have substantive changes, but rather change comments (including error locations for B-Tests). For ACATS users that are using traditional results comparis
on rather than the ACATS grading tools, changing these tests may cause work without benefit (since the tests don't have significant changes). As such, we're allowing the use of the old versions of the tests until the time when the next ACATS version (ACATS
 4.2) is issued (most likely in the next quarter).
-
-New tests posted between October 1, 2021 and December 31, 2021 will become required for conformity assessments on July 1, 2022. New tests posted between July 1, 2021 and September 30, 2021 will become required for conformity assessments on April 1, 2022. 
New tests posted between April 1, 2021 and June 30, 2021 will become required for conformity assessments on January 1, 2022. New tests posted before April 1, 2021 are required for conformity assessments. The effective dates of tests are marked in the lists
. 
-
-Questions about this document? Contact the ACAA Technical Agent at agent@ada-auth.org.
-
 ACATS 4.1 includes optional Test Grading tools
 
 ACATS 4.1 introduces new test grading tools.
-
-When the ACATS was designed (as the ACVC in the early 1980s), the intention always was that running it would give a simple and clear Pass or Fail result. However, grading of tests (particularly of B and L Tests) is somewhat subjective and very time-consum
ing. (Test grading typically involved poring over compiler listings of the entire ACATS with a large highlighter.) The subjectivity was acceptable in the days of common formal testing, as the formal testers would enforce a common grading standard (even if 
no one could describe what that was), but in an age of self-testing, it reduces the value of the ACATS.
 
-As such, we're introducing a long-overdue set of automated grading tools. These tools are intended to:
-    • Greatly reduce the effort to grade an ACATS test run (and, hopefully to reduce the cost of formal testing to make it a more practical option);
-    • Ensure that all users of the ACATS grade tests in the same way, thus making it more valid to compare ACATS results between different implementations and different testers;
-    • Give implementers certainty as to whether a particular test result is passing (whether the location of an error is “close enough” to the canonical position);
-    • Be able to detect process errors (especially errors of omission) – that is, tests improperly run (for instance, files compiled in the wrong order where the ACATS requires an order), or not run at all (if one is checking off lines in a listing, it's 
hard to notice that some test or portion of a test is missing).
-The tools also will optionally give feedback to implementers about quality of error message positioning and of error cascades (does one error generate multiple messages?). (Since “goodness of an implementation” is not something that the ACATS tests for, t
his is not an official goal for the tools.)
+When the ACATS was designed (as the ACVC in the early 1980s), the intention
+always was that running it would give a simple and clear Pass or Fail result.
+However, grading of tests (particularly of B and L Tests) is somewhat subjective
+and very time-consuming. (Test grading typically involved poring over compiler
+listings of the entire ACATS with a large highlighter.) The subjectivity was
+acceptable in the days of common formal testing, as the formal testers would
+enforce a common grading standard (even if no one could describe what that was),
+but in an age of self-testing, it reduces the value of the ACATS.
+
+As such, we're introducing a long-overdue set of automated grading tools. These
+tools are intended to:
+    • Greatly reduce the effort to grade an ACATS test run (and, hopefully to
+      reduce the cost of formal testing to make it a more practical option);
+
+    • Ensure that all users of the ACATS grade tests in the same way, thus
+      making it more valid to compare ACATS results between different
+      implementations and different testers;
+
+    • Give implementers certainty as to whether a particular test result is
+      passing (whether the location of an error is “close enough” to the
+      canonical position);
+
+    • Be able to detect process errors (especially errors of omission) – that
+      is, tests improperly run (for instance, files compiled in the wrong order
+      where the ACATS requires an order), or not run at all (if one is checking
+      off lines in a listing, it's hard to notice that some test or portion of a
+      test is missing).
+
+The tools also will optionally give feedback to implementers about quality of
+error message positioning and of error cascades (does one error generate
+multiple messages?). (Since “goodness of an implementation” is not something
+that the ACATS tests for, this is not an official goal for the tools.)
+
+This is an ambitious set of goals. It's unlikely that they'll be completely met
+by the initial versions of the tools. As such, their use will be completely
+optional (but encouraged!) for ACATS 4.1. The tools will be updated periodically
+by the normal process for updating the ACATS – an ACATS Modification List like
+this one.
+
+Details on the operation of the tools can be found in the ACATS 4.1
+documentation (that documentation can be found at
+http://www.ada-auth.org/acats-files/4.1/docs/UG-6.HTM). As always, if you have
+questions, contact the ACAA Technical Agent at agent@ada-auth.org.
 
-This is an ambitious set of goals. It's unlikely that they'll be completely met by the initial versions of the tools. As such, their use will be completely optional (but encouraged!) for ACATS 4.1. The tools will be updated periodically by the normal proc
ess for updating the ACATS – an ACATS Modification List like this one.
-
-Details on the operation of the tools can be found in the ACATS 4.1 documentation (that documentation can be found at http://www.ada-auth.org/acats-files/4.1/docs/UG-6.HTM). As always, if you have questions, contact the ACAA Technical Agent at agent@ada-a
uth.org.
-
 Notice:
 
-The ACAA has created and maintains the Ada Conformity Assessment Test Suite for the purpose of conformity assessments conducted in accordance with the International Standard ISO/IEC 18009 - Ada: Conformity assessment of a language processor. This test sui
te should not be used to make claims of conformance unless used in accordance with ISO/IEC 18009 and any applicable ACAA procedures.
+The ACAA has created and maintains the Ada Conformity Assessment Test Suite for
+the purpose of conformity assessments conducted in accordance with the
+International Standard ISO/IEC 18009 - Ada: Conformity assessment of a language
+processor. This test suite should not be used to make claims of conformance
+unless used in accordance with ISO/IEC 18009 and any applicable ACAA procedures.
 
 List explanation:
-
-Test numbers given are for the basic test.  Categories are “Withdrawn” (the test should not be processed for Ada conformity assessments); “Allowed Modification” (either the original test or the modified one should be processed for Ada conformity assessmen
ts); “Modified” (the modified test must be processed for Ada conformity assessments); “Pending New” (the test does not need to be processed for Ada conformity assessments, but will be added in the future); “New” (the test is processed for Ada conformity as
sessments).
 
-ACATS version labels are provided with all new and modified tests. Use this label to retrieve the test from the ACATS VCS. See “How to get new and modified tests”.
+Test numbers given are for the basic test.  Categories are “Withdrawn” (the test
+should not be processed for Ada conformity assessments); “Allowed Modification”
+(either the original test or the modified one should be processed for Ada
+conformity assessments); “Modified” (the modified test must be processed for Ada
+conformity assessments); “Pending New” (the test does not need to be processed
+for Ada conformity assessments, but will be added in the future); “New” (the
+test is processed for Ada conformity assessments).
+
+ACATS version labels are provided with all new and modified tests. Use this
+label to retrieve the test from the ACATS VCS. See “How to get new and modified
+tests”.
+
+In citations, line numbers are given relative to the start of a test file in
+the format of '@<line#,line#,...>'; if a test program comprises more than one
+file, then the particular file will be indicated by "fn", where "n" is the
+test-program name's file-designator numeral.  E.g., "B38103E : @f1-31, ... "
+denotes test file b38103e1.ada. In cases where there are two or more rationales
+for different errors in a test program, these different rationales with their
+respective line citations are listed on separate lines.  References to the Ada
+standards are given in the format:
 
-In citations, line numbers are given relative to the start of a test file in the format of '@<line#,line#,...>'; if a test program comprises more than one file, then the particular file will be indicated by "fn", where "n" is the test-program name's file-
designator numeral.  E.g., "B38103E : @f1-31, ... " denotes test file
-b38103e1.ada. In cases where there are two or more rationales for different errors in a test program, these different rationales with their respective line citations are listed on separate lines.  References to the Ada standards are given in the format:
-
 	<section|chapter>.<clause>[.<subclause>]:<paragraph>
 
-These references are to the consolidated Ada standard as available at http://www.ada-auth.org/standards/rm12_w_tc1/html/RM-TOC.html.
+These references are to the consolidated Ada standard as available at
+http://www.ada-auth.org/standards/rm12_w_tc1/html/RM-TOC.html.
 
 
 
@@ -85,14 +153,12 @@
 			Required in ACATS 4.2
 	Added error location indicators.
 
-B324004 [Pending New] New VCS Label: A4_1W
-			Required after 2022-01-01
+B324004 [New] VCS Label: A4_1W
 	Check that the Predicate_Failure aspect is only allowed in
 	conjunction with a predicate aspect, and that the expression is
 	of type String.
 
-C324006 [Pending New] New VCS Label: A4_1W
-			Required after 2022-01-01
+C324006 [New] VCS Label: A4_1W
 	Check that for a Predicate_Failure aspect whose expression does
 	not raise an expression, the value of the aspect is used as the
 	Exception_Message in the exception occurrence when the appropriate
@@ -348,7 +414,7 @@
 	Added error location indicators.
 
 C415001 [Modified] VCS Label: A4_1P
-	[VCS Label A4_1N] Return @119 fails an accessibility check 
+	[VCS Label A4_1N] Return @119 fails an accessibility check
 	unless C is aliased.
 	[VCS Label A4_1P] The subtype of My_Colln @125 needs to be either
 	discriminated or to statically match that of the formal types of
@@ -357,10 +423,30 @@
 B416001 [Modified] VCS Label: A4_1W
 	Commented out Priv2 test case as it is the subject of AI12-0428-1.
 
+C431003 [Pending New] New VCS Label: A4_1Z
+			Required after 2022-10-01
+	Check that record aggregates that specify a discriminant with <>
+	get the default value of the discriminant.
+
+C431004 [Pending New] New VCS Label: A4_1Z
+			Required after 2022-10-01
+	Check that extension aggregates that specify a discriminant with
+	<> get the default value of the discriminant.
+
 B431007 [New] VCS Label: A4_1P
 	Check that record aggregates are not allowed for types whose
 	components aren't visible.
 
+B431008 [Pending New] New VCS Label: A4_1Z
+			Required after 2022-10-01
+	Check that record aggregates that specify a discriminant with <>
+	are illegal if the discriminant does not have a default.
+
+B431009 [Pending New] New VCS Label: A4_1Z
+			Required after 2022-10-01
+	Check that extension aggregates that specify a discriminant with
+	<> are illegal if the discriminant does not have a default.
+
 B432002 [New] VCS Label: A4_1P
 	Check that all of the extensions of an extension aggregate are
 	record extensions.
@@ -427,7 +513,7 @@
 C452006 [New] VCS Label: A4_1M
 	[VCS Label A4_1L] Check that memberships with multiple choices
 	call the correct equality operation for access types.
-	[VCS Label A4_1M] Corrected to remove cases made illegal by 
+	[VCS Label A4_1M] Corrected to remove cases made illegal by
 	AI12-0328-1.
 
 C452A01 [New] VCS Label: A4_1K
@@ -529,6 +615,11 @@
 	Moved error tags to more usual locations, added error location
 	indicators.
 
+B490004 [Pending New] New VCS Label: A4_1Z
+			Required after 2022-10-01
+	Check that static expressions that fail a static predicate check
+	are illegal, even if the assertion policy is Ignore.
+
 B49005A [Allowed Modification] New VCS Label: A4_1W Org VCS Label: A4_1
 			Required in ACATS 4.2
 	Added error location indicators.
@@ -980,23 +1071,19 @@
 			Required in ACATS 4.2
 	Split test into 6 files; added error location indicators.
 
-B830003 [Pending New] New VCS Label: A4_1W
-			Required after 2022-01-01
+B830003 [New] VCS Label: A4_1W
 	Check that illegal homographs are detected in specifications of
 	generic packages. Replaces B83004A.
 
-B830004 [Pending New] New VCS Label: A4_1W
-			Required after 2022-01-01
+B830004 [New] VCS Label: A4_1W
 	Check that illegal homographs are detected in body of
 	generic packages. Replaces B83004B.
 
-B830005 [Pending New] New VCS Label: A4_1W
-			Required after 2022-01-01
+B830005 [New] VCS Label: A4_1W
 	Check that illegal homographs are detected in subunits of the
 	bodies of generic packages. Replaces B83004D.
 
-B830006 [Pending New] New VCS Label: A4_1W
-			Required after 2022-01-01
+B830006 [New] VCS Label: A4_1W
 	Check that illegal homographs of expression functions are detected
 	in generic packages.
 
@@ -1103,7 +1190,7 @@
 	the prefix as an object is illegal.
 
 B860002 [New] VCS Label: A4_1Q
-	Check that implicit conversions of access types don't allow too 
+	Check that implicit conversions of access types don't allow too
 	much.
 
 B91003A [Modified] VCS Label: A4_1C
@@ -1199,7 +1286,7 @@
 	Revised test to replace excessive delays with Impdef constants.
 
 C95072A [Withdrawn] VCS Label: A4_1R
-	Replaced by C620002; it violated the anti-order dependence 
+	Replaced by C620002; it violated the anti-order dependence
 	rules of 6.4.1.
 
 B95094A [Allowed Modification] New VCS Label: A4_1W Org VCS Label: A4_1
@@ -1271,11 +1358,11 @@
 	Check the usual operation of pragma Assert, including the optional
 	message.
 
-BB42002 [New] New VCS Label: A4_1A
+BB42002 [New] VCS Label: A4_1A
 	Check that the arguments of a pragma Assert cannot be reordered
 	even if named notation is used.
 
-CB42002 [New] New VCS Label: A4_1A
+CB42002 [New] VCS Label: A4_1A
 	Check that if the assertion policy is Ignore, none of the
 	expressions of a pragma Assert are evaluated and no exception is
 	raised by the pragma.
@@ -1291,8 +1378,7 @@
 CC3601C [Modified] VCS Label: A4_1E
 	Moved “=” for type Rec in order that it not violate 4.5.2(9.8/4).
 
-BC10001 [Pending New] New VCS Label: A4_1W
-			Required after 2022-01-01
+BC10001 [New] VCS Label: A4_1W
 	Check that generic formal parts cannot be prepended to task or
 	protected specifications. Replaces BC2001D and BC2001E.
 
@@ -1529,7 +1615,7 @@
 
 CXAG003 [New] VCS Label: A4_1H
 	[VCS Label A4_1G] Check that function
-	Ada.Directories.Name_Case_Equivalence exists and that it 
+	Ada.Directories.Name_Case_Equivalence exists and that it
 	reflects the handling of file names.
 	[VCS Label A4_1H] Added “return;” @171; if the file can't be
 	opened, the Read_File trial is complete.
@@ -1817,14 +1903,24 @@
 
 How to get new and modified tests:
 
-The official home of the ACATS test suite is the ACAA web site. The site can be accessed at www.ada-auth.org.
+The official home of the ACATS test suite is the ACAA web site. The site can be
+accessed at www.ada-auth.org.
 
-The complete set of official new and modified tests are available in the Mod_4_1Y.Zip and Tar files on the ACAA web site. As always, when a multi-file test is modified, we provide all of the files, including the unmodified files.
+The complete set of official new and modified tests are available in the
+Mod_4_1Z.Zip and Tar files on the ACAA web site. As always, when a multi-file
+test is modified, we provide all of the files, including the unmodified files.
+
+Individual new and modified tests can be retrieved from the ACATS VCS. Simply
+navigate to the appropriate directory (folder), and select the test you want.
+Select the revision you want (usually the most recent) and it will be retrieved
+for you. Tests are stored in directories that correspond to the test’s prefix.
+For instance, the test CD92001.A will be found in the CD directory. You can also
+browse the differences between versions of a test. [In case of a conflict, the
+files in the ACATS VCS should be considered the 'official' versions.]
 
-Individual new and modified tests can be retrieved from the ACATS VCS. Simply navigate to the appropriate directory (folder), and select the test you want. Select the revision you want (usually the most recent) and it will be retrieved for you. Tests are 
stored in directories that correspond to the test’s prefix. For instance, the test CD92001.A will be found in the CD directory. You can also browse the differences between versions of a test. [In case of a conflict, the files in the ACATS VCS should be con
sidered the 'official' versions.]
+If you cannot get the files from the official site or you cannot get the files
+in a format appropriate for your processor, please contact your ACAL.
 
-If you cannot get the files from the official site or you cannot get the files in a format appropriate for your processor, please contact your ACAL.
-
 The baseline ACATS 4.1 is available in various formats on the ACAA web site.
 
 Summary lists:
@@ -1946,6 +2042,7 @@
 BXAIA04	ACATS 4.2
 C641003	2022-04-01 [VCS Label A4_1Y]
 REPORT	ACATS 4.2
+
 Modified Tests
 
 (Refer to the main list for details)
@@ -2087,6 +2184,7 @@
 
 (Refer to the main list for details)
 
+B324004
 B350001
 B354002
 B35A001
@@ -2130,6 +2228,10 @@
 B730012
 B730013
 B750A07
+B830003
+B830004
+B830005
+B830006
 B831006
 B851005
 B851006
@@ -2152,6 +2254,7 @@
 BB42001
 BB42002
 BB42003
+BC10001
 BC40003
 BC54004
 BC55001
@@ -2164,6 +2267,7 @@
 BDB4001
 BDD2006
 BDD2007
+C324006
 C350001
 C350A01
 C350A02
@@ -2241,18 +2345,16 @@
 
 (Refer to the main list for details)
 
-B324004	2022-01-01
+B431008	2022-10-01
+B431009	2022-10-01
 B440001	2022-07-01
+B490004	2022-10-01
 B650007	2022-07-01
-B830003	2022-01-01
-B830004	2022-01-01
-B830005	2022-01-01
-B830006	2022-01-01
-BC10001	2022-01-01
 BDC1001	2022-04-01
 BDC1002	2022-04-01
 BDC1003	2022-04-01
-C324006	2022-01-01
+C431003	2022-10-01
+C431004	2022-10-01
 CD30013	2022-07-01
 CD30014	2022-07-01
 REPORT	ACATS 4.2

Questions? Ask the ACAA Technical Agent