AdaIC
Ada Information Clearinghouse
Compilers ^
Conformance Testing & Evaluation^
ACATS Test Modification List V 2.2J

ACATS Test Modification List
Version 2.2J
March 6, 2000


Changes from the last list:

Test CXB3015 was modified to eliminate a dubious construct, an array of dynamic arrays. As the test is testing C interface constructs, and C does not have an analog to an array of dynamic arrays, this is testing beyond the bounds of the intent.

Test LXD7001 was modified to correct the tasks so that all of the tasks are activated after their task bodies have elaborated. The test code is not intended to execute, but if it does (because a compiler failed to enforce the restrictions), it immediately raises Tasking_Error (before displaying any messages). This could cause the failure of the test to be overlooked. The modification allows it to run and print failed, as intended by the test author.

Tests modified before October 1, 1999 are now required.

New tests inserted between January 1, 2000 and April 1, 2000 will become required for conformity assessments on October 1, 2000. 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 added to the ACATS before July 1, 1999 are now 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.

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); "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:

<section|chapter>.<clause>[.<subclause>]:<paragraph>

These references are to the Ada 95 standard unless "Ada83" is specified.

Main list:

===== Core Language =====

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 [Modified] VCS Label: A2_2E
   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.

B393007 [Pending New] New VCS Label: A2_2G
   Required after 2000-07-01
   This test checks the rules in 3.9.3(10) and that an operation that
   must be overridden (as in 3.9.3(6)) cannot be renamed.

B3A2016 [Pending New] New VCS Label: A2_2G
   Required after 2000-07-01
   This test checks that the type of the prefix in an access
   attribute is not used in resolving the type of the attribute.

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.

C433001 [Pending New] New VCS Label: A2_2G
   Required after 2000-07-01
   This test checks that array aggregates with a dynamic applicable
   index constraint and an others choice allow other choices.

C455001 [New] VCS Label: A2_2B
   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 [New] New VCS Label: A2_2B
   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_2A
   This test contains the decimal type operations formerly found in test C460008, and some additional
   rounding tests for decimal type conversions.

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.

B731001 [Pending New] New VCS Label: A2_2E
   Required after 2000-07-01
   Check the requirements of 7.3.1 for inheritance of characteristics
   and primitive operations, including characteristics and operations
   that become available later in the declarative part.

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 [Modified] VCS Label: A2_2E
   This test is applicable to all Ada 95 implementations.

B83004D [Modified] VCS Label: A2_2E
   This test is applicable to all Ada 95 implementations.

B83024F [Modified] VCS Label: A2_2E
   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.

C95040D [Allowed Modification] New VCS Label: A2_2G
   Required after 2000-04-01 Org VCS Label: A2_2
   Removed potentially erroneous Report.Comment calls.

BA1010D [Modified] VCS Label: A2_2E
   This test is applicable to all Ada 95 implementations.

CA1012A [Modified] VCS Label: A2_2E
   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_2Av
   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_2A
   Check that a partition can be created even if multiple units with
   the same expanded name have been compiled.

CA2009C [Modified] VCS Label: A2_2E
   This test is applicable to all Ada 95 implementations.

CA2009F [Modified] VCS Label: A2_2E
   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 [Modified] VCS Label: A2_2E
   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 for 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 [Modified] VCS Label: A2_2C
   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 [Modified] New VCS Label: A2_2E
   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 [Modified] VCS Label: A2_2E
   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 [Modified] New VCS Label: A2_2E
   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.

CXB3015 [Allowed Modification] VCS Label: A2_2J
   Required after 2000-07-01
   Modified the component of Array_of_Arrays to have static bounds.

IMPDEF [Modified] VCS Label: A2_2E
   Two additional external names were added. Comments on
   Non_State_String were corrected. ===== Annex C ===== BXC6A02 [Modified] New VCS Label: A2_2D
   The repair of FXC6A00 required that this test be reverted to its
   original version, which is closer to the author's intent.

