ACATS Test Modification List
Version 3.1R
March 16, 2018
What is this?
This is the ACATS modification list for ACATS 3.1. This document includes test corrections, test removals, and new tests for ACATS 3.1. ACATS 3.1 is the current test suite for the version of Ada that became current with the approval and publication of Amendment 1 by ISO as ISO/IEC 8652:1995/AMD 1:2007 (often known as "Ada 2005").
ACATS Modification List version 2.6G for ACATS 2.6 is the current list for that test suite. ACATS 2.6 should be used for testing Ada 95 implementations, and will continue to be maintained as necessary for the foreseeable future.
ACATS Modification List version 4.1G is the current list for ACATS 4.1. ACATS 4.1 should be used for testing the third edition of Ada, ISO/IEC 8652:2012 (usually known as "Ada 2012").
Changes from the last list:
Various tests have changed status since the last list, see the main list for the current status.
Tests B392002, B392005, BA12010, and BDB0A01 were modified to use Possible Error tags in order to reflect intent (Possible Error hasn't been created when these tests were built).
Test B3A2009 was modified to remove tabs (not allowed by the test format standards).
New test B480004 checks that an allocator is illegal for an access type with Storage_Size zero.
Test B83027B was modified to eliminate an unrelated illegality (all or no discriminants need defaults for a single type).
Test B83027D and BC51016 were modified to fix the format of an error tag.
Test B83E01B was modified to remove possible error cascades and to better follow test standards.
New test C760A02 checks that functions that return immutably limited types do not use a temporary object (the result should be built-in-place).
Tests BA1001D, BA1020F, and BA11013 were corrected to document that the main unit is optional and does not need to be processed.
Test BA11007 was split into six files to eliminate the need for cross-unit error correction and to provide better error handling.
New test BA14001 replaces legacy test BA1101E with a modern format test that also includes test cases for Ada 95 unit types. Related new test BA14002 includes test cases for private with.
New test BA14003 checks a violation of 10.1.4(5) for private with.
Test BXC6A03 was modified to not require a result contrary to AI05-0218-1 (a Binding Interpretation, so it can apply to Ada 2005 implementations).
Tests B37309B, B37310B, B37311A, B392003, B392004, B393001, B393007, B393010, B3A2007, B3A2008, B3A2011, B3A2012, B3A2016, B4A010C, B540002, B54B01B, B54B001C, B54B02B, B54B02C, B54B02D, B54B04A, B54B04B, B54B05A, B55B12B, B55B12C, and BDD2003 were modified to better reflect realistic error handling.
New tests posted between January 1, 2018 and March 31, 2018 will become required for conformity assessments on October 1, 2018. New tests posted between October 1, 2017 and December 31, 2017 will become required for conformity assessments on July 1, 2018. New tests posted between July 1, 2017 and September 30, 2017 will become required for conformity assessments on April 1, 2018. New tests posted before July 1, 2017 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.
Ada 2012 compatibility:
This test suite is designed for Ada 2005. ACATS 4.0 should be used to test Ada 2012 implementations. There are a significant number of tests in ACATS 3.1 that are incompatible with the requirements of Ada 2012.
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 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 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:
<section|chapter>.<clause>[.<subclause>]:<paragraph>
These references are to the consolidated Ada standard as available at
http://www.adaic.org/resources/add_content/standards/05rm/html/RM-TOC.html.
Main list:
===== Core Language =====
Name Category Version label (effective date; old version label)
Short description.
C352001 [Modified] VCS Label: A3_1Q
Corrected Failed message @267 to reflect intended result.
B354002 [New] VCS Label: A3_1Q
Test basic requirements for the Mod attribute.
C354004 [New] VCS Label: A3_1Q
Test basic operation of the Mod attribute.
B37309B [Allowed Modification] New VCS Label: A3_1R Org VCS Label: A3_1
Required after 2018-07-01
Added additional error locations to directly support common error
reporting strategies.
B37310B [Allowed Modification] New VCS Label: A3_1R Org VCS Label: A3_1
Required after 2018-07-01
Added additional error locations to directly support common error
reporting strategies.
B37311A [Allowed Modification] New VCS Label: A3_1R Org VCS Label: A3_1
Required after 2018-07-01
Added additional error locations to directly support common error
reporting strategies.
B38003D [Modified] VCS Label: A3_1M
Corrected error tags @70,76,82,88 so "optional" and "error" are
on the same line, as required by the test standards.
B38105A [Withdrawn] Org VCS Label: A3_1B
Replaced by tests B3A1007 and B3A1A05 (and existing tests B3A1A01
and B3A1A02).
C390012 [New] VCS Label: A3_1J
Check the operation of Ada.Tags.Generic_Dispatching_Constructor.
C391003 [New] VCS Label: A3_1F
[VCS Label A3_1E] Check that a type extension can be declared in
a more nested scope than its parent type, and that overridden
subprograms of that extension can be dispatched to.
[VCS Label A3_1F] Eliminated an overlong line.
B392002 [Allowed Modification] New VCS Label: A3_1R Org VCS Label: A3_1
Required after 2018-07-01
Revised to use Possible Error tags, and added error location
indicators.
B392003 [Allowed Modification] New VCS Label: A3_1R Org VCS Label: A3_1
Required after 2018-07-01
Added additional error locations to directly support common error
reporting strategies.
B392004 [Allowed Modification] New VCS Label: A3_1R Org VCS Label: A3_1
Required after 2018-07-01
Added additional error locations to directly support common error
reporting strategies.
B392005 [Allowed Modification] New VCS Label: A3_1R Org VCS Label: A3_1
Required after 2018-07-01
Revised to use Possible Error tags, and added error location
indicators.
B393001 [Allowed Modification] New VCS Label: A3_1R Org VCS Label: A3_1
Required after 2018-07-01
Added additional error locations to directly support common error
reporting strategies.
B393005 [Modified] VCS Label: A3_1B
Declaration @114 is illegal because it inherits an abstract
function that is not overridden, as described in AI05-0097-1.
B393007 [Allowed Modification] New VCS Label: A3_1R Org VCS Label: A3_1
Required after 2018-07-01
Added additional error locations to directly support common error
reporting strategies. Fixed overlong lines.
B393010 [Allowed Modification] New VCS Label: A3_1R Org VCS Label: A3_1
Required after 2018-07-01
Added additional error locations to directly support common error
reporting strategies. Fixed overlong lines.
B393011 [New] VCS Label: A3_1E
Check that an abstract routine of an abstract partial view
overridden by a non-abstract routine in the private part requires
overriding when it is inherited if the private part is not visible
where it is inherited.
C3A0030 [New] VCS Label: A3_1L
Check that an access discriminant is only null excluding if it
includes a null exclusion.
B3A1001 [Modified] VCS Label: A3_1M
[VCS Label A3_1B] Type UT1 @78 is supposed to be tagged
incomplete, else it's the same as type U1.
[VCS Label A3_1M] Split Pack6 so possible error sets don't
intersect; fixed overlong lines.
B3A1002 [Modified] VCS Label: A3_1M
[VCS Label A3_1B] Type UT1 @77 is supposed to be tagged
incomplete, else it's the same as type U1.
[VCS Label A3_1M] Split Pack6 so possible error sets don't
intersect; fixed overlong lines.
C3A1003 [New] VCS Label: A3_1E
Check that a dereference of an access-to-tagged-incomplete type
can be passed as a parameter.
C3A1004 [New] VCS Label: A3_1E
Check that a parameter of a tagged incomplete type can be passed
as a parameter.
B3A1007 [New] VCS Label: A3_1B
Check that constraints and exclusions aren't allowed on an
incomplete type in access type and subtype declarations.
B3A1008 [New] VCS Label: A3_1F
[VCS Label A3_1E] Check that a dereference of an
access-to-incomplete type cannot be used as a prefix.
[VCS Label A3_1F] Eliminated overlong lines.
B3A1009 [New] VCS Label: A3_1F
[VCS Label A3_1E] Check that a dereference of an
access-to-incomplete view cannot be used as a prefix. Check that
a parameter of an incomplete view cannot be used as a prefix.
[VCS Label A3_1F] Eliminated overlong lines.
B3A1A05 [New] VCS Label: A3_1B
Check that generic formal objects cannot be declared with an
incomplete view.
C3A2004 [New] VCS Label: A3_1D
Check that the type of the prefix of 'Access is used to resolve
the expected type of the use of the attribute.
B3A2007 [Allowed Modification] New VCS Label: A3_1R Org VCS Label: A3_1
Required after 2018-07-01
Added additional error locations to directly support common error
reporting strategies.
B3A2008 [Allowed Modification] New VCS Label: A3_1R Org VCS Label: A3_1
Required after 2018-07-01
Added additional error locations to directly support common error
reporting strategies.
B3A2009 [Allowed Modification] New VCS Label: A3_1R Org VCS Label: A3_1
Required after 2018-07-01
Removed tabs to meet test format standards; added error location
indicators.
B3A2011 [Allowed Modification] New VCS Label: A3_1R Org VCS Label: A3_1
Required after 2018-07-01
Added additional error locations to directly support common error
reporting strategies.
B3A2012 [Allowed Modification] New VCS Label: A3_1R Org VCS Label: A3_1
Required after 2018-07-01
Added additional error locations to directly support common error
reporting strategies.
B3A2016 [Allowed Modification] New VCS Label: A3_1R Org VCS Label: A3_1
Required after 2018-07-01
Added additional error locations to directly support common error
reporting strategies.
B3A2017 [New] VCS Label: A3_1F
[VCS Label A3_1D] Check P'Access is not allowed in a generic body
if P is declared in the generic (including in the parent of a
child or in a formal package) and the access type is a formal type
or outside of the generic.
[VCS Label A3_1F] Eliminated overlong lines.
B431006 [New] VCS Label: A3_1D
Check that if a variant part is not nested in an unselected
variant, the value of the governing discriminant of a variant in
a record aggregate cannot be non-static.
B43102A [Withdrawn] VCS Label: A3_1D
Replaced by B431006.
C453001 [New] VCS Label: A3_1Q
Check that modular adding operators wrap around rather than
raising Constraint_Error.
B455002 [Modified] VCS Label: A3_1M
Corrected casing of error tags and fixed overlong lines.
C460014 [New] VCS Label: A3_1P
Check that Constraint_Error is raised appropriately when
converting access-to-classwide to another access type.
C460015 [New] VCS Label: A3_1P
Check that Constraint_Error is raised appropriately when
converting access-to-limited-classwide to another access type.
C480001 [New] VCS Label: A3_1Q
[VCS Label A3_1L] Check that an initialized allocator for a
class-wide type does an accessibility check on the tag of the
initializing object.
[VCS Label A3_1Q] Changed mode to “in” (instead of “in
out”) @103 & 144 as those parameters are used in functions,
making that an Ada 2012 feature, and this is an Ada 2005 test.
B480002 [New] VCS Label: A3_1F
[VCS Label A3_1E] Check that an initialized allocator for an
access type with a class-wide designated type does not create an
object whose type is more local than the access type.
[VCS Label A3_1F] Eliminate overlong lines and tab characters.
B480003 [New] VCS Label: A3_1L
[VCS Label A3_1E] Check that an uninitialized allocator for an
access type with a class-wide designated type does not create an
object whose type is more local than the access type.
[VCS Label A3_1F] Eliminate overlong lines and tab characters.
[VCS Label A3_1L] Corrected test objective and test description;
the test code is unmodified.
B480004 [Pending New] New VCS Label: A3_1R
Required after 2018-10-01
Check that an allocator is illegal if the access type has a
Storage_Size that is statically zero.
B4A010C [Allowed Modification] New VCS Label: A3_1R Org VCS Label: A3_1
Required after 2018-07-01
Added additional error locations to directly support common error
reporting strategies.
C52101A [Modified] VCS Label: A3_1M
C52101A [Modified] VCS Label: A3_1M
Corrected comment @49 not to have the form of an error tag.
B540002 [New] VCS Label: A3_1B
Check that case statement coverage rules are enforced for
modular types.
B540002 [Allowed Modification] New VCS Label: A3_1R Org VCS Label: A3_1B
Required after 2018-07-01
Added additional error locations to directly support common error
reporting strategies.
C540002 [New] VCS Label: A3_1B
[VCS Label A3_1B] Check that the selecting_expression of a case
statement can be resolved using the requirement that it be any
discrete type.
[VCS Label A3_1F] Eliminated overlong lines.
B54B01B [Allowed Modification] New VCS Label: A3_1R Org VCS Label: A3_1
Required after 2018-07-01
Added additional error locations to directly support common error
reporting strategies.
B54B01C [Allowed Modification] New VCS Label: A3_1R Org VCS Label: A3_1
Required after 2018-07-01
Added additional error locations to directly support common error
reporting strategies.
B54B02B [Allowed Modification] New VCS Label: A3_1R Org VCS Label: A3_1
Required after 2018-07-01
Added additional error locations to directly support common error
reporting strategies.
B54B02C [Allowed Modification] New VCS Label: A3_1R Org VCS Label: A3_1
Required after 2018-07-01
Added additional error locations to directly support common error
reporting strategies.
B54B02D [Allowed Modification] New VCS Label: A3_1R Org VCS Label: A3_1
Required after 2018-07-01
Added additional error locations to directly support common error
reporting strategies.
B54B04A [Allowed Modification] New VCS Label: A3_1R Org VCS Label: A3_1
Required after 2018-07-01
Added additional error locations to directly support common error
reporting strategies.
B54B04B [Allowed Modification] New VCS Label: A3_1R Org VCS Label: A3_1
Required after 2018-07-01
Added additional error locations to directly support common error
reporting strategies.
B54B05A [Allowed Modification] New VCS Label: A3_1R Org VCS Label: A3_1
Required after 2018-07-01
Added additional error locations to directly support common error
reporting strategies.
B55B12B [Allowed Modification] New VCS Label: A3_1R Org VCS Label: A3_1
Required after 2018-07-01
Added additional error locations to directly support common error
reporting strategies.
B55B12C [Allowed Modification] New VCS Label: A3_1R Org VCS Label: A3_1
Required after 2018-07-01
Added additional error locations to directly support common error
reporting strategies.
C620001 [New] VCS Label: A3_1B
Check that elementary types are passed by copy.
B62001C [Modified] VCS Label: A3_1M
Changed error @35 to be optional, as the syntax error @33 is
required (and the comment that only one error need be detected is
bogus).
B62001D [Modified] VCS Label: A3_1M
Changed error @41 to be optional, as the syntax error @33 is
required (and the comment that only one error need be detected is
bogus).
C62003A [Withdrawn] Org VCS Label: A3_1B
Replaced by test C620001.
B640001 [New] VCS Label: A3_1F
[VCS Label A3_1D] Check that abstract nondispatching operations
do not participate in resolution.
[VCS Label A3_1F] Eliminate overlong lines and tab characters.
C640002 [New] VCS Label: A3_1F
[VCS Label A3_1D] Check that an abstract nondispatching operator
provides a way to eliminate an unwanted predefined operator.
[VCS Label A3_1F] Eliminate overlong lines.
B65005A [Modified] VCS Label: A3_1P
Added additional error locations to directly support common error
reporting strategies.
B65005B [Modified] VCS Label: A3_1P
Added additional error locations to directly support common error
reporting strategies.
B651001 [New] VCS Label: A3_1Q
Check that a return statement cannot apply to a nonreturning
procedure, and that a renames-as-body of a nonreturning procedure
has to be a nonreturning procedure (pragma No_Return version).
C651001 [New] VCS Label: A3_1Q
Check that a nonreturning procedure can raise an exception and
raises Program_Error otherwise (pragma No_Return version).
C660001 [New] VCS Label: A3_1B
Check that a matching "/=" is defined for an explicitly declared
"=" operator with a result of Boolean.
B730006 [Modified] VCS Label: A3_1P
Corrected format of error tags; added location indicators.
B730008 [New] VCS Label: A3_1A
Check that a tagged partial view and its completion must have the
same set of interfaces.
B730009 [New] VCS Label: A3_1F
[VCS_Label A3_1A] Check that a tagged partial view can be
synchronized if and only if the completion is a synchronized type.
[VCS Label A3_1F] Completion of Priv12 @131 violates 7.3(10.1/3).
B730010 [New] VCS Label: A3_1F
Check 7.3(10.1/3).
B730011 [New] VCS Label: A3_1P
Test various rules about completions of private types and
extensions; replaces test B74001A.
B730012 [New] VCS Label: A3_1P
Test various rules about completions of private types and
extensions in generic units; replaces test B74001B.
B730013 [New] VCS Label: A3_1Q
Test operations available for a private type; replaces test
B74203E.
B73001A [Modified] VCS Label: A3_1P
Added additional error locations to directly support common error
reporting strategies.
B73001B [Modified] VCS Label: A3_1P
Added additional error locations to directly support common error
reporting strategies.
B73001C [Modified] VCS Label: A3_1P
Added additional error locations to directly support common error
reporting strategies.
B73001D [Modified] VCS Label: A3_1P
Added additional error locations to directly support common error
reporting strategies.
B73001E [Modified] VCS Label: A3_1P
Added additional error locations to directly support common error
reporting strategies.
B73001F [Modified] VCS Label: A3_1P
Added additional error locations to directly support common error
reporting strategies.
B73001G [Modified] VCS Label: A3_1P
Added additional error locations to directly support common error
reporting strategies.
B73001H [Modified] VCS Label: A3_1P
Added additional error locations to directly support common error
reporting strategies.
B740003 [Modified] VCS Label: A3_1M
Modified criteria @75 so that it doesn't look like an error tag to
the grading tools; also fixed an overlong line.
B74001A [Withdrawn] VCS Label: A3_1P
Replaced by B730011.
B74001B [Withdrawn] VCS Label: A3_1P
Replaced by B730012.
B74203E [Withdrawn] VCS Label: A3_1Q
Replaced by B730013.
B750A01 [Modified] VCS Label: A3_1J
The qualification @129 should be for Lim_Ext, not Lim_Rec.
B750A02 [Modified] VCS Label: A3_1J
The qualification @131 should be for Lim_Ext, not Lim_Rec.
B750A04 [New] VCS Label: A3_1J
Check that only legal expressions are allowed in the qualified
expression of an allocator for a limited object.
B750A06 [New] VCS Label: A3_1J
Check that only legal expressions are allowed in the expression
of a simple return statement for a function that returns a
limited type.
C760015 [New] VCS Label: A3_1L
[VCS Label A3_1E] Check that a controlled type can be declared
within a subprogram.
[VCS Label A3_1F] Eliminated overlong lines.
[VCS Label A3_1L] Corrected one of the potential results for
Subtest2(4) to be "Iafcf", not "IafcF".
C760A02 [Pending New] New VCS Label: A3_1R
Required after 2018-10-01
Checks that functions that return immutably limited types are
built-in-place.
B83027B [Allowed Modification] New VCS Label: A3_1R Org VCS Label: A3_1
Required after 2018-07-01
The disriminant @90 needs a default expression as all or none of
the discriminants of a type need defaults. Also added error
location indicators.
B83027D [Allowed Modification] New VCS Label: A3_1R Org VCS Label: A3_1
Required after 2018-07-01
Corrected bad error tag, and added error location indicators.
B83E01B [Allowed Modification] New VCS Label: A3_1R Org VCS Label: A3_1
Required after 2018-07-01
Removed possible error cascades, reformatted some error tags, and
added error location indicators.
B831004 [New] VCS Label: A3_1G
Check that overriding indicators are properly enforced for types
derived from a generic formal type. (Nested generic specification
cases.)
B83F02C [Modified] VCS Label: A3_1M
Updated many optional error markers to match ACATS standards.
B840002 [New] VCS Label: A3_1G
Check a package use clause cannot denote a limited view or a
non-package.
B91003A [Modified] VCS Label: A3_1P
Added additional error locations to directly support common error
reporting strategies.
B91003B [Modified] VCS Label: A3_1P
Added additional error locations to directly support common error
reporting strategies.
B91003C [Modified] VCS Label: A3_1P
Added additional error locations to directly support common error
reporting strategies.
B91003D [Modified] VCS Label: A3_1P
Added additional error locations to directly support common error
reporting strategies.
C920001 [New] VCS Label: A3_1B
Check activation (and non-activation) of tasks declared as (part
of) return objects in extended return statements.
B940003 [Modified] VCS Label: A3_1P
Added additional error locations to directly support common error
reporting strategies.
B940004 [Modified] VCS Label: A3_1P
Split into 8 files; added location indicators.
B95007B [Modified] VCS Label: A3_1M
Fixed error markers @62,66,70 to match ACATS standards.
BA1001D [Allowed Modification] New VCS Label: A3_1R Org VCS Label: A3_1
Required after 2018-07-01
Revised to mark the main subprogram as optional, as it is not
necessary to check the test objective. Added error location
indicators.
BA1020F [Allowed Modification] New VCS Label: A3_1R Org VCS Label: A3_1
Required after 2018-07-01
Revised to mark the main subprogram as optional, as it is not
necessary to check the test objective. Added error location
indicators.
BA11007 [Allowed Modification] New VCS Label: A3_1R Org VCS Label: A3_1
Required after 2018-07-01
Split into six test files to avoid requiring error recovery.
BA11013 [Allowed Modification] New VCS Label: A3_1R Org VCS Label: A3_1
Required after 2018-07-01
Revised to make processing the last compilation unit optional,
as it is not necessary to check the test objective. Added error
location indicators.
BA1101E [Withdrawn] Org VCS Label: A3_1R
Replaced by test BA14001.
BA12017 [New] VCS Label: A3_1F
[VCS Label A3_1D] Check that a limited with clause is not allowed
on a descendant of the named package.
[VCS Label A3_1F] Eliminated overlong line.
BA15003 [New] VCS Label: A3_1D
Check that a library unit pragma must apply to a library unit.
BA12010 [Allowed Modification] New VCS Label: A3_1R Org VCS Label: A3_1
Required after 2018-07-01
Revised to use Possible Error tags, and added error location
indicators.
BA14001 [Pending New] New VCS Label: A3_1R
Required after 2018-10-01
Replaces test BA1101E with modern format and additional test cases
for Ada 95 compilation units.
BA14002 [Pending New] New VCS Label: A3_1R
Required after 2018-10-01
Similar to BA14001, testing private with.
BA14003 [Pending New] New VCS Label: A3_1R
Required after 2018-10-01
Checks that a unit is illegal if it depends on two versions of the
same unit.
CB30001 [New] VCS Label: A3_1C
Check that the optional message parameter is supported in a raise
statement, and that the message can be retrieved with
Exception_Message.
BB42001 [New] VCS Label: A3_1L
Check that the arguments of a pragma Assert have to have the
correct types.
CB42001 [New] VCS Label: A3_1L
Check the usual operation of pragma Assert, including the optional
message.
BB42002 [New] VCS Label: A3_1L
Check that the arguments of a pragma Assert cannot be reordered
even if named notation is used.
CB42002 [New] VCS Label: A3_1L
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.
BB42003 [New] VCS Label: A3_1L
Check that a pragma Assertion_Policy is illegal if the policy is
not recognized.
CB42003 [New] VCS Label: A3_1L
Check that procedure Ada.Assertions.Assert evaluates its arguments
and raises Assertion_Error regardless of the assertion policy.
CC30003 [Modified] VCS Label: A3_1F
CC30003 [Modified] VCS Label: A3_1F
Eliminated overlong lines.
CC30004 [New] VCS Label: A3_1F
[VCS Label A3_1B] Check that if a generic actual type is
elementary, it is passed by copy within an instance.
[VCS Label A3_1F] Eliminated overlong lines and tab characters.
CC3017C [Withdrawn] Org VCS Label: A3_1B
Replaced by test CC30004.
BC51016 [Allowed Modification] New VCS Label: A3_1R Org VCS Label: A3_1
Required after 2018-07-01
Corrected bad error tag, and added error location indicators.
BC60001 [New] VCS Label: A3_1D
Test rules associated with formal subprogram defaults of null.
CC60001 [New] VCS Label: A3_1H
Check that calls on a formal abstract subprogram are dispatching.
BC60002 [New] VCS Label: A3_1H
Test rules associated with the controlling type of a formal
abstract subprogram.
BC60004 [New] VCS Label: A3_1H
Check that a call on a formal abstract subprogram must be
dispatching.
CD30008 [New] VCS Label: A3_1K
Renaming of previous test CD33001 (there is no subclause 13.3.3).
The test is unchanged other than renaming the units involved
and fixing an overlong line.
CD30009 [New] VCS Label: A3_1K
Renaming of previous test CD33002 (there is no subclause 13.3.3).
The test is unchanged other than renaming the units involved
and fixing an overlong line.
CD1009A [Withdrawn] VCS Label: A3_1Q
Has one of the objectives of, and thus redundant with, test
CD2A31C (now CD30012).
CD1009B [Withdrawn] VCS Label: A3_1Q
Has one of the objectives of, and thus redundant with, test
CD2A21C (now CD30011).
CD1009L [Withdrawn] VCS Label: A3_1Q
Virtually identical to, and thus redundant with, test CD2D13A.
CD1009M [Withdrawn] VCS Label: A3_1Q
Virtually identical to, and thus redundant with, test CD3014C.
CD2A21C [Withdrawn] VCS Label: A3_1Q
Replaced by CD30011.
CD2A31C [Withdrawn] VCS Label: A3_1Q
Replaced by CD30012.
CD30008 [New] VCS Label: A3_1K
Renaming of previous test CD33001 (there is no subclause 13.3.3).
The test is unchanged other than renaming the units involved
and fixing an overlong line.
CD30009 [New] VCS Label: A3_1K
Renaming of previous test CD33002 (there is no subclause 13.3.3).
The test is unchanged other than renaming the units involved
and fixing an overlong line.
CD30011 [New] VCS Label: A3_1Q
Merges legacy tests CD1009B and CD2A21C to eliminate duplication
(CD1009B has the same objective as one of the objectives of
CD2A21C) while adding modern formatting and applicability criteria.
CD30012 [New] VCS Label: A3_1Q
Merges legacy tests CD1009A and CD2A31C to eliminate duplication
(CD1009A has the same objective as one of the objectives of
CD2A31C) while adding modern formatting and applicability criteria.
CD33001 [Withdrawn] VCS Label: A3_1K
Renamed to CD30008, as there is no subclause 13.3.3.
CD33002 [Withdrawn] VCS Label: A3_1K
Renamed to CD30009, as there is no subclause 13.3.3.
BD4003A [Modified] VCS Label: A3_1M
Moved error marker from @66 to @67 so it is on the incorrect
construct.
BDB0A01 [Allowed Modification] New VCS Label: A3_1R Org VCS Label: A3_1
Required after 2018-07-01
Revised to use Possible Error tags, and added error location
indicators.
BDD2003 [Allowed Modification] New VCS Label: A3_1R Org VCS Label: A3_1
Required after 2018-07-01
Added additional error locations to directly support common error
reporting strategies.
BDD2004 [New] VCS Label: A3_1F
[VCS Label A3_1A] Check that subprograms specified for stream attributes
meet the requirements for such subprograms. This version corrects the
location of 'Class @230, 235, 240.
[VCS Label A3_1C] Error @232 is legal by AI12-0121-1.
[VCS Label A3_1F] Eliminated overlong lines.
CXA4037 [New] VCS Label: A3_1G
Check Ada.Strings.Fixed.Find_Token against rule from 2001
Corrigendum.
CXA5016 [New] VCS Label: A3_1F
[VCS Label A3_1D] Check operation of attribute Machine_Rounding.
[VCS Label A3_1F] Eliminated overlong lines.
CXAA021 [New] VCS Label: A3_1D
Check file operations of Text_IO.Bounded_IO.
CXAA022 [New] VCS Label: A3_1D
Check file operations of Text_IO.Unbounded_IO.
CXAB002 [New] VCS Label: A3_1D
Check file operations of Wide_Text_IO.Wide_Bounded_IO.
CXAB003 [New] VCS Label: A3_1D
Check file operations of Wide_Wide_Text_IO.Wide_Wide_Bounded_IO.
CXAB004 [New] VCS Label: A3_1D
Check file operations of Wide_Text_IO.Wide_Unbounded_IO.
CXAB005 [New] VCS Label: A3_1D
Check file operations of Wide_Wide_Text_IO.Wide_Wide_Unbounded_IO.
CXAC008 [New] VCS Label: A3_1J
[VCS Label A3_1D] Check that Stream_IO files opened with mode
Out_File are not truncated by Close or Reset.
[VCS Label A3_1E] Corrected required file size in subtest 8, and
various failure messages.
[VCS Label A3_1F] Eliminated overlong lines.
[VCS Label A3_1J] Corrected a failure message.
CXAG001 [New] VCS Label: A3_1F
Check that Ada.Directories can be used to create and delete
directories.
CXAH001 [New] VCS Label: A3_1F
[VCS Label A3_1E] Test that package Environment_Variables can be
used to read environment variables.
[VCS Label A3_1F] Added missing Applicability Criteria.
CXAH002 [New] VCS Label: A3_1F
[VCS Label A3_1E] Test that package Environment_Variables can be
used to modify environment variables.
[VCS Label A3_1F] Added missing Applicability Criteria.
CXAI001 [New] VCS Label: A3_1A
Check the functionality defined in package Ada.Containers.Vectors.
CXAI002 [New] VCS Label: A3_1A
Check the functionality defined in package
Ada.Containers.Doubly_Linked_Lists.
CXAI003 [New] New VCS Label: A3_1A
Check the functionality defined in package
Ada.Containers.Hashed_Maps.
CXAI004 [New] VCS Label: A3_1A
Check the functionality defined in package
Ada.Containers.Ordered_Maps.
CXAI005 [New] VCS Label: A3_1A
Check the functionality defined in package
Ada.Containers.Hashed_Sets.
CXAI006 [New] VCS Label: A3_1A
Check the functionality defined in package
Ada.Containers.Ordered_Sets.
FXAIA00 [New] New VCS Label: A3_1A
Foundation containing types and values to be used to check the
functionality of the indefinite containers.
CXAIA01 [New] VCS Label: A3_1A
Check the functionality defined in package
Ada.Containers.Indefinite_Vectors.
CXAIA02 [New] VCS Label: A3_1A
Check the functionality defined in package
Ada.Containers.Indefinite_Doubly_Linked_Lists.
CXAIA03 [New] VCS Label: A3_1A
Check the functionality defined in package
Ada.Containers.Indefinite_Hashed_Maps.
CXAIA04 [New] VCS Label: A3_1A
Check the functionality defined in package
Ada.Containers.Indefinite_Ordered_Maps.
CXAIA05 [New] VCS Label: A3_1A
Check the functionality defined in package
Ada.Containers.Indefinite_Hashed_Sets.
CXAIA06 [New] VCS Label: A3_1A
Check the functionality defined in package
Ada.Containers.Indefinite_Ordered_Sets.
CXB3017 [New] VCS Label: A3_1B
Check that pragma Export can be used on subprograms and objects.
CXB3023 [New] VCS Label: A3_1M
[VCS Label A3_1K] Check that a value of an unchecked union type
(defined with pragma Unchecked_Union) can be passed to a C
function.
[VCS Label A3_1M] Added missing N/A => ERROR markers.
===== Annex C =====
BXC6A03 [Allowed Modification] New VCS Label: A3_1R Org VCS Label: A3_1
Required after 2018-07-01
Removed test case changed by AI05-0218-1.
===== Annex D =====
CXD2007 [Modified] VCS Label: A3_1P
Added missing N/A => Error tag.
LXD7001 [Modified] VCS Label: A3_1P
Added missing error tag.
LXD7003 [Modified] VCS Label: A3_1P
Added missing error tag.
LXD7004 [Modified] VCS Label: A3_1P
Added missing error tag.
LXD7005 [Modified] VCS Label: A3_1P
Added missing error tag.
LXD7006 [Modified] VCS Label: A3_1P
Added missing error tag.
LXD7007 [Modified] VCS Label: A3_1P
Added missing error tag.
LXD7008 [Modified] VCS Label: A3_1P
Added missing error tag.
LXD7009 [Modified] VCS Label: A3_1P
Added location indicators.
CXDB001 [Modified] VCS Label: A3_1P
Added missing N/A => Error tag.
CXDB002 [Modified] VCS Label: A3_1P
Added missing N/A => Error tag.
CXDB003 [Modified] VCS Label: A3_1P
Added missing N/A => Error tag.
CXDB004 [Modified] VCS Label: A3_1P
Added missing N/A => Error tag.
===== Annex E =====
[None.]
===== Annex F =====
[None.]
===== Annex G =====
CXG2001 [Modified] VCS Label: A3_1B
Formula for Model_Mantissa was replaced in Ada 2005 (and really in
the Corrigendum), but was never updated in this test. This only
affects machines with decimal floating point.
===== Annex H =====
LXH4001 [Modified] VCS Label: A3_1P
Corrected format of error tag; added location indicators.
LXH4003 [Modified] VCS Label: A3_1P
Corrected format of error tag; added location indicators.
LXH4006 [Modified] VCS Label: A3_1P
Added missing error tags.
LXH4009 [Modified] VCS Label: A3_1P
Added missing error tags.
LXH4013 [Modified] VCS Label: A3_1P
Added missing error tags.
LXH4014 [Modifiws] VCS Label: A3_1P
Added missing error tags.
===== Support =====
IMPDEF [Modified] VCS Label: A3_1K
[VCS Label A3_1B] Added constants for the external names for the
imported and exported routines in test CXB3017. The change is only
needed for that test, it has no effect on any other test.
[VCS Label A3_1E] Added constants for the names of environment
variables used by tests CXAH001 and CXAH002. Also removed obsolete
.AW file constants (these are not used as test source has been
provided in UTF-8 format since the release of ACATS 3.0). The
change is only needed for those tests, it has no effect on any
other tests.
[VCS Label A3_1F] Added a constant and function used by test
CXAG001. The change is only needed for that test, it has no
effect on any other tests.
[VCS Label A3_1K] Added constants for the external name for the
imported routine in test CXB3023. The change is only
needed for that test, it has no effect on any other test.
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 complete set of official new and modified tests are available in the Mod_3_1R.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.]
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 3.1 is available in various formats on the ACAA web site.
Summary lists:
Withdrawn Tests
(Refer to the main list for details)
B38105A B43102A B74001A B74001B B74203E BA1101E C62003A CC3017C CD1009A CD1009B CD1009L CD1009M CD2A21C CD2A31C CD33001 CD33002
Allowed Modification Tests
(Refer to the main list for details)
B37309B 2018-07-01 B37310B 2018-07-01 B37311A 2018-07-01 B392002 2018-07-01 B392003 2018-07-01 B392004 2018-07-01 B392005 2018-07-01 B393001 2018-07-01 B393007 2018-07-01 B393010 2018-07-01 B3A2007 2018-07-01 B3A2008 2018-07-01 B3A2009 2018-07-01 B3A2011 2018-07-01 B3A2012 2018-07-01 B3A2016 2018-07-01 B4A010C 2018-07-01 B540001 2018-07-01 [VCS Label A3_1R] B54B01B 2018-07-01 B54B01C 2018-07-01 B54B02B 2018-07-01 B54B02C 2018-07-01 B54B02D 2018-07-01 B54B04A 2018-07-01 B54B04B 2018-07-01 B54B05A 2018-07-01 B55B12B 2018-07-01 B55B12C 2018-07-01 B83027B 2018-07-01 B83027D 2018-07-01 B83E01B 2018-07-01 BA1001D 2018-07-01 BA1020F 2018-07-01 BA11007 2018-07-01 BA11013 2018-07-01 BA12010 2018-07-01 BC51016 2018-07-01 BDB0A01 2018-07-01 BDD2003 2018-07-01 BXC6A03 2018-07-01
Modified Tests
(Refer to the main list for details)
B38003D B393005 B3A1001 B3A1002 B455002 B62001C B62001D B65005A B65005B B730006 B73001A B73001B B73001C B73001D B73001E B73001F B73001G B73001H B740003 B750A01 B750A02 B83F02C B91003A B91003B B91003C B91003D B940003 B940004 B95007B BD4003A BDD2004 C352001 C52101A C540002 CC30003 CXD2007 CXDB001 CXDB002 CXDB003 CXDB004 CXG2001 IMPDEF [VCS A3_1K] LXD7001 LXD7003 LXD7004 LXD7005 LXD7006 LXD7007 LXD7008 LXD7009 LXH4001 LXH4003 LXH4006 LXH4009 LXH4013 LXH4014
New Tests
(Refer to the main list for details)
B354002 B393011 B3A1007 B3A1008 B3A1009 B3A1A05 B3A2017 B431006 B480002 B480003 B540002 [VCS Label A3_1B] B640001 B651001 B730008 B730009 B730010 B730011 B730012 B730013 B750A04 B750A06 B831004 B840002 BA12017 BA15003 BB42001 BB42002 BB42003 BC60001 BC60002 BC60004 BDD2004 C354004 C390012 C391003 C3A0030 C3A1003 C3A1004 C3A2004 C453001 C460014 C460015 C480001 C540001 C540001 C620001 C640002 C651001 C660001 C760015 C920001 CB30001 CB42001 CB42002 CB42003 CC30004 [VCS Label A3_1F] CC60001 CD30008 CD30009 CD30011 CD30012 CXA4037 CXA5016 CXAA021 CXAA022 CXAB002 CXAB003 CXAB004 CXAB005 CXAC008 CXAG001 CXAH001 CXAH002 CXAI001 CXAI002 CXAI003 CXAI004 CXAI005 CXAI006 CXAIA01 CXAIA02 CXAIA03 CXAIA04 CXAIA05 CXAIA06 CXB3017 CXB3023 FXAIA00
Pending New Tests
(Refer to the main list for details)
B480004 2018-10-01 BA14001 2018-10-01 BA14002 2018-10-01 BA14003 2018-10-01 C760A02 2018-10-01