Several tests have been moved to the New category, meaning that they now are required for conformity assessment. These are: C460011, C910003, CA20002, and LA20001.
Tests modified before July 1, 1999 are now required.
New tests inserted between October 1, 1999 and January 1, 2000 will become required for conformity assessments on July 1, 2000. New tests inserted between July 1, 1999 and October 1, 1999 will become required for conformity assessments on April 1, 2000. New tests inserted between April 1, 1999 and July 1, 1999 will become required for conformity assessments on January 1, 2000. New tests added to the ACATS before April 1, 1999 are now required for conformity assessments. The effective dates of tests are marked in the lists.
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); "New" (the test does not need to be processed for
Ada conformity assessments, but will be added to future baseline ACATS).
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 83 & Ada 95 standards
are given in the format:
These references are to the Ada 95 standard unless "Ada83" is specified.
Name Category Version label (effective date; old
version label) Short description.
C330001 [Modified] VCS Label: A2_2A
Calls to potentially unelaborated Indef_Func_1 and
Indef_Func_2 may raise Program_Error.
C332001 [Modified] VCS Label: A2_2A
Decimal types have been removed from the tests.
C390010 [Allowed Modification] New VCS Label: A2_2E
Required after 2000-01-01 Org VCS Label: A2_2
Type Subtype_Parent_Class_Access causes premature check failure.
B392010 [Pending New] New VCS Label: A2_2E
Required after 2000-04-01
This test checks that an operation cannot be dispatching
for two tagged types even when it is not known at the
point of declaration that the types are tagged.
B420001 [Pending New] New VCS Label: A2_2E
Required after 2000-04-01
This test checks that the null string literals with a
modular index subtype with a lower bound of zero are
illegal if they are static.
C420001 [Pending New] New VCS Label: A2_2E
Required after 2000-04-01
This test checks that the null string literals with a
modular index subtype with a lower bound of zero raise
Constraint_Error.
C455001 [Pending New] New VCS Label: A2_2B
Required after 2000-01-01
This test checks that universal fixed multiplying
operators can be given without a type conversion
(as required in Ada 83), and that constants can be used with such operators.
B455002 [Pending New] New VCS Label: A2_2B
Required after 2000-01-01
This test checks the rule requiring the result of a
universal fixed multiplying operator is not universal fixed.
C460008 [Modified] VCS Label: A2_2A
Decimal type operations have been split out into a separate test.
C460011 [New] New VCS Label: A2_1E
Checks at @193 and @199 test the wrong object. (VCS Label A2_1E)
This test contains the decimal type operations
formerly found in test C460008, and some additional
rounding tests for decimal type conversions. (VCS Label A2_1C)
C650001 [Modified] New VCS Label: A2_2A
Call at @352 may cause conversion @337 to raise
Constraint_Error as the tag check will fail.
C730003 [Pending New] New VCS Label: A2_2E
Required after 2000-04-01
Check that components can be declared with the same name
as an invisible component of the ancestor type. Check
that the original component can be updated through a view conversion.
B730006 [Pending New] New VCS Label: A2_2E
Required after 2000-04-01
Check that the visible components of a type extension
are only those inherited from the parent type, even if
additional components of an ancestor type are visible.
C731001 [Pending New] New VCS Label: A2_2E
Required after 2000-04-01
Check that inherited operations can be overridden, even
when they are inherited in a body.
C761010 [Pending New] New VCS Label: A2_2E
Required after 2000-04-01
Check that the initialization of an object with an
aggregate does not involve calls to Adjust.
B830001 [Modified] VCS Label: A2_2A
Multiple source units in a single source file are dubious.
B830002 [Pending New] New VCS Label: A2_2E
Required after 2000-04-01
For a type extension declared in a child package, where
the parent type is declared in an ancestor package, it is
illegal for the two types to have duplicate component names.
B83004B [Allowed Modification] New VCS Label: A2_2E
Required after 2000-01-01 Org VCS Label: A2_2
This test is applicable to all Ada 95 implementations.
B83004D [Allowed Modification] New VCS Label: A2_2E
Required after 2000-01-01 Org VCS Label: A2_2
This test is applicable to all Ada 95 implementations.
B83024F [Allowed Modification] New VCS Label: A2_2E
Required after 2000-01-01 Org VCS Label: A2_2
This test is applicable to all Ada 95 implementations.
C840001 [Pending New] New VCS Label: A2_2E
Required after 2000-04-01
Added a test case to check that operators are made
visible even when they are not visible by selection.
[Note: This is an enhancement of an existing test; the
existing test remains required for conformity assessment
until this new test becomes effective.]
C854002 [Pending New] New VCS Label: A2_2E
Required after 2000-04-01
Check that Program_Error is raised by the elaboration
check on a renames-as-body if the renames itself has not yet been elaborated.
C910003 [New] New VCS Label: A2_2A
Check that task discriminants of an access subtype can be
selected, indexed, and dereferenced.
BA1010D [Allowed Modification] New VCS Label: A2_2E
Required after 2000-01-01 Org VCS Label: A2_2
This test is applicable to all Ada 95 implementations.
CA1012A [Allowed Modification] New VCS Label: A2_2E
Required after 2000-01-01 Org VCS Label: A2_2
This test is applicable to all Ada 95 implementations.
CA14023 [Pending New] New VCS Label: A2_2E
Required after 2000-04-01
Check that a generic body can be changed after the
compilation of an instantiation. (From AI-00077.)
(Was LA14023).
CA14028 [Pending New] New VCS Label: A2_2C
Required after 2000-04-01
Check that a subprogram body replaces (not completes) a
generic instantiation.
BA15002 [Pending New] New VCS Label: A2_2C
Required after 2000-04-01
Check that program unit pragmas cannot be given in a
generic formal part or private part. Check that program
unit pragmas which apply to a compilation unit must be
given first in that unit or immediately following.
CA15003 [Pending New] New VCS Label: A2_2C
Required after 2000-04-01
Check that program unit pragmas can be given in a generic package.
LA14023 [Withdrawn]
Ada 95 requires that generic bodies may be compiled
(changed)after an instantiation. Therefore, this test
may not fail to link. This test is replaced by CA14023.
LA20001 [New] New VCS Label: A2_1F
Check that 10.2(19) is enforced. This test was created
out of the removed test case from B830001.
CA20002 [New] New VCS Label: A2_1F
Check that a partition can be created even if multiple
units with the same expanded name have been compiled.
CA2009C [Allowed Modification] New VCS Label: A2_2E
Required after 2000-01-01 Org VCS Label: A2_2
This test is applicable to all Ada 95 implementations.
CA2009F [Allowed Modification] New VCS Label: A2_2E
Required after 2000-01-01 Org VCS Label: A2_2
This test is applicable to all Ada 95 implementations.
CA21001 [Pending New] New VCS Label: A2_2E
Required after 2000-04-01
Test that a package subunit whose parent is a
preelaborated subprogram need not be preelaborable.
BA21004 [Pending New] New VCS Label: A2_2E
Required after 2000-04-01
Check all semantic dependents of a preelaborated library
unit also be preelaborated (whether or not they are used
during elaboration).
CA3011A [Allowed Modification] New VCS Label: A2_2E
Required after 2000-01-01 Org VCS Label: A2_2
This test is applicable to all Ada 95 implementations.
CA5004B [Modified] VCS Label: A2_2A
If an implementation obsoletes entire source files, unit
Header may be made obsolete by the recompilation of unit CA5004B0.
[Note: The fix is to split the first test file
(CA5004B0).This changes the numbers of the remaining
test files; scripts will need to be updated!]
CB10002 [Pending New] New VCS Label: A2_2E
Required after 2000-04-01
Check that Storage_Error is raised when storage for
allocated objects is exceeded. This test will replace
CB1010B.ADA when it becomes effective.
CD10001 [Modified] VCS Label: A2_2A
Made small value for Tenths a power of two.
CD2A53A [Modified] VCS Label: A2_2A
Added applicability criteria, to allow rejection for non-
support of decimal small values. (This is allowed by 3.5.9(21)).
CD30002 [Modified] VCS Label: A2_2A
@130 Alignment declared as Max_Word*2, but tests @178 Multiple_Alignment.
Multiple_Alignment may exceed maximum supported by
implementation. Test divides by zero if Word_Size =
Storage_Size (@171, 184)
CD30003 [Modified] VCS Label: A2_2A
The test will fail unless that Storage_Unit = 8.
CD30004 [Allowed Modification] New VCS Label: A2_2C
Required after 2000-01-01 Org VCS Label: A2_2
Subtests check 13.3(53) (which is implementation advice)
and 13.3(56) (which is untestable). These have been
deleted. The test requires all implementations to support
the recommended level of support, even if this is not required.
[Pending New] New VCS Label: A2_2C
Required after 2000-04-01
A subtest was added to check that Size clauses confirming
the recommended level of support are supported.
CD92001 [Modified] VCS Label: A2_2A
Test assumes arrays have same Component_Size without
justification.
CDE0001 [Modified] VCS Label: A2_2A
Instantiation of potentially unelaborated CDE0001_2 may
raise Program_Error.
CE3115A [Modified] VCS Label: A2_2A
Output to external file may be buffered.
CXA5012 [Allowed Modification] New VCS Label: A2_2E
Required after 2000-01-01 Org VCS Label: A2_2
Technical Corrigendum 1 makes calling Value with an
illegal state a bounded error.
CXAA016 [Modified] VCS Label: A2_2A
For implementations which do not support creating Text_IO
files,file deletions may fail (@93).
CXB3004 [Pending New] New VCS Label: A2_2E
Required after 2000-04-01
Revised test to use a C function rather than
Unchecked_Conversion for checking. (There is no
requirement of matching representations for char and Character.)
[Note: This is an enhancement of an existing test; the
existing test remains required for conformity assessment
until this new test becomes effective.]
CXB3005 [Allowed Modification] New VCS Label: A2_2E
Required after 2000-01-01 Org VCS Label: A2_2
Unchecked_Conversion use is unnecessary for test
objective, but it restricts applicability.
CXB3006 [Pending New] New VCS Label: A2_2E
Required after 2000-04-01
Revised test to use a C function rather than
Unchecked_Conversion for checking. (There is no
requirement of matching representations for wchar_t and
Wide_Character.)[Note: This is an enhancement of an
existing test; the existing test remains required for
conformity assessment until
this new test becomes effective.]
CXB3007 [Allowed Modification] New VCS Label: A2_2E
Required after 2000-01-01 Org VCS Label: A2_2
Unchecked_Conversion use is unnecessary for test
objective, but it restricts applicability.
CXB3009 [Pending New] New VCS Label: A2_2C
Required after 2000-04-01
Added a test case to check that To_Chars_Ptr with
Nul_Check =>False works. [Note: This is an enhancement of
an existing test;the existing test remains required
for conformity assessment until this new test becomes effective.]
CXB3010 [Pending New] New VCS Label: A2_2C
Required after 2000-04-01
Added a test case to check that Value raises
Constraint_Error if Length = 0. [Note: This is an
enhancement of an existing test; the existing test
remains required for conformity assessment until this new
test becomes effective.]
CXB3012 [Pending New] New VCS Label: A2_2E
Required after 2000-04-01
Added a test case to check that Update (Null_Ptr…) raises
Dereference_Error. Replaced Unchecked_Conversion by To_C.
[Note: This is an enhancement of an existing test; the
existing test remains required for conformity assessment
until this new test becomes effective.]
CXB3013 [Modified] VCS Label: A2_2A
The Strdup function @f1-95 is not ANSI standard.
IMPDEF [Allowed Modification] ] New VCS Label: A2_2E
Required after 2000-01-01 Org VCS Label: A2_2
Two additional external names were added. Comments on
Non_State_String were corrected.
===== Annex C =====
BXC6A02 [Allowed Modification] New VCS Label: A2_2D
Required after 2000-01-01 Org VCS Label: A2_2
The repair of FXC6A00 required that this test be reverted to its
original version, which is closer to the author's intent.
BXC6A03 [Allowed Modification] New VCS Label: A2_2D
Required after 2000-01-01 Org VCS Label: A2_2
Test comments didn't reflect the actual errors.
Note that the repaired version of FXC6A00 is required for this test.
CXC7001 [Modified] VCS Label: A2_2A
The routine TC_Match_States is not safe on a multi-processor
implementation.
CXC7002 [Modified] VCS Label: A2_2A
The test may fail on an implementation that restricts attribute
size to the size of an access value.
CXC7003 [Modified] VCS Label: A2_2A
The test may fail on an implementation that restricts attribute
CXC7004 [Pending New] New VCS Label: A2_2E
Required after 2000-04-01
Check that Is_Callable works properly on the environment task.
Check that 'Caller and Current_Task can return the environment
task.
FXC6A00 [Allowed Modification] New VCS Label: A2_2D
Required after 2000-01-01 Org VCS Label: A2_2
The NonVolatile_Tagged type inherits the volatile property from
its parent type.
===== Annex D =====
BXD1001 [Modified] VCS Label: A2_2A
Interrupt_Priority pragmas in tasks may be rejected.
CXD1006 [Modified] New VCS Label: A2_2A
Added applicability criteria, allowing rejection of
Interrupt_Priority pragma.
CXD2004 [Modified] VCS Label: A2_2A
The Not_Applicable check for a multi-processor is missing.
CXD6001 [Modified] VCS Label: A2_2D
Required after 2000-01-01 Org VCS Label: A2_2A
The previous version was truncated. (VCS label A2_2D)
The Not_Applicable check for a multi-processor is missing.
(VCS Label A2_2A)
[Note: VCS Label A2_2A is required for conformity assessment.]
==== Annex E ====
CXE2002 [Pending New] New VCS Label: A2_2E
Required after 2000-04-01
Check that a subprogram or generic subprogram can be a remote call
interface unit.
BXE2011 [Modified] New VCS Label: A2_2B
The conversions @203, 206 are legal by E.2.2(15).
BXE2013 [Pending New] New VCS Label: A2_2E
Required after 2000-04-01
Check that a Shared_Passive or Remote_Types unit must not be a
subprogram or generic subprogram.
CXE4005 [Modified] VCS Label: A2_2A
The call @481 does not contain a classwide parameter, so it cannot
check E.4(18) as is intended.
CXE4006 [Allowed Modification] New VCS Label: A2_2D
Required after 2000-01-01 Org VCS Label: A2_2
If partition B runs to completion before partition A finishes
elaboration, it is possible for Report.Result to be called before
Report.Test.
CXE5002 Allowed Modification] New VCS Label: A2_2C
Required after 2000-01-01 Org VCS Label: A2_2A
An implementation must support the recompilation of the bodyv
of System.RPC. (VCS Label A2_2C)v
vOptional partition B prints a spurious failure message. (VCS Label A2_2A)
[Note: VCS Label A2_2A is required for conformity assessment.]
CXE5003 [Allowed Modification] New VCS Label: A2_2C
Required after 2000-01-01 Org VCS Label: A2_2
An implementation must support the recompilation of the body
of System.RPC.
LXE3001 [Modified] VCS Label: A2_2A
Test may hang when exceptions are raised as expected.
Test requires that Program_Error must be raised, but it is not
required by E.3(6).
===== Annex F =====
[None]
===== Annex G =====
CXG2005 [Allowed Modification] New VCS Label: A2_2E
Required after 2000-01-01, Org VCS Label: A2_2
The test printed thousands of identical failure messages when it
failed, which is not helpful.
CXG2014 [Modified] VCS Label: A2_2A
Subtraction_Error_Test does not contain enough terms in the Taylor
series for any possible floating point type.
CXG2016 [Modified] New VCS Label: A2_2B
The call to Arctan @243 is missing a comma, resulting in incorrect
parameters.
CXG2018 [Allowed Modification] New VCS Label: A2_2E
Required after 2000-01-01, Org VCS Label: A2_2
The error bound @268 is not wide enough.
===== Annex H =====
CXH3001 [Allowed Modification] New VCS Label: A2_2E
Required after 2000-01-01, Org VCS Label: A2_2
The value of A_Truth after the assignment @205 is undefined by
13.9.1(9-11).
CXH3003 [Allowed Modification] New VCS Label: A2_2E
Required after 2000-01-01, Org VCS Label: A2_2
The value of A_Truth after the assignment @178 is undefined by
13.9.1(9-11).
LXH4014 [Modified] VCS Label: A2_2A
Corrected errors in "Special Requirements" section.
The official home of the ACATS test suite is the ACAA web site. The site can be accessed from the
Compilers and Conformance section of the Ada IC web site (www.adaic.org). It also can be accessed directly at www.ada-auth.org/~acats - but note that this URL may change in the future.
The complete set of official new and modified tests is available in the Mod_2_2F Zip and Tar files on the ACAA web site.
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.
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 (AVF).
The baseline ACATS 2.2 is available in various formats on the ACAA web site.