BXC6A03 [Modified] New VCS Label: A2_2D    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
   size.

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 [Modified] VCS Label: A2_2D
   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] 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    The previous version was truncated. (VCS label A2_2D)    The Not_Applicable check for a multi-processor is missing.    (VCS Label A2_2A)

LXD7001 [Allowed Modification] New VCS Label: A2_2J    Required after 2000-07-01 Org VCS Label: A2_2    Revised file LXD70011 to insure that tasks activate after    elaboration of their bodies.

==== Annex E ====

CXE2002 [Pending 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] 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 [Modified] VCS Label: A2_2D
   If partition B runs to completion before partition A finishes
   elaboration, it is possible for Report.Result to be called before Report.Test.

CXE5002 [Modified] VCS Label: A2_2C
   An implementation must support the recompilation of the body
   of System.RPC. (VCS Label A2_2C)
   Optional partition B prints a spurious failure message.
   (VCS Label A2_2A)

CXE5003 [Modified] VCS Label: A2_2C
   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.

CXG2015 [Allowed Modification] New VCS Label: A2_2G
   Required after 2000-04-01, Org VCS Label: A2_2
   The accuracy requirements for operations which require exact
   results are incorrect.

CXG2016 [Allowed Modification] New VCS Label: A2_2G
   Required after 2000-04-01, Org VCS Label: A2_2B
   The accuracy requirements for exact results (in Exact_Result_Test)
   are too strict. (VCS Label A2_2G)
   The call to Arctan @243 is missing a comma, resulting in incorrect
parameters. (VCS Label A2_2B)
    [Note: VCS Label A2_2B is required for conformity assessment.]

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.

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 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.

 

Summary lists:

 


Withdrawn Tests

(Refer to the main list for details)

LA14023

 

Allowed Modification Tests

(Refer to the main list for details)

C95040D 2000-04-01
CXB3015 2000-07-01
CXG2015 2000-04-01
CXG2016 2000-04-01
LXD7001 2000-07-01

 

Modified Tests

(Refer to the main list for details)

B830001
B83004B
B83004D
B83024F
BA1010D
BXC6A02
BXC6A03
BXD1001
BXE2011
C330001
C332001
C390010
C460008
C650001
CA1012A
CA2009C
CA2009F
CA3011A
CA5004B
CD10001
CD2A53A
CD30002
CD30003
CD30004
CD92001
CDE0001
CE3115A
CXA5012
CXAA016
CXB3005
CXB3007
CXB3013
CXC7001
CXC7002
CXC7003
CXD1006
CXD2004
CXD6001
CXE4005
CXE4006
CXE5002
CXE5003
CXG2005
CXG2014
CXG2016 (VCS Label A2_2B)
CXG2018
CXH3001
CXH3003
FXC6A00
IMPDEF
LXE3001
LXH4014


Pending New Tests

(Refer to the main list for details)

B392010 2000-04-01
B393007 2000-07-01
B3A2016 2000-07-01
B420001 2000-04-01
B730006 2000-04-01
B731001 2000-07-01
B830002 2000-04-01
BA15002 2000-04-01
BA21004 2000-04-01
BXE2013 2000-04-01
C420001 2000-04-01
C433001 2000-07-01
C730003 2000-04-01
C731001 2000-04-01
C761010 2000-04-01
C840001 2000-04-01
C854002 2000-04-01
CA14023 2000-04-01
CA14028 2000-04-01
CA15003 2000-04-01
CA21001 2000-04-01
CB10002 2000-04-01
CD30004 2000-04-01
CXB3004 2000-04-01
CXB3006 2000-04-01
CXB3009 2000-04-01
CXB3010 2000-04-01
CXB3012 2000-04-01
CXC7004 2000-04-01
CXE2002 2000-04-01

New Tests

(Refer to the main list for details)

B455002
C455001
C460011
C910003
CA20002
LA20001

================