ACATS Modification List 2.1A Following is the first version of the ACATS Modification List. This listing supercedes the AVO's Withdrawn Test List and Modified Test List. Randy Brukardt ACAA Technical Representative ACATS Modification List Version 2.1A October 2, 1998 Changes from the last list: Normally, this section will include the changes since the previous version of this list. Since this is the first version of this list, the entire list is changed. I will point out the totally new additions to the list, and explain how this list was created from the old ACVC 2.1 lists. Test CD30002.A is newly modified. The original test was modified for ACVC 2.1, and the correction is wrong - the representation clause for Half_Object uses one value for alignment, and a different value is used in the later checks. The value used in the rep. clause is incorrect, so it has been repaired. Test LXE3001.A is also newly modified. The original test assumes that Program_Error will be raised (rather than might be), does not properly handle exceptions raised because the partitions are inaccessible to each other, and unnecessarily hangs. The test has been corrected. All previously withdrawn tests have remained that way; any repaired versions will be considered new (however, those repaired in the forthcoming ACVC 2.2 will be replaced at once). ACVC 2.1 Required modifications have been turned into "Modified" class tests (except for the two brand-new modifications, which are handled via the new procedures). These tests use the exact modifications specified by the AVO. ACVC 2.1 Permitted modification have been turned into "Allowable Modification" class tests (which eventually will be required. These tests sometimes are the new ACVC 2.2 versions, which are more readable than the AVO modified versions. There are no new tests. (Note 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 4/5/99.) 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 '@'; 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. Main list: ===== Core Language ===== 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 [Allowed Modification] New VCS Label: A2_1A Required after 01/02/99, Org VCS Label: A2_1 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 [Allowed Modification] New VCS Label: A2_1A Required after 01/02/99, Org VCS Label: A2_1 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 [Allowed Modification] New VCS Label: A2_1A Required after 01/02/99, Org VCS Label: A2_1 Errors @172, 177 are "Optional" B83E01D [Allowed Modification] New VCS Label: A2_1A Required after 01/02/99, Org VCS Label: A2_1 Errors @302, 307 are "Optional" B83E01E [Allowed Modification] New VCS Label: A2_1A Required after 01/02/99, Org VCS Label: A2_1 Errors @F3-56/-61 are "Optional" BA21003 [Allowed Modification] New VCS Label: A2_1A Required after 01/02/99, Org VCS Label: A2_1 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 [Allowed Modification] New VCS Label: A2_1A Required after 01/02/99; Org VCS Label: A2_1 Both implicit & explicit function @154 violate 3.9.3:10 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 [Allowed modification] New VCS Label: A2_1A Required on 1/02/99 Org VCS Label: A2_1 Elaboration check may fail. 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 [Allowed modification] New VCS Label: A2_1A Required on 1/02/99 Org VCS Label: A2_1 Elaboration check may fail. C760010 [Allowed modification] New VCS Label: A2_1A Required on 1/02/99 Org VCS Label: A2_1 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 cancelled (9.5.3:25, 9.8:15) C9A007A [Allowed Modification] New VCS Label: A2_1A Required after 1/02/99 Org VCS Label: A2_1 Absence of priorities results in a race condition. C9A008A [Withdrawn] @94,191,288 aborted calls may be yet not cancelled (9.5.3:25, 9.8:15) 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. CD20001 [Withdrawn] Wrongly requires 'Component_Size to be a factor of word size (13.2:9) CD30002 [Allowed Modification] New VCS Label: A2_1A Required after 1/02/99 Org VCS Label: A2_1 @130 Alignment declared as Max_Word*2, but tests @178 for Multiple_Alignment. CD30005 [Allowed Modification] New VCS Label: A2_1A Required after 1/02/99 Org VCS Label: A2_1 Main subprogram name does not follow conventions. CE3115A [Allowed Modification] New VCS Label: A2_1A Required after 1/02/99 Org VCS Label: A2_1 Output to external file may be buffered. CXA5012 [Allowed Modification] New VCS Label: A2_1A Required after 1/02/99 Org VCS Label: A2_1 Integer'Last may be less than 100_000 (@86) CXA5015 [Allowed Modification] New VCS Label: A2_1A Required after 1/02/99 Org VCS Label: A2_1 The floating-point equivalence @255 need not hold CXA5A01 [Allowed Modification] New VCS Label: A2_1A Required after 1/02/99 Org VCS Label: A2_1 Constraint_Error needn't occur if 'Machine_Overflows=False. CXA5A02[Allowed Modification] New VCS Label: A2_1A Required after 1/02/99 Org VCS Label: A2_1 Constraint_Error needn't occur if 'Machine_Overflows=False. CXA5A03[Allowed Modification] New VCS Label: A2_1A Required after 1/02/99 Org VCS Label: A2_1 Constraint_Error needn't occur if 'Machine_Overflows=False. CXA5A04[Allowed Modification] New VCS Label: A2_1A Required after 1/02/99 Org VCS Label: A2_1 Constraint_Error needn't occur if 'Machine_Overflows=False. CXA5A09[Allowed Modification] New VCS Label: A2_1A Required after 1/02/99 Org VCS Label: A2_1 Constraint_Error needn't occur if 'Machine_Overflows=False. CXAF001 [Allowed Modification] New VCS Label: A2_1A Required after 1/02/99 Org VCS Label: A2_1 Command_Name returns null string if arguments can't be passed. CXB3008 [Allowed Modification] New VCS Label: A2_1A Required on 1/02/99 Org VCS Label: A2_1 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) FDB0A00 [Allowed Modification] New VCS Label: A2_1A Required after 1/02/99 Org VCS Label: A2_1 Overflow check @98 is made too soon. LA1001F [Withdrawn] Has an invalid test objective (cf AI95-00172/01, ARG Minutes 97-04) ===== Annex C ===== BXC6A02 [Allowed modification] New VCS Label: A2_1A Required after 01/02/99. Org VCS Label: A2_1 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 FXC6A00 [Modified] VCS Label: A2_1A Pragma Volatile applied @103,113 violates 13.1(10) ===== Annex D ===== CXD1008 [Allowed Modification] New VCS Label: A2_1A Required after 1/02/99 Org VCS Label: A2_1 The floating point equivalence @228 need not hold. CXD2004 [Allowed Modification] New VCS Label: A2_1A Required after 1/02/99 Org VCS Label: A2_1 Execution correctness depends on ready-queue order. 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 [Modified] VCS Label: A2_1A "Victim_Type" tasks need not complete before Check_Results is called. CXD6002 [Allowed Modification] New VCS Label: A2_1A Required after 1/02/99 Org VCS Label: A2_1 Task Weapon is not terminated for multi-processors. CXD8002 [Allowed Modification] New VCS Label: A2_1A Required after 1/02/99 Org VCS Label: A2_1 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 CXE5003 [Allowed Modification] New VCS Label: A2_1A Required after 1/02/99 Org VCS Label: A2_1 Parameter Last in Read may require a value. LXE3001 [Allowed Modification] New VCS Label: A2_1A Required after 1/02/99 Org VCS Label: A2_1 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 [Allowed Modification] New VCS Label: A2_1A Required after 1/02/99 Org VCS Label: A2_1 Intermediate results in expressions @97, 272 can overflow. CXG2004 [Modified] VCS Label: A2_1A Calculation of representable X and X/3 is incorrect. CXG2008 [Allowed Modification] New VCS Label: A2_1A Required after 1/02/99 Org VCS Label: A2_1 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 [Allowed Modification] New VCS Label: A2_1A Required after 1/02/99 Org VCS Label: A2_1 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 [Allowed Modification] New VCS Label: A2_1A Required after 1/02/99 Org VCS Label: A2_1 Taylor series in Subtraction_Test lacks sufficient terms. CXG2016 [Modified] VCS Label: A2_1A Conversion to degrees in Identitity_1_Test is incorrect. CXG2017 [Allowed Modification] New VCS Label: A2_1A Required after 1/02/99 Org VCS Label: A2_1 Error bound for Tabh(X) is incorrect for X near zero. CXG2020 [Allowed Modification] New VCS Label: A2_1A Required after 1/02/99 Org VCS Label: A2_1 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 [Allowed Modification] New VCS Label: A2_1A Required after 1/02/99 Org VCS Label: A2_1 Main subprogram name violates naming standards. LXH4002 [Allowed Modification] New VCS Label: A2_1A Required after 1/02/99 Org VCS Label: A2_1 Main subprogram name violates naming standards. LXH4003 [Allowed Modification] New VCS Label: A2_1A Required after 1/02/99 Org VCS Label: A2_1 Main subprogram name violates naming standards. LXH4004 [Allowed Modification] New VCS Label: A2_1A Required after 1/02/99 Org VCS Label: A2_1 Main subprogram name violates naming standards. LXH4005 [Allowed Modification] New VCS Label: A2_1A Required after 1/02/99 Org VCS Label: A2_1 Main subprogram name violates naming standards. LXH4006 [Allowed Modification] New VCS Label: A2_1A Required after 1/02/99 Org VCS Label: A2_1 Main subprogram name violates naming standards. LXH4007 [Allowed Modification] New VCS Label: A2_1A Required after 1/02/99 Org VCS Label: A2_1 Main subprogram name violates naming standards. LXH4008 [Allowed Modification] New VCS Label: A2_1A Required after 1/02/99 Org VCS Label: A2_1 Main subprogram name violates naming standards. LXH4009 [Allowed Modification] New VCS Label: A2_1A Required after 1/02/99 Org VCS Label: A2_1 Main subprogram name violates naming standards. LXH4010 [Allowed Modification] New VCS Label: A2_1A Required after 1/02/99 Org VCS Label: A2_1 Main subprogram name violates naming standards. LXH4011 [Allowed Modification] New VCS Label: A2_1A Required after 1/02/99 Org VCS Label: A2_1 Main subprogram name violates naming standards. (See modified grading). LXH4012 [Allowed Modification] New VCS Label: A2_1A Required after 1/02/99 Org VCS Label: A2_1 Main subprogram name violates naming standards. LXH4013 [Modified] VCS Label: A2_1A Main subprogram does not depend on correct units. (With @97 is missing). How to get new and modified tests: The ACATS VCS is not yet running, so we are providing the tests in several forms. The official modified tests are available currently in the Mods_2_1A.Zip file temporarily available at ftp://ocsystems.com/private/arg A more permanent site will be announced soon. The permanent site will include tar files as well. If you cannot get the files from the official site or you cannot convert the MS-DOS format files in the Zip, please contact your ACAL (AVF). Summary lists: Withdrawn Tests (Refer to the main list for details) B37312B BXC6A03 C390010 C392010 C392012 C42006A C48009A C760007 C760012 C761006 C761008 C761009 C9A005A C9A008A CD20001 CXC3004 CXD2005 CXD4009 CXD5002 CXDB005 CXDC001 CXG2022 E28002B LA1001F Allowed Modification Tests (Refer to the main list for details) B392002 01/02/99 B490001 01/02/99 BDE0001 01/02/99 BXC6A02 01/02/99 C3A2A02 01/02/99 C760009 01/02/99 C760010 01/02/99 C9A007A 01/02/99 CD30002 01/02/99 CD30005 01/02/99 CXA5012 01/02/99 CXA5015 01/02/99 CXA5A01 01/02/99 CXA5A02 01/02/99 CXA5A03 01/02/99 CXA5A04 01/02/99 CXA5A09 01/02/99 CXAF001 01/02/99 CXB3008 01/02/98 CXE5003 01/02/99 CXG2002 01/02/99 CXG2008 01/02/99 CXG2012 01/02/99 CXG2014 01/02/99 CXG2017 01/02/99 CXG2020 01/02/99 FDB0A00 01/02/99 LXE3001 01/02/99 LXH4001 01/02/99 LXH4002 01/02/99 LXH4003 01/02/99 LXH4004 01/02/99 LXH4005 01/02/99 LXH4006 01/02/99 LXH4007 01/02/99 LXH4008 01/02/99 LXH4009 01/02/99 LXH4010 01/02/99 LXH4011 01/02/99 LXH4012 01/02/99 LXH4013 01/02/99 Modified Tests (Refer to the main list for details) B393006 B610001 BC3503A BC3503C BC51C02 BXE2009 BXE2012 BXE4001 C761007 C980001 CA2009C CA2009F CXB3009 CXB3010 CXB4001 CXB4007 CXB4009 CXB5004 CXD4008 CXD6001 CXE4003 CXE4006 CXG1004 CXG2004 CXG2011 CXG2013 CXG2016 FXC6A00 LXH4013 New Tests (Refer to the main list for details) [None] Modified grading: [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.] LXH4011: Errors before and after pragma Restrictions can't both be detected 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) The test wrongly includes violations of the configuration pragma 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. ================