Top Banner
AVF Control Number: AVF-VSR-150.o888 87-1 1-12-GOU Lf 0 (N Ada COMPILER VALIDATION SUMMARY REPORT: Certificate Number: 880523W1.09055 Gould, Inc. APLEX Ada Compiler, Revision 2.1 Gould PowerNode Model 9080 and Gould CONCEPT/32 Model 6744 Completion of On-Site Testing: D T IC 25 May 1988 S ELECTE MAR 0 8 1989DU Prepared By: Ada Validation Facility ASD/SCEL Wright-Patterson AFB OH 45433-6503 Prepared For: Ada Joint Program Office United States Department of Defense Washington DC 20301-3081 MMS~IBU'floN STA'7EMENT A Approved for pu.i2 reiense; Ds_-i, D iUtoz Un l-aited
38

Ada COMPILER Gould PowerNode Model 9080 and Gould ...ASD/SCEL Wright-Patterson AFB OH 45433-6503 Prepared For: Ada Joint Program Office United States Department of Defense Washington

Jan 26, 2021

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • AVF Control Number: AVF-VSR-150.o88887-1 1-12-GOU

    Lf0

    (N

    Ada COMPILERVALIDATION SUMMARY REPORT:

    Certificate Number: 880523W1.09055Gould, Inc.

    APLEX Ada Compiler, Revision 2.1Gould PowerNode Model 9080 and Gould CONCEPT/32 Model 6744

    Completion of On-Site Testing: D T IC25 May 1988 S ELECTE

    MAR 0 8 1989DU

    Prepared By:Ada Validation Facility

    ASD/SCELWright-Patterson AFB OH 45433-6503

    Prepared For:Ada Joint Program Office

    United States Department of DefenseWashington DC 20301-3081

    MMS~IBU'floN STA'7EMENT AApproved for pu.i2 reiense;

    Ds_-i, D iUtoz Un l-aited

  • UNCLASSIFIEDSECURITI CLASSIFICATION OF THIS PAGE (When Data Entered)

    REPORT DOCUMENTATION PAGE .. Do ISTRLICONS.ErOR COREPOTNG NUMo,.1. REPORT NUMBER I. GOVI ACCESSION NO. 3. RECIPIENT'S CATALOG NUMBER

    4. TITLE (andSubrirle) 5. TYPE OF REPORT & PERIOD COVERED

    Ada Compiler Validation Summary Report:Gould, Inc. 25 May 1988 to 25 May 1989APLEX Ada Compiler, Revision 2.1, Gould PowerNode Model *. PERFORMINGDRG. REPORT NUMBER9080 and Gould CONCEPT/32 Model 6744 (Host, Target),(880523W1.09055).7. AUTHOR(s) B. CONTRACT OR GRANT NUMBER(s)

    Wright-Patterson Air Force Base,Dayton, Ohio, U.S.A.2. PERFORMING ORGANIZATION AND ADDRESS 10. PROGRAM ELEMENT. PROJECT, TASK

    AREA & WORK UNIT NUMBERS

    Wright-Patterson Air Force Base,Dayton, Ohio, U.S.A.

    11. CONTROLLING OFFICE NAME AND ADDRESS 12. REPORT DATE

    Ada Joint Program Office 25 May 1988United States Department of Defense . U.b PA itbWashington, DC 20301-3081 38 p.

    14. MONITORING AGENCY NAME & ADDRESS(f different from Controlling Office) 15. SECURITY CLASS (of this report)UNCLASSIFIED

    Wright-Patterson Air Force Base, 1Sa. RECLtS5IFICATION/DOWNGRADINGDayton, Ohio, U.S.A. I U N/A

    16. DISTRIBUTION STATEMENT (of this Repot)

    Approved for public release; distribution unlimited.

    17. DISTRIBUTION STATEMENT (of the abstract entered in Block 20 If different from Report)

    UNCLASSIFIED

    18. SUPPLEMENTARY NOTES

    19. KEYWORDS (Continue on reverse side if necessary and identify by block number)

    Ada Programming language, Ada Compiler Validation Summary Report, AdaCompiler Validation Capability, ACVC, Validation Testing, AdaValidation Office, AVO, Ada Validation Facility, AVF, ANSI/MIL-STD-1815A, Ada Joint Program Office, AJPO

    20. ABSTRACT (Continue on reverse side if necessary and identify by block number)

    Gould Inc.. APLEX Ada Compiler, Revision 2.1, Gould PowerNode Model 9080 (Host) underUTX/32, Revision 2.1 to Gould CONCEPT/32 Model 6744 (Target) (bare machie), Wright-Patterson Air Force Base, ACVC 1.9.

    DO , 1473 EDITION OF I NOV 65 IS OBb-.-,I JAN 73 S/N 0102-LF-014-6501 UNCLASSIFIED

    SECURITY CLASSIFICATION OF THIS PAGE (When Data Entered)

  • Ada Compiler Validation Summary Report:

    Compiler Name: APLEX Ada Compiler, Revision 2.1

    Certificate Number: 880523W1.09055

    Host: Target:Gould PowerNode Model 9080 Gould CONCEPT/32 Model 6744under UTX/32, No Operating SystemRevision 2.1 (Bare Machine)

    Testing Completed 25 May 1988 Using ACVC 1.9

    This report has been reviewed and is approved.

    Ada Validation FacilitySteven P. WilsonTechnical DirectorASD/SCELWright-Patterson AFB OH Lt5433-6503

    -Validati n OrganizationDr. John F. KramerInstitute for Defense AnalysesAlexandria VA 22311

    Accesion For

    NTIS CpRA.6JDTIC -7

    Ada oint Progam OfficeVirginia L. Castor

    Director Ey .Department of Defense D:Washington DC 20301

    2i

  • TABLE OF CONTENTS

    CHAPTER 1 INTRODUCTION

    1.1 PURPOSE OF THIS VALIDATION SUMMARY REPORT . ... 1-21.2 USE OF THIS VALIDATION SUMMARY REPORT . . ... 1-21.3 REFERENCES........ . . . . . . . . . . 1-31.4 DEFINITION OF TERMS . . . . . . . . . ...... 1-31.5 ACVC TEST CLASSES . . . . . . . . . . ...... 1-4

    CHAPTER 2 CONFIGURATION INFORMATION

    2.1 CONFIGURATION TESTED . . . . . .......... 2-12.2 IMPLEMENTATION CHARACTERISTICS . . ........ 2-2

    CHAPTER 3 TEST INFORMATION

    3.1 TEST RESULTS . . . . . . . . . . . . . . . 3-13.2 SUMMARY OF TEST RESULTS BY CLASS ........... .. 3-13.3 SUMMARY OF TEST RESULTS BY CHAPTER . . . . .3-23.4 WITHDRAWN TESTS . . * . . . . . . . . .. . . . . 3-23.5 INAPPLICABLE TESTS . ............... 3-23.6 TEST, PROCESSING, AND EVALUATION MODIFICATIONS • • 3-43.7 ADDITIONAL TESTING INFORMATION . . . . . . . . . . 3-537.1 Prevalidation . . . . . . . . . . . . . . . . . 3-53.7.2 Test Method . . . . . . . . . . . . . . . . . . 3-53.7.3 Test Site . . . . . . . . . . . . . . . . . . . 3-6

    APPENDIX A DECLARATION OF CONFORMANCE

    APPENDIX B APPENDIX F OF THE Ada STANDARD

    APPENDIX C TEST PARAMETERS

    APPENDIX D WITHDRAWN TESTS

  • NCHAPTER 1INTRODUCTION

    This Validation Summary Report - describes the extent to which aspecific Ada compiler conforms to the Ada Standard, ANSI/MIL-STD-1815A.This report explains all technical terms used within it and thoroughlyreports the results of testing this compiler using the Ada CompilerValidation Capability/AWYJ An Ada compiler must be implementedaccording to the Ada Standard, and any implementation-dependent featuresmust conform to the requirements of the Ada Standard. The Ada Standardmust be implemented in its entirety, and nothing can be implemented that isnot in the Standard'

    Even though all validated Ada compilers conform to the Ada Standard, itmust be understood that some differences do exist between implementations,,The Ada Standard permits some implementation dependencies--for example, themaximum length of identifiirs -or- the maximum values of integer types.Other differences between compilers result from the characteristics ofparticular operating systems, hardware, or implementation strategies. Allthe dependencies observed during the process of testing this compiler aregiven in this report.

    -The information in this report is derived from the test results producedduring validation testing. The validation process includes submitting asuite of standardized teats, the ACVC, as inputs to an Ada compiler andevaluating the results. The purpose of validating is to ensure conformityof the compiler to the Ada Standard by testing that the compiler properlyimplements legal language constructs and that it identifies and rejectsillegal language constructs. The testing also identifies behavior that isimplementation dependent but permitted by the Ada Standard. Six classes oftests are used. These tests are designed to perform checks at compiletime, at link time, and during execution.

    1-1

  • INTRODUCTION

    1.1 PURPOSE OF THIS VALIDATION SUMMARY REPORT

    This VSR doctuents the results of the validation testing performed on anAda compiler. Testing was carried out for the following purposes:

    " To attempt to identify any language constructs supported by the

    compiler that do not conform to the Ada Standard

    " To attempt to identify any language constructs not supported bythe compiler but required by the Ada Standard

    " To determine that the implementation-dependent behavior is allowedby the Ada Standard

    Testing of this compiler was conducted by SofTech, Inc. under thedirection of the AVF according to procedures establishec by the Ada JointProgram Office and administered by the Ada Validation Organization (AVO).O-site testing was completed 25 May 1988 at Gould, Inc. in Ft.Lauderdale, FL.

    1.2 USE OF THIS VALIDATION SUMMARY REPORT

    Consistent with the national laws of the originating country, the AVO maymake full and free public disclosure of this report. In the United States,this is provided in accordance with the "Freedom of Information Act" (5U.S.C. #552). The results of this validation apply only to the computers,operating systems, and compiler versions identified in this report.

    The organizations represented on the signature page of this report do notrepresent or warrant that all statements set forth in this report areaccurate and complete, or that the subject compiler has no nonconformitiesto the Ada Standard other than those presented. Copies of this report areavailable to the public from:

    Ada Information ClearinghouseAda Joint Program OfficeOUSDREThe Pentagon, Rm 3D-139 (Fern Street)Washington DC 20301-3081

    or from:

    Ada Validation Facility

    ASD/SCELWright-Patterson AFB OH 45433-6503

    1-2

  • INTRODUCTION

    Questions regarding this report or the validation test results should bedirected to the AVF listed above or to:

    Ada Validation OrganizationInstitute for Defense Analyses1801 North Beauregard StreetAlexandria VA 22311

    1.3 REFERENCES

    1. Reference Manual for the Ada Programming Language,ANSIIMIL-STD-1815A, February 1983 and ISO 8652-1987.

    2. Ada Compiler Validation Procedures and Guidelines, Ada JointProgram Office, 1 January 1987.

    3. Ada Compiler Validation Capability Implementers' Guide, SofTech,Inc., December 1986.

    4. Ada Compiler Validation Capability User's Guide, December 1986.

    1.4 DEFINITION OF TERMS

    ACVC The Ada Compiler Validation Capability. The set of Adaprograms that tests the conformity of an Ada compiler to theAda programming language.

    Ada An Ada Commentary contains all information relevant to theCommentary point addressed by a comment on the Ada Standard. These

    comments are given a unique identification number having theform AI-ddddd.

    Ada Standard ANSI/MIL-STD-1815A, February 1983 and ISO 8652-1987.

    Applicant The agency requesting validation.

    AVF The Ada Validation Facility. The AVF is responsible forconducting compiler validations according to procedurescontained in the Ada Compiler Validation Procedures andGuidelines.

    AVO The Ada Validation Organization. The AVO has oversightauthority over all AVF practices for the purpose ofmaintaining a uniform process for validation of Adacompilers. The AVO provides administrative and technical

    1-3

  • INTRODUCTION

    support for Ada validations to ensure consistent practices.

    Compiler A processor for the Ada language. In the context of this

    report, a compiler is any language processor, includingcross-compilers, translators, and interpreters.

    Failed test An ACVC test for which the compiler generates a result thatdemonstrates nonconformity to the Ada Standard.

    Host The computer on which the compiler resides.

    Inapplicable An ACVC test that uses features of the language that atest compiler is not required to support or may legitimately

    support in a way other than the one expected by the test.

    Passed test An ACVC test for which a compiler generates the expected

    result.

    Target The compuer fur which a compiler generates code.

    Test A program that checks a compiler's conformity regarding aparticular feature or a combination of features to the AdaStandard. In the context of this report, the term is used todesignate a single test, which may comprise one or morefiles.

    Withdrawn An ACVC test found to be incorrect and not used to checktest conformity to the Ada Standard. A test may be incorrect

    because it has an invalid test objective, fails to meet itstest objective, or contains illegal or erroneous use of thelanguage.

    1.5 ACVC TEST CLASSES

    Conformity to the Ada Standard is measured using the ACVC. The ACVCcontains both legal and illegal Ada programs structured into six testclasses: A, B, C, D, E, and L. The first letter of a test name identifiesthe class to which it belongs. Class A, C, D, and E tests are executable,and special program units are used to report their results during

    execution. Class B tests are expected to produce compilation errors.Class L tests are expected to produce compilation or link errors.

    Class A tests check that legal Ada programs can be successfully compiledand executed. There are no explicit program components in a Class A testto check semantics. For example, a Class A test checks that reserved wordsof another laniguage (other than those already reserved in the Ada language)are not treated as reserved words by an Ada compiler. A Class A test ispassed if no errors are detected at compile time and the program executesto produce a PASSED message.

    1-4

  • INTRODUCTION

    Class B tests check that a compiler detects illegal language usage. ClassB tests are not executable. Each test in this class is compiled and theresulting compilation listing is examined to verify that every syntax orsemantic error in the test is detected. A Class B test is passed if everyillegal construct that it contains is detected by the compiler.

    Class C tests check that legal Ada programs can be correctly compiled andexecuted. Each Class C test is self-checking and produces a PASSED,FAILED, or NOT APPLICABLE message indicating the result when it isexecuted.

    Class D tests check the compilation and execution capacities of a compiler.Since there are no capacity requirements placed on a compiler by the AdaStandard for some parameters--for example, the number of identifierspermitted in a compilation or the number of units in a library-a compilermay refuse to compile a Class D test and still be a conforming compiler.Therefore, if a Class D test fails to compile because the capacity of thecompiler is exceeded, the test is classified as inapplicable. If a Class Dtest compiles successfully, it is self-checking and produces a PASSED orFAILED message during execution.

    Each Class E test is self-checking and produces a NOT APPLICABLE, PASSED,or FAILED message when it is compiled and executed. However, the AdaStandard permits an implementation to reject programs containing somefeatures addressed by Class E tests during compilation. Therefore, a ClassE test is passed by a compiler if it is compiled successfully and exacutesto produce a PASSED message, or if it is rejected by the compiler for anallowable reason.

    Class L tests check that incomplete or illegal Ada programs involvingmultiple, separately compiled units are detected and not allowed toexecute. Class L uebs are comvpiled se;aTatey and execution is attempted.A Class L test passes if it is rejected at link time-that is, en attemptto execute the main program must generate an error message before anydeclarations in the main program or any units referenced by the mainprogram are elaborated.

    Two library units, the package REPORT and the procedurq CHECK_ 'TLE, supportthe self-checking features of the executable tests. The package REPORTprovides the mechanism by which executable tests report PASSED, FAILED, orNOT APPLICABLE results. It also provides a set of identity functions usedto defeat some compiler optimizations allowed by the Ada Standard thatwould circumvent a test objective. The procedure CHECK FILE is used tocheck the contents of text files written by some of the Class C tests forchapter 14 of the Ada Standard. The operation of REPORT and CHECK FILE ischecked by a set of executable tests. These tests produce messages thatare examined to verify that the units are operating correctly. If theseunits are not operating correctly, then the validation is not attempted.

    The text of the tests in the ACVC follow conventions that are intended toensure that the tests are reasonably portable without modification. Forexample, the tests make use of only the basic set of 55 characters, containlines with a maximum length of 72 characters, use small numeric values, and

    1-5

  • INTRODUCTION

    place features that may not be supported by all implementations in separatetests. However, some tests contain values that require the test to becustomized according to implementation-s'ecific values--for example, anillegal file name. A list of the values used for this validation isprovided in Appendix C.

    A compiler must correctly process each of the tests in the suite anddemonstrate conformity to the Ada Standard by either meeting the passcriteria given for the test or by showing that the test is inapplicable tothe implementation. The applicability of a test to an implementation isconsidered each time the implementation is validated. A test that is

    inapplicable for one validation is not necessarily inapplicable for asubsequent validation. Any test that was determined to contain an illegallanguage construct or an erroneous language construct is withdrawn from theACVC and, therefore, is not used in testing a compiler. The testswithdrawn at the time of this validation are given in Appendix D.

    1-6

  • CHAPTER 2

    CONFIGURATION INFORMATION

    2.1 CONFIGURATION TESTED

    The candidate compilation system for this validation was tested under thefollowing configuration:

    Compiler: APLEX Ada Compiler, Revision 2.1

    ACVC Version: 1.9

    Certificate Number: 880523W1.09055

    Host Computer:

    Machine: Gould PowerNode Model 9080

    Operating System: UTX/32,Revision 2.1

    Memory Size: 16 Mbytes

    Target Computer:

    Machine: Gould CONCEPT/32 Model 6744

    Operating System: None (Bare Machine)

    Memory Size: 3 Mbytes

    Communications Network: Ethernet

    2-1

  • CONFIGURATION INFORMATION

    2.2 IMPLEMENTATION CHARACTERISTICS

    One of the purposes of validating compilers is to determine the behavior ofa compiler in those areas of the Ada Standard that permit implementationsto differ. Class D and E tests specifically check for such implementationdifferences. However, tests in other classes also characterize animplementation. The tests demonstrate the following characteristics:

    • Capacities.

    The compiler correctly processes tests containing loop statementsnested to 65 levels, block statements nested to 65 levels, andrecursive procedures separately compiled as subunits nested to 17levels. It correctly processes a compilation containing 723variables in the same declarative part. (See tests D55A03A..H (8tests), D56001B, D64005E..G (3 tests), and D29002K.)

    " Universal integer calculations.

    An implementation is allowed to reject universal integercalculations having values that exceed SYSTEM.MAX INT. Thisimplementation processes 64 bit integer calculations. (See testsD4A002A, D4AO02B, D4AOO4A, and D4AO00B.)

    Predefined types.

    This implementation supports the addition-l predefined typesLONG INTEGER and LONG FLOAT in the package STANDARD. (See testsB86001C and B86001D.)

    " Based literals.

    An implementation is allowed to reject a based literal with avalue exceeding SYSTEM.MAX INT during compilation, or it may raiseNUMERIC ERROR or CONSTRAINT ERROR during execution. Thisimplementation raises NUMERIC ERROR during execution. (See testE24101A.)

    • Expression evaluation.

    Apparently some default initialization expressions for recordcomponents are evaluated before any value is checked to belong toa component's subtype. (See test C32117A.)

    Assignments for subtypes are performed with the same precision asthe base type. (See test C35712B.)

    2-2

  • CONFIGURATION: INFORMATION

    This implementation uses no extra bits for extra precision. Thisimplementation uses all extra bits for extra range. (See testC35903A.)

    Sometimes NUMERIC ERROR is raised when an integer literal operandin a comparison or membership test is outside the range of thebase type. (See test C45232A.)

    No exception is raised when a literal operand in a fixed-pointcomparison or membership test is outside the range of the basetype. (See test C45252A.)

    Apparently underflow is not gradual. (See tests C45524A..Z.)

    Rounding.

    The method used for rounding to integer is apparently round awayfrom zero. (See tests C46012A..Z.)

    The method used for rounding to longest integer is apparentlyround away from zero. (See tests C46012A..Z.)

    The method used for rounding to integer in static universal realexpressions is apparently round away from zero. (See testC4AO 14A. )

    Array types.

    An implementation is allowed to raise NUMERIC ERROR orCONSTRAINT ERROR for an array having a 'LENGTH that exceedsSTANDARD. INTEGER'LAST and/or SYSTEM.MAXINT. For thisimplementation:

    Declaration of an array type or subtype declaration with more thanSYSTEM.MAX INT components raises NUMERICERROR. (See testC36003A.)

    No exception is raised when 'LENGTH is applied to an array typewith INTEGER'LAST + 2 components. (See test C36202A.)

    NUMERIC _ERROR is raised when 'LENGTH is applied to an array typewith SYSTEM.MAXINT + 2 components. (See test C36202B.)

    A pac".d BOOLEAN array having a 'LENGTH exceeding INTEGER'LASTraises NUMERICERROR when the array type is declared. (See testC52103X.)

    A packed two-dimensional BOOLEAN array with more than INTEGER'LASTcomponents raises NUMERICERROR when the array type is declared.(See test C52104Y.)

    2-3

  • CONFIGURATION INFORMATION

    A null array with one dimension of length greater thanINTEGER'LAST may raise NUMERIC ERROR or CONSTRAINT ERROR eitherwhen declared or assigned. Alternatively, an implementation mayaccept the declaration. However, lengths must match in arrayslice assignments. This implementation raises NUMERICERROR whenthe array type is declared. (See test E52103Y.)

    In assigning one-dimensional array types, the expression appearsto be evaluated in its entirety before CONSTRAINT ERROR is raisedwhen checking whether the expression's subtype is compatible withthe target's subtype. In assigning two-dimensional array types,the expression does not appear to be evaluated in its entiretybefore CONSTRAINT ERROR is raised when checking whether theexpression's subtype is compatible with the target's subtype.(See test C52013A.)

    " Discriminated types.

    During compilation, an implementation is allowed to either acceptor reject an incomplete type with discriminants that is used in anaccess type definition with a compatible discriminant constraint.This implementation accepts such subtype indications. (See testE38104A.)

    In assigning record types with discriminants, the expressionappears to be evaluated in its entirety before CONSTRAINT ERROR israised when checking whether the expression's subtype iscompatible with the target's subtype. (See test C52013A.)

    " Aggregates.

    In the evaluation of a multi-dimensional aggregate, index subtypechecks appear to be made as choices are evaluated. (See testsC4320TA and C43207B.)

    In the evaluation of an aggregate containing subaggregates, notall choices are evaluated before being checked for identicalbounds. (See test E43212B.)

    All choices are evaluated before CONSTRAINT ERROR is raised if abound in a nonnull range of a nonnull aggregate does not belong toan index subtype. (See test E43211B.)

    " Representation clauses.

    An implementation might legitimately place restrictions onrepresentation clauses used by some of the tests. If arepresentation clause is used by a test in a way that violates arestriction, then the implementation must reject it.

    2-4

  • CONFIGURATION INFORMATION

    Enumeration representation clauses containing noncontiguous valuesfor enumeration types other than character and boolean types aresupported. (See tests C355021..J, C35502M..N, and A39005F.)

    Enumeration representation clauses containing noncontiguous valuesfor character types are supported. (See tests C355071..J,C35507M..N, and C55B16A.)

    Enumeration representation clauses for boolean types containingrepresentational values other than (FALSE => 0, TRUE => 1) are notsupported. (See tests C355081..J and C35508M..N.)

    Length clauses with SIZE specifications for enumeration types aresupported. (See test A39005B.)

    Length clauses with STORAGE SIZE specifications for access typesare supported. (See tests A39005C and C87B62B.)

    Length clauses with STORAGE SIZE specifications for task types aresupported. (See tests A3905D and C87B62D.)

    Length clauses with SMALL specifications are supported. (Seetests A39005E and C87B62C.)

    Record representation clauses are supported with the requirementthat the alignment of the record componenets be maintained. (Seetest A39005G.)

    Length clauses with SIZE specifications for derived integer typesare supported. (See test C87B62A.)

    Pragmas.

    The pragma INLINE is not supported for library units. (See testsLA3004A, LA3OO4B, EA30oC, EA3004D, CA3OO1E, and CA300F.)

    Input/output.

    The package SEQUENTIAL 10 cannot be instantiated withunconstrained array types and record types with discriminantswithout defaults. (See test EE2201D.)

    The package DIRECT_10 cannot be instantiated with unconstrainedarray types and record types with discriminants without defaults.(See tests AE2101H, EE2401D, and EE2401G.)

    Modes IN FILE and OUT FILE are supported for SEQUENTIAL IO. (Seetests CE2102D and CE2102E.)

    2-5

  • CONFIGURATION INFORMATION

    Modes IN FILE, OUTFILE, and INOUT FILE are supported forDIRECTI0. (See tests CE2102F, CE2102Y, and CE2102J.)

    RESET and DELETE are supported for SEQUENTIALIO and DIRECT_10.(See tests CE2102G and CE2102K.)

    Dynamic. creation and deletion of files are supported forSEQUENTIAL_10 and DIRECT IO. (See tests CE2106A and CE2106B.)

    Overwriting to a sequential file truncates the file to lastelement written. (See test CE2208B.)

    An existing text file can be opened in OUTFILE mode, can becreated in OUT FILE mode, and can be created in IN FILE mode.(See test EE3102.)

    Only one internal file can be associated with each external filefor text I/O for both reading and writing. (See tests CE3111A..E(5 tests), CE3114B, and CE3115A.)

    Only one internal file can be associated with each external filefor sequential I/O for both reading and writing. (See testsCE2107A..D (4 tests), CE2110B, and CE2111D.)

    Only one internal file can be associated with each external filefor direct I/O for both reading and writing. (See testsCE2107F..I (5 tests), CE2110B, and CE2111H.)

    An internal sequential access file and an internal direct accessfile cannot be associated with a single external file for writing.(See test CE2107E.)

    An external file associated with more than one internal filecannot be deleted for SEQUENTIAL IO, DIRECT 10, and TEXT_10. (Seetest CE2110B.)

    Temporary sequential files are given names. Temporary directfiles are given names. Temporary files given names are notdeleted when they are closed. (See tests CE2108A and CE2108C.)

    . Generics.

    Generic subprogram declarations and bodies can be compiled inseparate compilations only if the body is compiled before anyinstantiations. (See tests CA1012A and CA2009F.)

    Generic package declarations and bodies can be compiled inseparate compilations only if the body is compiled before anyinstantiations. (See tests CA2009C, BC3204C, and BC3205D.)

    2-6

  • CONFIGURATION INFORMATION

    Generic unit bodies and their subunits can be compiled in separate

    compilations. (See test CA3011A.)

    2-7

  • CHAPTER 3

    TEST INFORMATION

    3.1 TEST RESULTS

    Version 1.9 of the ACVC comprises 3122 tests. When this compiler wastested, 27 tests had been withdrawn because of test errors. The AVFdetermined that 278 tests were inapplicable to this implementation. Allinapplicable tests were processed during validation testing except for 215executable tests that use floating-point precision exceeding that supportedby the implementation and 19 executable tests that use file operations notsupported by the implementation.. Modifications to the code, processing, orgrading for 12 tests were required to successfully demonstrate the testobjective. (See section 3.6.)

    The AVF concludes that the testing results demonstrate acceptableconformity to the Ada Standard.

    3.2 SUMMARY OF TEST RESULTS BY CLASS

    RESULT TEST CLASS TOTALA B C D E L

    Passed 107 1048 1587 1T 13 45 2817

    Inapplicable 3 3 266 0 5 1 278

    Withdrawn 3 2 21 0 1 0 27

    TOTAL 113 1053 1874 17 19 46 3122

    3-1

  • TEST INFORMATION

    3.3 SUMMARY OF TEST RESULTS BY CHAPTER

    RESULT CHAPTER TOTAL

    2 _4 5 6 7 8 9 10 11 12 13 14

    Passed 189 490 529 244 166 98 141 327 132 36 234 3 228 2817

    Inapplicable 15 82 145 4 0 0 2 0 5 0 0 0 25 278

    Withdrawn 2 14 3 0 0 1 2 0 0 0 2 1 2 27

    TOTAL 206 586 677 248 166 99 145 327 137 36 236 4 255 3122

    3.4 WITHDRAWN TESTS

    The following 27 tests were withdrawn from ACVC Version 1.9 at the time ofthis validation:

    B28003A C35904B C37215E C45332A CC1311BE28005C C35A03E C37215G C45614C BC3105AC34004A C35A03R C37215H A714106C AD1AO1AC35502P C37213H C38102C C85018B CE2401HA35902C C37213J C41402A C87B04B CE3208AC35904A C37215C

    See Appendix D for the reason that each of these tests was withdrawn.

    3.5 INAPPLICABLE TESTS

    Some tests do not apply to all compilers because they make use of featuresthat a compiler is not required by the Ada Standard to support. Others maydepend on the result of another test that is either inapplicable orwithdrawn. The applicability of a test to an implementation is consideredeach time a validation is attempted. A test that is inapplicable for onevalidation attempt is not necessarily inapplicable for a subsequentattempt. For this validation attempt, 278 tests were inapplicable for thereasons indicated:

    " C355081..J (2 tests) and C35508M..N (2 tests) use enumerationrepresentation clauses for boolean types containingrepresentational values other than (FALSE => 0, TRUE => 1). Theseclauses are not sulported by this compiler.

    • C35702A uses SHORT FLOAT which is not supported by thisimplementation.

    3-2

  • TEST INFORMATION

    " A39005G uses a form of record representation clause which is notsupported by this compiler.

    " The following tests use SHORTINTEGER, which is not supported bythis compiler:

    C45231B C45304B C45502B C45503B C45504BC45504E C45611B C45613B C45614B C45631BC45632B B52004E C55BO7B B55BO9D

    " C45231D requires a macro substitution for any predefined numerictypes other than INTEGER, SHORT INTEGER, LONGINTEGER, FLOAT,SHORT FLOAT, and LONGFLOAT. This compiler does not support anysuch types.

    • C45531M, C45531N, C45532M, and C45532N use fine 48-bit fixed-pointbase types which are not supported by this compiler.

    " C455310, C45531P, C455320, and C45532P use coarse 48-bitfixed-point base types which are not supported by this compiler.

    " C45651A declares a fixed-point type which is not representable bythis implementation.

    C52008B declares a record type with four discriminants of typeinteger and having default values. The type may be used in thedeclaration of 'mconstrained objects, but the size of theseobjects exceeds the maximum object size of this implementation,and NUMERIC-ERROR is raised.

    B86001D requires a predefined numeric type other than thosedefined by the Ada language in package STANDARD. There is no suchtype for this implementation.

    C86001F redefines package SYSTEM, but TEXT 10 is made obsolete bythis new definition in this implementation and the test cannot beexecuted since the package REPORT is dependent on the packageTEXT 10.

    " CA2009C and CA2009F contain instantiations of generics in caseswhere the body is not available at the time of the instantiation.As allowed by AI-00408/07, this compiler creates a dependency onthe missing body so that when the actual body is compiled, theunit containing the instantiation becomes obsolete.

    CA3OOIF, EA3004D, and LA3004B use the INLINE pragma for libraryunits, which is not supported by this compiler.

    EE2201D uses instantiations of package SEQUENTIAL_10 withunconstrained array types. These instantiations are rejected bythis compiler.

    3-3

  • TEST INFORMATION

    AE2101H, EE2401D, and EE2401G use instantiations of packageDIRECT 10 with unconstrained array types and record types havingdiscriminants without defaults. These instantiations are rejectedby this compiler.

    " CE2107A..I (9 tests), CE2110B, CE2111D, CE2111H, CE3111A..E (5tests), CE3114B, and CE3115A are inapplicable because multipleinternal files cannot be associated with the same external file.The proper exception is raised when multiple access is attempted.

    " The following 215 tests require a floating-point accuracy thatexceeds the maximum of 14 digits supported by this implementation:

    C24113K..Y (15 tests) C35705K..Y (15 tests)C35706K..Y (15 tests) C35707K..Y (15 tests)C35708K..Y (15 tests) C35802K..Z (16 tests)C45241K..Y (15 tests) C45321K..Y (15 tests)C45421K..Y (15 tests) C45521K..Z (16 tests)C45524K..Z (16 tests) C45621K..Z (16 tests)C45641K..Y (15 tests) C46012K..Z (16 tests)

    3.6 TEST, PROCESSING, AND EVALUATION MODIFICATIONS

    It is expected that some tests will require modifications of code,processing, or evaluation in order to compensate for legitimateimplementation behavior. Modifications are made by the AVF in cases wherelegitimate implementation behavior prevents the successful completion of an(otherwise) applicable test. Examples of such modifications include:adding a length clause to alter the default size of a collection; splittinga Class B test into subtests so that all errors are detected; andconfirming that messages produced by an executable test demonstrateconforming behavior that wasn't anticipated by the test (such as raisingone exception instead of another).

    Modifications were required for 11 Class B tests and 1 Class E test.

    The following Class B tests were split because syntax errors at one pointresulted in the compiler not detecting other errors in the test:

    B27005A B71001K BA3006A BA3007B BA3008BBA1I01C BA3006B BA3008A BA3013A

    B28001R, B28001V, and E28002D were modified by adding "PRAGMA LIST(ON);" asthe first line of each file. If the first legal occurrence of a LISTpragma has the parameter ON, then the implementation does not generate anylisting until the pragma occurs. The Ada Standard states that it isimplementation-dependent whether the initial listing state is ON or OFF.

    3-4

  • TEST INFORMATION

    3.7 kDDITIONAL TESTING INFORMATION

    3.7.1 Prevalidation

    Prior to validation, a set of test results for ACVC Version 1.9 produced bythe APLEX Ada Compiler, Revision 2.1 was submitted to the AVF by theapplicant for review. Analysis of these results demonstrated that thecompiler successfully passed all applicable tests, and the compilerexhibited the expected behavior on all inapplicable tests.

    3.7.2 Test Method

    Testing of the APLEX Ada Compiler, Revision 2.1 using ACVC Version 1.9 wasconducted on-site by a validation team from the AVF. The configurationconsisted of a Gould PowerNode Model 9080 host operating under UTX/32,Revision 2.1, and a Gould CONCEPT/32 Model 6744 target operating as a barempehinc. The host ana target computers were linked via Ethernet.

    A magnetic tape containing all tests except for withdrawn tests and testsrequiring unsupported floating-point precisions was taken on-site by thevalidation team for processing. Tests that make use ofimplementation-specific values were customized before being written to themagnetic tape. Tests requiring modifications during the prevalidationtesting were included in their modified form on the magnetic tape.

    The contents of the magnetic tape were loaded directly onto the hostcomputer. After the test files were loaded to disk, the full set of testswas compiled and linked on the Gould PowerNode Model 9080, and allexecutable tests were run on the Gould CONCEPT/32 Model 6744. Object fileswere linked on the host computer, and executable images were transferred tothe target computer via Ethernet. Results were printed from the hostcomputer, with results being transferred to the host computer via Ethernet.

    The compiler was tested using command scripts provided by Gould, Inc. andreviewed by the validation team. The compiler was tested using all defaultoption settings except for the following:

    Option Effect

    "C Produce source listing-i Process PRAGMA INLINE

    Tests were compiled, linked, and executed (as appropriate) using a singlehost computer and a single target computer. Test output, compilationlistings, and job logs were captured on magnetic tape and archived at theAVF. The listings examined on-site by the validation team were alsoarchived.

    3-5

  • TEST INFORMATION

    3.7.3 Test Site

    Testing was conducted at Gould, Inc. in Ft. Lauderdale, FL and was

    completed on 25 May 1988.

    3-6

  • APPENDIX A

    DECLARATION OF CONFORMANCE

    Gould, Inc. has submitted the following Declaration ofConformance concerning the APLEX Ada Compiler, Revision2.1.

    A-I

  • Validated May 88 (BARE MACHINE) - Continued

    DECLARATION OF CCFORMANCE

    Derived Compiler Registration

    Derived Compiler Name: APLEXT M Ada Compiler Revision: 2.1Host Architecture ISA: Gould PowerNode OS&VER #: UTX/32 Revision 2.1

    Model 60XXTarget Architecture ISA: Gould CONCEPT/32 OS&VER #: BARE MACHINE

    Model 97XX

    Derived Compiler Registration

    Derived Compiler Name: APLEXT M Ada Compiler Revision: 2.1

    Host Architecture ISA: Gould PowerNode OS&VER #: UTX/32 Revision 2.1Model 90XX

    Target Architecture ISA: Gou.d PowerNode OS&VER #: BARE MACHINE

    Model 60XX

    Derived Compiler Registration

    Derived Compiler Name: APLEXTM Ada Compiler Revision: 2.1Host Architecture ISA: Gould PowerNode OS&VER #: UTX/32 Revision 2.1

    Model 90XXTarget Architecture ISA: Gould PowerNode OS&VER #: BARE MACHINE

    Model 90XX

    Derived Compiler Registration

    Derived Compiler Name: APLEXTM Ada Compiler Revision: 2.1Host Architecture ISA: Gould PowerNode OS&VER #: UTX/32 Revision 2.1

    Model 60XXTarget Architecture ISA: Gould PowerNode OS&VER #: BARE MACHINE

    Model 60XX

    Derived Compiler Registration

    Derived Compiler Name: APLEXTM Ada Compiler Pe,,4sion: 2.1Host Architecture ISA: Gould PowerNode OS&VER 8: UTX/32 Revision 2.1

    Model 60XXTarget Architecture ISA: Gould PowerNode OS&VER #: BARE MACHINE

    Model 90XX

    TMAPLEX is a trademark of Gould Inc.A-2

  • Iiplementor's Declaration

    I, the undersigned, representing TeleSoft, Inc., have implemented nodeliberate extensions to the Ada Language Standard ANSI/MIL-STD-1815Ain the compiler listed in this declaration. I declare that Gould Inc.is the owner of record of the Ada language compiler listed above and,as such, is responsible for maintaining said compiler in conformanceto ANSI/MIL-STD-1815A. All certificates and registrations for Adalanguage compiler listed in this declaration shall be made only in theowner's corporate name.

    SDate: -:

    TeleSoft, Inc.i Ray Parra, Director of Contracts/Legal

    Owner's reclaration

    I, the undersigned, representing Gould Inc., take full responsibilityfor implementation and maintenance of the Ada compiler listed above,and agree to the public disclosure of the final Validation SummaryReport. I further agree to continue to comply with the Ada trademarkpolicy, as defined by the Ada Joint Program Office. I declare thatall of the Ada language compilers listed, and their host/targetperformance are in compliance with the Ada Language Standard ANSI/MIL-STD-1815A. I have reviewed the Validation Summary Report for thecompiler and concur with the contents. I also affirm that theCONCEPT/32 computer architectures listed herein (90XX, 67XX and BAREMACHINE models) are of equivalent architecture to the CONCEPT/32 asdescribed in the documentation which was submitted with our 1.8validations.

    U 'I;' J) C---. k_/ "// #' Date: ' z- 7 //

    Gould I ncq (Mary F. Macomber, Senior Manager, Major Corporate Agreements

    A-3

  • APPENDIX B

    APPENDIX F OF THE Ada STANDARD

    The only allowed implementation dependencies correspond to implementation-dependent pragmas, to certain machine-dependent conventions as mentioned inchapter 13 of the Ada Standard, and to certain allowed restrictions onrepresentation clauses. The Implementation-dependent characteristics ofthe APLEX Ada Compiler, Revision 2.1, are described in the followingsections, which discuss topics in Appendix F of the Ada Standard.Implementation-specific portions of the package STANDARD are also includedin this appendix.

    package STANDARD is

    type INTEGER is range -(2*'31) .. (2"31) - 1;type LONG INTEGER is range -(2**63) .. (20*63) - 1;

    type FLOAT is digits 6 range -7.23698E+75 .. 7.23698E+75;type LONGFLOAT is digits 14

    range -7.2370055773320E+75 .. 7.2370055773320E+75;

    type DURATION is delta 2#1.0#E-14 range -86_400.0 .. 86_400.0;

    end STANDARD;

    B-i

  • APPE CIX F CF ThE 'LANGUACE RE---'-_ CE MANUAL

    1 Implementation Dependent Pragmas2 Implementation Dependent Attributes3 Specification of Package SYSTE=M4 Restrictions of representation clauses5 Implementation dependent naming6 Interpretation of expressions in address clauses7 Restrictions on unchecked conversions8 I/O Package Characteristics

    (1) Implementation Dependent Pragmas

    The following pragmas are supported:

    C C"E'4T• .FABORATE- IMAGESS INT=RFACE

    * INUNE• UST- !UNKNAME* PACK.* PAGE

    PRIORITY* SHARE)* SUPPRESS

    The implementation-defined pragma COMMENT embeds the text of a stringliteral within the object file of the compilation unit containing the pragma. Thesyntax is:

    praqgna COMMENT ("text of the comment');

    This pragma may appear at any location within the source czde of an Adaunit. There is no restriction on the number of comments that may be used.

    B-2

  • The implementation defined pragma images controls where the code tosupport the -images' attribute for an enumeration type is generated. The syntaxis:

    pragma IMAGES (, "DE=;FRED" I "IMMEDIATE');

    must be the name of a previously defined enumeration type.This pragma must appear in the same package specification or dec!arative part asthe type definition. If the 'Immediate" parameter is used, the code for the

    images* attribute is generated in the compilation unit where the type definitionappears. This is the default. If "Deferred" is specified, the code is generated inany compilation unit which references the "images* attribute. Note that if noreferences are made to the 'images' attnbute, no code is ever generated.

    Pragma UNKNAME is used to associate a string with the name of a routinein the object code. The syntax is:

    pragma UNKNAME (, );

    The must be the name of an Ada routine which previouslyappeared in a pragma INTER-FACE. The effect of this pragma is to use the as the name for the routine in the object code for the unit. Thus,

    function HyperbolicSin (X: Float)return Fioat;

    pragma INTERFACE (Assembly, Hyperbolic Sin);pragmra UNKNAME (Hyperbolic_Sin, :HSIN:');

    would cause the compiler to use the string ":.HSIN:" in the object codewhenever referring to the Ada routine "HyperbolicSin".

    When interfacing to C, Fortran, or Pascal, the compiler still forces thename in the object code to correspond to the appropriate convention. Thus, for C,the first character of the name has an underscore substituted, Fortran has anunderscore added in front of and behind the name, and Pascal has an underscoreadded in front and two underscores added behind the given name.

    The ON parameter of pragma SUPPRESS is not supported.

    Pragma Inline is not supported for library units.

    (2) Implementation Dependent Attributes

    There are no implementation-defined attributes.

    B-3

  • (3) The specification of package SYSTEM:

    package SYSTEM is

    type ADDRESS is private:type NAME is (Gould UTX, GouldMPX);SYSTEM-NAME : constant NAME :- Gould UTX;- for

    Powernode/N P L- or

    SYSTEMNAME : constant NAME :- GouldMPX;- for Concept

    STORAGE-UNIT : constant :. 8;MEMORY_SIZE : constant :- 2-24-1; - for Concept/Powemode

    - orMEMORYSIZE : constant :. 2"30-1; - for NPL

    -System-Dependent Declarations

    subtype BYTE is INTEGER range 0 - Z"8-1;subtype INTEGE'r_16 is INTEGER range -2°15 .. 2"15-1;subtype INTEGER..32 is INTEGER; - range -2"31 - 2-3-;

    -System-Dependent Named Numbers

    MININT constant :a -(2"63);MAXJINT constant :a (2"3)-1;MAX_DIGITS: constant := 14;MAX_MANTISSA: constant :. 31;FiNEDELTA: constant := 1.0/2.0-(MAX MANTISSA);TICK: constant := 1.01(2.0"14);

    -Other System Dependent Declarations

    MAX OBJECT_SIZ. : c=nsrant :. MEORY.SIZ;MAXRECORDCOUNT : conslant := MAXINT;MAX T- T_IO_DUNT: c=nstant :. MAX INT-2;MAX TE

  • (4) The Hlst of all restrictions on representation c!auses.

    The compiier supports the following representation c!auses:Length C:auses for types 'Size (LRM 13.2(a))

    Length Clauses for collections 'SlorageSIze (LRM 13.2(b))

    Length Clauses for tasks 'StorageSize (LRrM 13.2(c))

    Length clause for fixed point types (LRM 13.2(d)).

    Enumeration representation ciauses (LRM 13.3) are supported with therestrictinn that they cannot be used to alter values of the predefined typeECOLEAN.

    Record representation clauses (LRM 13.4) are supported. The maximumsignificant value for the expression following "at mod" is 8.

    Only records whose components are all statically sized may be thesubject of a representation specification, i.e., those containing dynamically sizedcomponents may not be the subjects.

    A composite type used as a component of a representation specified recordmust be aligned to preserve the alignment of its consituent components.

    Address Clauses (LRM 13.5) are supported for objects.

    Address clauses for entries are supported for Bare Machine targets oniy.

    The following representation clauses are not supported:

    Address clauses for subprograms, packages, and tasks.

    (5) The conventions used for any implementation-generated namedenoting implementation-dependent components.

    There are no system generated names for implementation-dependentcomponents.

    (6) The interpretation of expressions that appear in address c!auses.

    Expressions that apear in address specifications are interpreted as thefirst storage unit of the object.

    (7) Any restriction on unchecked conversions

    Unchecked conversions are allowed between variables of types (orsubtypes) TI and T2 provided that:

    * they have the same static size* they are not unccnstrained array types* they are not private (unless they are subtypes of, or are derivec

    from the private type System.Address.)

    B-5

  • (8) Any implementation-depern.dent characteristics of the input-output packages.

    Instantiations of DIRECTJO and SSUENTIAL_.I are supported with thefollowing exceptions:

    • unconstrained array types* unconstrained types with discriminants without default values,

    on UTX and MPX targets only.* multiple internal files opened to the same external file may only

    be opened for reading on UTX only• multiple internal files may not be opened to the same external file

    on MPX or BMA.

    In package DIRECTIC:type COUNT is range 0 . MAX_INT;

    In package 1jO:type COUNT is range 0 - MAX INT-2;

    In package T(jO:subtype FIELD is INTEGE.R range 0 .. 1000;

    " The line length limit for MPX is 253 characters.

    3-6

  • APPENDIX C

    TEST PARAMETERS

    Certain tests in the ACVC make use of implementation-dependent values, such

    as the maximum length of an input line and invalid file names. A test that

    makes use of such values is identified by the extension .TST in its filename. Actual values to be substituted are represented by names that beginwith a dollar sign. A value must be substituted for each of these names

    before the test is run. The values used for this validation are givenbelow.

    Name and Meaning Value

    $BIGID1 (1..199 => 'A', 200 => '1')Identifier the size of themaximum input line length withvarying last character.

    $BIG ID2 (1..199 => 'A', 200 => '2')Identifier the size of themaximum input line length withvarying last character.

    $BIGID3 (l..100 1 102..200 => 'A', 101 => '3')Identifier the size of themaximum input line length withvarying middle character.

    $BIG._D4 (1..100 I 102..200 => 'A', 101 => "4')Identifier the size of themaximum input line length withvarying middle character.

    $BIG INT LIT (1..197 => '0', 198..200 => "298")An integer literal of value 298with enoug1 leading zeroes sothat it is the size of themaximum line length.

    C-I

  • TEST PARAMETERS

    Name and Meaning Value

    $BIG REAL LIT (-..194 => 10', 195..200 => "69.OE1")A universal real literal ofvalue 690.0 with enough leadingzeroes to be the size of themaximum line length.

    $BIG STRING1 (1..100 => 'A')A string literal which whencatenated with BIGSTRING2yields the image of BIG IDI.

    $BIG STRING2 (1..99 => 'A', 100 => '1')A string literal which whencatenated to the end ofBIG STRING1 yields the image ofBIG IDI.

    $BLANKS (i..180 => ')A sequence of blanks twentycharacters less than the sizeof the maximum line length.

    $COUNT_ LAST 9223372036854775805A universal integerliteral whose value isTEXT_10. COUNT 'LAST.

    $FIELDLAST 1000A universal integerliteral whose value isTEXT IO.FIELD'LAST.

    $FILE NAME WITH BAD CHARS (1..257 => 'D')An external file name thateither contains invalidcharacters or is too long.

    $FILE NAME WITH WILD CARD CHAR (1..257 => 'C')An external file name thateither contains a wild cardcharacter or is too long.

    $GREATER THAN DURATION 100 000.0A uRiversal real literal thatlies between DURATION' BASE' LASTand DURATION 'LAST or any valuein the range of DURATION.

    C-2

  • TEST PARAMETERS

    Name and Meaning Value

    $GREATERTHANDURATIONBASELAST 10000000.0A universal real literal that isgreater than DURATION'BASE'LAST.

    $ILLEGAL EXTERNAL FILE NAME1 (l..257 => 'B')An external file name whichcontains invalid characters.

    $ILLEGAL EXTERNALFILENAME2 (l..257 => 'A')An external file name whichis too long.

    $INTEGER FIRST -2147483648A universal integer literalwhose value is INTEGER'FIRST.

    $INTEGER LAST 2147483647A universal integer literalwhose value is INTEGER' LAST.

    $INTEGER_LAST PLUS 1 (2*031)A universal integer literalwhose value is INTEGER'LAST + 1.

    $LESS THAN DURATION -100-000.0A universal real literal thatlies between DURATION'BASE'FIRSTand DURATION' FIRST or any valuein the range of DURATION.

    $LESS THAN DURATIONBASE FIRST -10 000000.0A universal real literal that isless than DURATION'BASE'FIRST.

    $MAXDIGITS 1Maximum digits supported forfloating-point types.

    $MAX IN LEN 200Maximum input line lengthpermitted by the implementation.

    $MAXINT 9223372036854775807A universal integer literalwhose value is SYSTEM.MAXINT.

    $MAX INT PLUS_1 9223372036854775808A universal integer literalwhose value is SYSTEM.MAXINT 1.

    C-3

  • * TEST PARAMETERS

    Name and Meaning Value

    $MAX LEN tNTBASEDLITERAL (1-.2 => "2:", 3..197 => '0',198-.200 => "11:")

    A universal integer basedliteral whose value is 2#11#with enough leading zeroes inthe mantissa to be MAXINLENlong.

    $MAX LEN REAL BASED LITERAL (1-.3 => "16:", '4..196 =>*'o,,197-.200 => "F.E:")

    A universal real based literalwhose value is 16:F.E: withenough leading zeroes in themantissa to be MAXINLEN long.

    *MAX STRINGLITERAL (1 => 1"T, 2-.199 => 'A', 200 => "'A strilng literal of sizeMAXINLEN, including the quotecharacters.

    $MIN 1INT uiesl itgr ieal -9223372036854775808

    whose value is SYSTEM.MININT.

    $ NAME NO SUCHTYPEA name of a predefined numerictype other than FLOAT, INTEGER,SHORTFLOAT, SHORT-INTEGER,LONG-FLOAT, or LONG-INTEGER.

    $NEG BASED INT 1 6#F7.FFFFFFFFFFFFFE#A based integer literal whosehighest order nonzero bitfalls in the 2ign bitposition of the representationfor SYSTM.MAX-INT.

  • APPENDIX D

    WITHDRAWN TESTS

    Some tests are withdrawn from the ACVC because they do not conform to theAda Standard. The following 27 tests had been withdrawn at the time ofvalidation testing for the reasons indicated. A reference of the form"AI-ddddd" is to an Ada Commentary.

    " B28003A: A basic declaration (line 36) incorrectly follows alater declaration.

    " E28005C: This test requires that "PRAGMA LIST (ON);" notappear in a listing that has been suspended by a previous"PRAGMA LIST (OFF);"; the Ada Standard is not clear on thispoint, and the matter will be reviewed by the AJPO.

    " C34004A: The expression in line 168 yields a value outsidethe range of the target type T, but there is no handler forCONSTRAINTERROR.

    " C35502P: The equality operators in lines 62 and 69 should beinequality operators.

    " A35902C: The assignment in line 17 of the nominal upperbound of a fixed-point type to an object raisesCONSTRAINTERROR, for that value lies outside of the actualrange of the type.

    C35904A: The elaboration of the fixed-point subtype on line28 wrongly raises CONSTRAINTERROR, because its upper boundexceeds that of the type.

    " C35904B: The subtype declaration that is expected to raiseCONSTRAINT ERROR when its compatibility is checked againstthat of various types passed as actual generic parameters,may, in fact, raise NUMERIC ERROR or CON!TRAINTERROR forreasons not anticipated by the Test.

    D-1

  • WITHDRAWN TESTS4

    * C35AO3E and C35AO3R: These tests assume that attribute'MANTISSA returns 0 when applied to a fixed-point type with anull range, but the Ada Standard does not support thisassumption.

    C37213H: The subtype declaration of SCONS in line 100 isincorrectly expected to raise an exception when elaborated.

    " C37213J: The aggregate in line 451 incorrectly raisesCONSTRAINTERROR.

    " C37215C, C37215E, C37215G, and C37215H: Various discriminantconstraints are incorrectly expected to be incompatible withtype CONS.

    " C38102C: The fixed-point conversion on line 23 wronglyraises CONSTRAINT ERROR.

    " C41402A: The attribute 'STORAGE SIZE is incorrectly applied

    to an object of an access type.

    " C45332A: The test expects that either an expression in line52 will raise an exception or else MACHINE OVERFLOWS isFALSE. However, an implementation may evaluate theexpression correctly using a type with a wider range than thebase type of the operands, and MACHINEOVERFLOWS may still beTRUE.

    " C45614C: The function call of IDENTfINT in line 15 uses anargument of the wrong type.

    " A74106C, C85018B, C87BO4B, and CC1311B: A bound specified ina fixed-point subtype declaration lies outside of thatcalculated for the base type, raising CONSTRAINT ERROR.Errors of this sort occur at iln 37 ' 53, -? ,_ -,I3, 16 &48, and 252 & 253 of the four tests, respectively.

    " BC3105A: Lines 159 through 168 expect error messages, butthese lines are correct Ada.

    " AD1AO1A: The declaration of subtype SINT3 raisesCONSTRAINT ERROR for implementations which select INT'SIZE tobe 16 or greater.

    " CE2401H: The record aggregates in lines 105 and 117 containthe wrong values.

    CE3208A: This test expects that an attempt to open thedefault output file (after it was closed) with mode IN FILEraises NAME ERROR or USEERROR; by Commentary AI-00048,MODE ERROR should be raised.

    D-2