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

ACATS Test Modification List
Version 2.2B
April 28, 1999


Changes from the last list:

BXE2011 has been modified. The original test implied that conversion from local access values to remote access values is illegal, but that is not supported by E.2.2(15) of the Ada reference manual.

CXG2016 has been modified. The ACATS 2.2 version of the test is missing a comma on line 243, which causes the call to Arctan to have parameters (-1.0, 1.0) instead of (-0.0, -1.0).

C455001 and B455002 are new. C455001 checks that universal fixed multiplying operators can be given without a type conversion (as in Ada 83), and that constants can be used with such operators. B455002 checks the rule requiring the result of a universal fixed multiplying operator is not universal fixed.

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 will become required for conformity assessments on October 1, 1999. The effective dates of tests are marked in the lists.

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.

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.

B830001 [Allowed Modification] New VCS Label: A2_2A
   Required after 1999-07-01, Org VCS Label: A2_2
   Multiple source units in a single source file are dubious.

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.

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 in Ada 83), and that constants
   can be used with such operators.

C460008 [Modified] VCS Label: A2_2A
   Decimal type operations have been split out into a separate test.

C460011 [Pending New] New VCS Label: A2_1E
   Required after 1999-10-01
   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 [Allowed Modification] New VCS Label: A2_2A
   Required after 1999-07-01, Org VCS Label: A2_2
   Call at @352 may cause conversion @337 to raise Constraint_Error
   as the tag check will fail.

C910003 [Pending New] New VCS Label: A2_2A
   Required after 1999-10-01
   Check that task discriminants of an access subtype can be
   selected, indexed, and dereferenced.

CA20002 [Pending New] New VCS Label: A2_1F
   Required after 1999-10-01
   Check that a partition can be created even if multiple units with
   the same expanded name have been compiled.

CA5004B [Allowed Modification] New VCS Label: A2_2A
   Required after 1999-07-01, Org VCS Label: A2_2
   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!]

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 [Allowed Modification] New VCS Label: A2_2A
   Required after 1999-07-01 Org VCS Label: A2_2
   @130 Alignment declared as Max_Word*2, but tests @178 for
   Multiple_Alignment. (VCS Label A2_1A)
   Multiple_Alignment may exceed maximum supported by implementation. (VCS Label A2_1B)
   Test divides by zero if Word_Size = Storage_Size

CD30003 [Allowed Modification] New VCS Label: A2_2A
   Required after 1999-07-01 Org VCS Label: A2_2
   The test will fail unless that Storage_Unit = 8.

CD92001 [Allowed Modification] New VCS Label: A2_2A
   Required after 1999-07-01 Org VCS Label: A2_2
   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.

CXAA016 [Allowed Modification] New VCS Label: A2_2A
   Required after 1999-07-01, Org VCS Label: A2_2
   For implementations which do not support creating Text_IO files,
   file deletions may fail (@93).

CXB3013 [Allowed Modification] New VCS Label: A2_2A
   Required after 1999-07-01, Org VCS Label: A2_2
   The Strdup function @95 is not ANSI standard.

LA20001 [Pending New] New VCS Label: A2_1F
   Required after approximately 1999-10-01
   Check that 10.2(19) is enforced. This test was created out of the
   removed test case from B830001.

===== Annex C =====

CXC7001 [Modified] VCS Label: A2_2A
   The routine TC_Match_States is not safe on a multi-processor
   implementation.

CXC7002 [Allowed Modification] New VCS Label: A2_2A
   Required after 1999-07-01 Org VCS Label: A2_2
   The test may fail on an implementation that restricts attribute
   size to the size of an access value.

CXC7003 [Allowed Modification] New VCS Label: A2_2A
   Required after 1999-07-01 Org VCS Label: A2_2
   The test may fail on an implementation that restricts attribute
   size.

===== 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_2A
   The Not_Applicable check for a multi-processor is missing.

==== Annex E ====

BXE2011 [Allowed Modification] New VCS Label: A2_2B
   Required after 1999-10-01 Org VCS Label: A2_2
   The conversions @203, 206 are legal by E.2.2(15).

CXE4005 [Allowed Modification] New VCS Label: A2_2A
   Required after 1999-07-01 Org VCS Label: A2_2
   The call @481 does not contain a classwide parameter, so it
   cannot check E.4(18) as is intended.

CXE5002 [Modified] VCS Label: A2_2A
   Optional partition B prints a spurious failure message.

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. (E.3:6)

===== Annex F =====

[None]

===== Annex G =====

CXG2014 [Allowed Modification] New VCS Label: A2_2A
   Required after 1999-07-01, Org VCS Label: A2_2
   Subtraction_Error_Test does not contain enough terms in the
   Taylor series for any possible floating point type.

CXG2016 [Allowed Modification] New VCS Label: A2_2B
   Required after 1999-10-01, Org VCS Label: A2_2
   The call to Arctan @243 is missing a comma, resulting in incorrect parameters.

===== Annex H =====

LXH4014 [Allowed Modification] New VCS Label: A2_2A
   Required after 1999-07-01, Org VCS Label: A2_2
   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 pebbles.ocsystems.com/~acats - but note that this is a temporary home, and may change in the future.

The complete set of official new and modified tests are available in the Mod_2_2A 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)

[None Currently]

 

Allowed Modification Tests

(Refer to the main list for details)

B830001 1999-07-01
BXE2011 1999-10-01
C650001 1999-07-01
CA5004B 1999-07-01
CD30002 1999-07-01
CD30003 1999-07-01
CD92001 1999-07-01
CXAA016 1999-07-01
CXB3013 1999-07-01
CXC7002 1999-07-01
CXC7003 1999-07-01
CXE4005 1999-07-01
CXG2014 1999-07-01
CXG2016 1999-10-01
LXH4014 1999-07-01

 

Modified Tests

(Refer to the main list for details)

BXD1001
C330001
C332001
C460008
CD10001
CD2A53A
CDE0001
CE3115A
CXC7001
CXD1006
CXD2004
CXD6001
CXE5002
LXE3001

Pending New Tests

(Refer to the main list for details)

B455002 2000-01-01
C455001 2000-01-01
C460011 1999-10-01
C910003 1999-10-01
CA20002 1999-10-01
LA20001 1999-10-01

New Tests

(Refer to the main list for details)

[None currently]

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