Test B830001 was modified to eliminate a little-value test case, and to eliminate multiple units from the
(single) test file. Multiple units with the same name in a single file can be rejected by implementations.
Test CD30003 was modified to correct for the unintended assumption that Storage_Unit = 8. It also was modified to avoid problems with the proposed rules of AI-00051.
Test LA20001 is new. It adds a test for 10.2(19), and is essentially the test case removed from B830001,
reorganized to provide an appropriate test.
Test CA20002 is new. It adds a test that a partition can be created, even if a child unit and a subunit with the same name have been compiled previously.
Keep in mind that ACVC 2.2 will be used as a new baseline suite, and some of the tests in that suite would meet the requirements for new tests. That baseline will be effective April 5, 1999.
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.
B37312B [Withdrawn]
@42,58 is legal in Ada95 (3.8.1:7 (vs. RM83 3.7.3:3))
B392002 [Modified VCS Label: A2_1A
Primitive function in private part @186 violates 3.9.3:10
B393006 [Modified] VCS Label: A2_1A
Declaration of Func @102/3 Violates 3.9.3(10)
B490001 [Modified] VCS Label: A2_1A
Errors @295, 298, 324 are in error for other reasons than marked.
B610001 [Modified] VCS Label: A2_1A
Procedure Calls @221,223,225,228 are ambiguous
B83E01C [Modified] VCS Label: A2_1A
Errors @172, 177 are "Optional"
B83E01D [Modified] VCS Label: A2_1A
Errors @302, 307 are "Optional"
B83E01E [Modified] VCS Label: A2_1A
Errors @F3-56/-61 are "Optional"
BA21003 [Modified] VCS Label: A2_1A
Compilation with errors may affect later error detection.
[Note: The fix is to split the first test file (BA210030).
This changes the numbers of the remaining test files; scripts
will need to be updated!]
BC3503A [Modified] VCS Label: A2_1A
@100, 109, 118 is not an error.
BC3503C [Modified] VCS Label: A2_1A
@63 is not an error.
BC51C02 [Modified] VCS Label: A2_1A
Declaration of FUNC @194 violates 3.9.3:10
BDE0001 [Modified] VCS Label: A2_1A
Both implicit & explicit function @154 violate 3.9.3:10
C330001 [Allowed Modification] New VCS Label: A2_1C
Required after 1999-02-25, Org VCS Label: A2_1
Calls to potentially unelaborated Indef_Func_1 and Indef_Func_2 may raise Program_Error.
C332001 [Allowed Modification] New VCS Label: A2_1C
Required after 1999-02-25, Org VCS Label: A2_1
Decimal types have been removed from the tests.
C390010 [Withdrawn]
@163 fails the accessibility check of 3.10.2:29
C392010 [Withdrawn]
@499 the dispatching order produces string "LqmKen", not "NqmMgn"
C392012 [Withdrawn]
@350 will raise Constraint_Error when a tag check fails
C3A2A02 [Modified] VCS Label: A2_1A
Elaboration check may fail.
C460008 [Allowed Modification] New VCS Label: A2_1C
Required after 1999-02-25, Org VCS Label: A2_1
Decimal type operations have been split out into a separate test.
C460011 [New]New VCS Label: A2_1E
Required in version 2.3, approximately 2000-04-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)
C42006A [Withdrawn]
@56,66,76 static literals must be rejected (4.9:34)
C48009A [Withdrawn]
@54 the static expression TA'(0) must be rejected (4.9:34)
C760007 [Withdrawn]
@161 wrongly expects at least one call to Adjust (7.6:21)
C760009 [Modified] VCS Label: A2_1A
Elaboration check may fail.
C760010 [Modified] VCS Label: A2_1A
Elaboration check may fail.
C760012 [Withdrawn]
@155,183 wrongly requires a component finalization order (7.6.1:9)
C761006 [Withdrawn]
Expects Adjust to be called in Finalize_Test, but it need not be
C761007 [Modified] VCS Label: A2_1A
The expected string "GHGHIJ" @376 is impossible.
C761008 [Withdrawn]
@280 reports Failed but is a possible handler for finalization's P_E
C761009 [Withdrawn]
@562 has enum.value Task_Requeue_To_Task vice Task_Requeue_To_PO
@609,651 wrongly expects event Got_Program_Error
C980001 [Modified] VCS Label: A2_1A
Extra calls to Hold_Up.Lock @251, 274 freeze test.
C9A005A [Withdrawn]
@180,192 aborted calls may be yet not canceled (9.5.3:25, 9.8:15)
C9A007A [Modified] VCS Label: A2_1A
Absence of priorities results in a race condition.
C9A008A [Withdrawn]
@94,191,288 aborted calls may be yet not canceled (9.5.3:25, 9.8:15)
CA20002 [Pending New] New VCS Label: A2_1F
Required after approximately 1999-10-01
Check that a partition can be created even if multiple units with
the same expanded name have been compiled.
CA2009C [Modified] VCS Label: A2_1A
-Z left in files in some distributions.
CA2009F [Modified] VCS Label: A2_1A
-Z left in files in some distributions.
CD10001 [Allowed Modification] New VCS Label: A2_1C
Required after 1999-02-25 Org VCS Label: A2_1
Made small value for Tenths a power of two.
CD20001 [Withdrawn]
Wrongly requires 'Component_Size to be a factor of word size (13.2:9)
CD2A53A [Allowed Modification] New VCS Label: A2_1C
Required after 1999-02-25 Org VCS Label: A2_1
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_1E
Required after 1999-04-20 Org VCS Label: A2_1
@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 (@171, 184 (VCS Label A2_1E)
CD30003 [Allowed Modification] New VCS Label: A2_1F
Required after 1999-04-26 Org VCS Label: A2_1
The test will fail unless that Storage_Unit = 8.
CD30005 [Modified] VCS Label: A2_1A
Main subprogram name does not follow conventions.
CD92001 [Allowed Modification] New VCS Label: A2_1D
Required after 1999-04-05 Org VCS Label: A2_1
Test assumes arrays have same Component_Size without
justification.
CDE0001 [Allowed Modification] New VCS Label: A2_1C
Required after 1999-02-25, Org VCS Label: A2_1
Instantiation of potentially unelaborated CDE0001_2 may raise
Program_Error.
CE3115A [Modified] VCS Label: A2_1A
Output to external file may be buffered.
CXA5012 [Modified] VCS Label: A2_1A
Integer'Last may be less than 100_000 (@86)
CXA5015 [Modified] VCS Label: A2_1A
The floating-point equivalence @255 need not hold
CXA5A01 [Modified] VCS Label: A2_1A
Constraint_Error needn't occur if 'Machine_Overflows=False.
CXA5A02 [Modified] VCS Label: A2_1A
Constraint_Error needn't occur if 'Machine_Overflows=False.
CXA5A03 [Modified] VCS Label: A2_1A
Constraint_Error needn't occur if 'Machine_Overflows=False.
CXA5A04 [Modified] VCS Label: A2_1A
Constraint_Error needn't occur if 'Machine_Overflows=False.
CXA5A09 [Modified] VCS Label: A2_1A
Constraint_Error needn't occur if 'Machine_Overflows=False.
CXAA016 [Allowed Modification] New VCS Label: A2_1E
Required after 1999-04-20, Org VCS Label: A2_1
For implementations which do not support creating Text_IO files,
file deletions may fail (@93).
CXAF001 [Modified] VCS Label: A2_1A
Command_Name returns null string if arguments can't be passed.
CXB3008 [Modified] VCS Label: A2_1A
C function "atof" might not function as expected
CXB3009 [Modified] VCS Label: A2_1A
Expected Storage_Error might not occur.
CXB3010 [Modified] VCS Label: A2_1A
Invocation of Free might be erroneous.
CXB4001 [Modified] VCS Label: A2_1A
Test uses non-existent procedure name @198.
CXB4007 [Modified] VCS Label: A2_1A
Bad To_Binary Comparison @263-268.
CXB4009 [Modified] VCS Label: A2_1A
COBOL code used in test is not legal.
COBOL code may be unable to be compiled (if no compiler).
CXB5004 [Modified] VCS Label: A2_1A
FORTRAN code used in test is not legal.
E28002B [Withdrawn]
@91 the pragma argument violates 10.1.5:6 (no subprogram_declaration)
EA3004G [Withdrawn]
The test reported that pragma Inline is not implemented for
friendly implementations. The test is of little value.
FDB0A00 [Modified] VCS Label: A2_1A
Overflow check @98 is made too soon.
LA1001F [Withdrawn]
Has an invalid test objective (cf AI95-00172/01, ARG Minutes 97-04)
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 =====
BXC6A02 [Modified] VCS Label: A2_1A
Type FXC6A00.NonVolatile_Tagged inherits volatility @159, 188
BXC6A03 [Withdrawn]
@117 applies pragma Volatile in violation of 13.1:10
@129,137 is illegal--FXC6A00.NonVolatile_Tagged IS a volatile type
CXC3004 [Withdrawn]
@282 Attach_Handler raises P_E as per C.3.2:21, which is
unintended
CXC7001 [Allowed Modification] New VCS Label: A2_1C
Required after 1999-02-25 Org VCS Label: A2_1
The routine TC_Match_States is not safe on a multi-processor
implementation.
CXC7002 [Allowed Modification] New VCS Label: A2_1E
Required after 1999-04-20 Org VCS Label: A2_1
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_1E
Required after 1999-04-20 Org VCS Label: A2_1
The test may fail on an implementation that restricts attribute
size.
FXC6A00 [Modified] VCS Label: A2_1A
Pragma Volatile applied @103,113 violates 13.1(10)
===== Annex D =====
BXD1001 [Allowed Modification] New VCS Label: A2_1C
Required after 1999-02-25 Org VCS Label: A2_1
Interrupt_Priority pragmas in tasks may be rejected.
CXD1006 [Allowed Modification] New VCS Label: A2_1C
Required after 1999-02-25 Org VCS Label: A2_1
Added applicability criteria, allowing rejection of
Interrupt_Priority pragma.
CXD1008 [Modified] VCS Label: A2_1A
The floating point equivalence @228 need not hold.
CXD2004 [Allowed Modification] VCS Label: A2_1B
Required after 1999-02-25 Org VCS Label: A2_1A
The Not_Applicable check for a multi-processor is missing.
(VCS Label A2_1B)
Execution correctness depends on ready-queue order.
(VCS Label A2_1A, this is a required modification.)
CXD2005 [Withdrawn]
@187-191 Set_Priority effects need not follow the sequence
of calls
CXD4008 [Modified] VCS Label: A2_1A
Wrong queuing policy; Multiprocessors may fail PO and task checks.
CXD4009 [Withdrawn]
Expects a different order of execution than required by priorities
CXD5002 [Withdrawn]
@138 checks a task priority that may not yet be set (9.8:18, D.5:10)
CXD6001 [Allowed Modification] New VCS Label: A2_1C
Required after 1999-02-25 Org VCS Label: A2_1A
The Not_Applicable check for a multi-processor is missing.
(VCS Label A2_1C)
"Victim_Type" tasks need not complete before Check_Results is
called. (VCS Label A2_1A, this is a required modification)
CXD6002 [Modified] VCS Label: A2_1A
Task Weapon is not terminated for multi-processors.
CXD8002 [Modified] VCS Label: A2_1A
To_Duration(RT.Time_Span_Unit) might equal 0.0.
Multiprocessor may have different readings of volatile Global.
CXDB005 [Withdrawn]
@248 expects inherited priority to be lost, contrary to AI95-00092
CXDC001 [Withdrawn]
@131 doesn't allow for Tasking_Error being raised in activation
==== Annex E ====
BXE2009 [Modified] VCS Label: A2_1A
Item parameter for Write must be of a base subtype (13.13.2:36)
BXE2012 [Modified] VCS Label: A2_1A
Wrong type given for controlling param @178
BXE4001 [Modified] VCS Label: A2_1A
Remote access type declaration is an unintended illegality.
CXE4003 [Modified] VCS Label: A2_1A
Pragma Remote_Call_Interface @131 Applies only to the generic unit
CXE4006 [Modified] VCS Label: A2_1A
Test expects wrong type'tag @772
CXE5002 [Allowed Modification] New VCS Label: A2_1B
Required after 1999-01-30 Org VCS Label: A2_1
Optional partition B prints a spurious failure message.
CXE5003 [Modified] VCS Label: A2_1A
Parameter Last in Read may require a value.
LXE3001 [Modified] VCS Label: A2_1A
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 =====
CXG1004 [Modified] VCS Label: A2_1A
Checks for exceptions with plus/minus one are incorrect.
CXG2002 [Modified] VCS Label: A2_1A
Intermediate results in expressions @97, 272 can overflow.
CXG2004 [Modified] VCS Label: A2_1A
Calculation of representable X and X/3 is incorrect.
CXG2008 [Modified] VCS Label: A2_1A
Constraint_Error need not be raised if Real'Machine_Overflows
is False.
CXG2011 [Modified] VCS Label: A2_1A
Log(0.0) must raise Constraint_Error, not Argument_Error.
CXG2012 [Modified] VCS Label: A2_1A
Intermediate result in expression @124 may overflow.
CXG2013 [Modified] VCS Label: A2_1A
Tab(Y) @302 raises Constraint_Error when Y = 0.5, calculation of
error bound is incorrect.
CXG2014 [Modified] VCS Label: A2_1A
Taylor series in Subtraction_Test lacks sufficient terms.
CXG2016 [Modified] VCS Label: A2_1A
Conversion to degrees in Identitity_1_Test is incorrect.
CXG2017 [Modified] VCS Label: A2_1A
Error bound for Tanh(X) is incorrect for X near zero.
CXG2020 [Modified] VCS Label: A2_1A
Intermediate result in expression @119 may overflow.
CXG2022 [Withdrawn]
@103,113,116,143,181,184,250,253 no "**" returns fixed-point
values.
===== Annex H =====
LXH4001 [Modified] VCS Label: A2_1A
Main subprogram name violates naming standards.
LXH4002 [Modified] VCS Label: A2_1A
Main subprogram name violates naming standards.
LXH4003 [Modified] VCS Label: A2_1A
Main subprogram name violates naming standards.
LXH4004 [Modified] VCS Label: A2_1A
Main subprogram name violates naming standards.
LXH4005 [Modified] VCS Label: A2_1A
Main subprogram name violates naming standards.
LXH4006 [Modified] VCS Label: A2_1A
Main subprogram name violates naming standards.
LXH4007 [Modified] VCS Label: A2_1A
Main subprogram name violates naming standards.
LXH4008 [Modified] VCS Label: A2_1A
Main subprogram name violates naming standards.
LXH4009 [Modified] VCS Label: A2_1A
Main subprogram name violates naming standards.
LXH4010 [Modified] VCS Label: A2_1A
Main subprogram name violates naming standards.
LXH4011 [Modified] VCS Label: A2_1A
Main subprogram name violates naming standards.
(See modified grading).
LXH4012 [Modified] VCS Label: A2_1A
Main subprogram name violates naming standards.
LXH4013 [Modified] VCS Label: A2_1A
Main subprogram does not depend on correct units. (With @97 is missing).
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 AdaIC web site. It also can be accessed
directly at www.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_1D 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 themost 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.
[Note: This was inherited from the AVO; it cannot be handled with simple test
modifications; final resolution is postponed until the ACATS 2.2 is used.]
The ACAA directs that this test program shall be processed with the following grading modification for conformity assessment using ACATS 2.1:
accept a compile-time error detection of the violation at line 67 of file LXH40112 as passing (even though link-time detection of the earlier-compiled violations in LXH40110 cannot be achieved)
Restrictions in units compiled both before and after the pragma is processed. Later units may be rejected as violations, and so the implementation cannot reach the link stage and detect the previously compiled violations.
This test will be split into two tests in ACATS 2.2.