55
SECUV ' lv CLASS]F:.A'IO, Of TmIS PAV[ 4rWenit.Entered" REPORT DOCUMENTATION PAGE I. t[POR' bI5R I. GOVt ACCf..1SIO% %C. 3. RCI1P1EW ' S CAIA..O, hLwbiR 4. TITLI (*,dl..ubsT,,e) 5. TYPE Of REPOR! & PERIOD COVERED Ada Compiler Validation Summary Report:TeleSoft, 09 Apr. 1989 to 09 Apr. 1990 TeieGen2 AGa Development System, Version 1.4, Sun Micro- svtems Sun-S/280 Workstgtion (Host and Target), 6. P[RTORING'R,. RPOR NUMiR 7. AUINORis) a. CONTRACI OR &RANT bLIMEERNs) Wright-Patterson AFB Dayton, OH, USA I. P[RFORKIN OAPANIZATION AN: ADDRESS 10. PRDGRAP ELEMEhl. PRCJE. . lAS& AREA& I ORX U%:1 NULMURS Wright-Patterson AFB 0 Dayton, OH, USA 11. CONTROLLING OrFICE NAME AND ADDRESS 12. R9POR, DATE Ada Joint Program Office United States Department of Defense 13. 'U bL O, FA6L Washington, DC 2V301-3081 O14. MONi1ORING AGEN:Y NAM. & ADDRESS(Ifdofferent from Controlling Office) 15. SECURITI CLASS (ofthitSreport) UNCLASSIFIED Wright-Patterson AFB 15A. DECitS5IrICATION,'DOw%,RADING Dayton, OH, USA N/A 16. ),SIRIBJIIO STATEMENT (olthisfteporT) Approved fcr public release; distribution unlimited. 17. DISTP.IbJTI0 S1AE%#'.N' (ofi t, ab ,itcl entered ,nBoci20 If fierent f,omRepor) U1%::AS:FEDDTIC ELECTE 18. SUPPE.' NTAR' NOTES 19. KE YWDRDS (Continue on ,everse sfe if necesr) and dentif) by block number; Ada Prograr.ming language, Ada Compiler Validation Summary Report, Ada Compiler Validction Capability, ACVC, Validation Testing, Ada Validation Office, AVO, Ada Validation Facility, AVF, ANSI/MIL-STD- 1815A, Ada Joint Program Office, AJPO 20. ABSTRAC T (Continue on reverse side if necessary and identt by block number) TeleSoft, TeleGen2 Ada Development System, Version 1.4, Wright-Patterson AFB, Sun Micro- systems Sun-3/280 Workstation under Sun UIX, Version 4.2, Release 3.5 (Host and Target) ACVC 1.10. DD 2uK 1473 ED3TION or I NOV 65 IS OBSOEE I JAN 73 S/N 0102-LF-014 -601 UNCLASSIFIED SECuRIlY CLASSIFICATION OF liIS PAGE (whenDate Entered)

Of - DTICU.S.C.#552). The results of this validation apply only to the computers, The results of this validation apply only to the computers, operating systems, and compiler versions

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Of - DTICU.S.C.#552). The results of this validation apply only to the computers, The results of this validation apply only to the computers, operating systems, and compiler versions

SECUV'lv CLASS]F:.A'IO, Of TmIS PAV[ 4rWenit.Entered"

REPORT DOCUMENTATION PAGEI. t[POR' bI5R I. GOVt ACCf..1SIO% %C. 3. RCI1P1EW ' S CAIA..O, hLwbiR

4. TITLI (*,dl..ubsT,,e) 5. TYPE Of REPOR! & PERIOD COVERED

Ada Compiler Validation Summary Report:TeleSoft, 09 Apr. 1989 to 09 Apr. 1990TeieGen2 AGa Development System, Version 1.4, Sun Micro-svtems Sun-S/280 Workstgtion (Host and Target), 6. P[RTORING'R,. RPOR NUMiR

7. AUINORis) a. CONTRACI OR &RANT bLIMEERNs)

Wright-Patterson AFBDayton, OH, USA

I. P[RFORKIN OAPANIZATION AN: ADDRESS 10. PRDGRAP ELEMEhl. PRCJE. . lAS&AREA& I ORX U%:1 NULMURS

Wright-Patterson AFB0 Dayton, OH, USA

11. CONTROLLING OrFICE NAME AND ADDRESS 12. R9POR, DATEAda Joint Program Office

United States Department of Defense 13. 'U bL O, FA6LWashington, DC 2V301-3081

O14. MONi1ORING AGEN:Y NAM. & ADDRESS(Ifdofferent from Controlling Office) 15. SECURITI CLASS (ofthitSreport)UNCLASSIFIED

Wright-Patterson AFB 15A. DECitS5IrICATION,'DOw%,RADING

Dayton, OH, USA N/A

16. ),SIRIBJIIO STATEMENT (olthisfteporT)

Approved fcr public release; distribution unlimited.

17. DISTP.IbJTI0 S1AE%#'.N' (ofi t, ab ,itcl entered ,nBoci20 If fierent f,omRepor)

U1%::AS:FEDDTICELECTE

18. SUPPE.' NTAR' NOTES

19. KE YWDRDS (Continue on ,everse sfe if necesr) and dentif) by block number;

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

20. ABSTRAC T (Continue on reverse side if necessary and identt by block number)

TeleSoft, TeleGen2 Ada Development System, Version 1.4, Wright-Patterson AFB, Sun Micro-

systems Sun-3/280 Workstation under Sun UIX, Version 4.2, Release 3.5 (Host and Target)

ACVC 1.10.

DD 2uK 1473 ED3TION or I NOV 65 IS OBSOEE

I JAN 73 S/N 0102-LF-014 -601 UNCLASSIFIEDSECuRIlY CLASSIFICATION OF liIS PAGE (whenDate Entered)

Page 2: Of - DTICU.S.C.#552). The results of this validation apply only to the computers, The results of this validation apply only to the computers, operating systems, and compiler versions

AVF Control Number: AVF-VSR-244.058989-01-25-TEL

Ada COMPILERVALIDATION SUMARY REPORT:

Certificate Number: 890409W1.10043TeleSoft

TeleGen2 Ada Development System, Version 1.4Sun Microsystems Sun-3/280 Workstation

Completion of On-Site Testing:9 April 1989

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

Accesion Fbr INTIS CRA&I

DTIC TAB EDUnirnouriced 0Juslifcattorl

By.......Disti ibutioni I

Availability Codes

Av'io 311dior

SpecialIt, -a

Page 3: Of - DTICU.S.C.#552). The results of this validation apply only to the computers, The results of this validation apply only to the computers, operating systems, and compiler versions

Ada Compiler Validation Summary Report:

Compiler Name: TeleGen2 Ada Development System, Version 1.4

Certificate Number: 890409W1.10043

Host: Sun Microsystems Sun-3/280 Workstation underSun UNIX, Version 4.2, Release 3.5

Target: Sun Microsystems Sun-3/280 Workstation underSun UNIX, Version 4.2, Release 3.5

Testing Completed 9 April 1989 Using ACVC 1.10

This report has been reviewed and is approved.

Ada Validation FacilitySteve P. WilsonTechnical DirectorASD/SCELWright-Patterson AFB OH 45433-6503

Ada Validation OrganizationDr. John F. KramerInstitute for Defense AnalysesAlexandria VA 22311

kTa- Joint Program OfficeDr. John SolomondDirectorDepartment of DefenseWashington DC 20301

Page 4: Of - DTICU.S.C.#552). The results of this validation apply only to the computers, The results of this validation apply only to the computers, operating systems, and compiler versions

Ada Compiler Validatior. 3mry Report:

Compiler Name: TeleGen2 Aa Development Systm, Version 1.4

Certificate Number: 890409W1.10043

Host: Sun Microsystems Sun-3/280 Workstation underSun UNIX, Version 4.2, Release 3.5

Target: Sun Microsystems Sun-3/280 Workstation underSun UNIX, Version 4.2, Release 3.5

Testing Completed 9 April 1989 Using ACVC 1.10

This report has been reviewed and is approved.

Ada Validation FacilitySteve P. WilsonTechnical DirectorASD/SCELWright-Patterson AFB OH 45433-6503

Ada Validation OrganiztionDr. John F. Kramer

Institute for Defense Ana ea

Aiexa~ndri.a VA 22311

Ada Joint Program Office

Dr. John SolomondDirectorDepartment of DefenseWashington DC 20301

Page 5: Of - DTICU.S.C.#552). The results of this validation apply only to the computers, The results of this validation apply only to the computers, operating systems, and compiler versions

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

2.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-63.7 ADDITIONAL TESTING INFORMATION ............. .3-63.7.1 Prevalidation ....... . . ....... 3-63.7.2 Test Method ....... .................. .3-73.7.3 Test Site . .................. 3-8

APPENDIX A DECLARATION OF CONFORMANCE

APPENDIX B APPENDIX F OF THE Ada STANDARD

APPENDIX C TEST PARAMETERS

APPENDIX D WITHDRAWN TESTS

Page 6: Of - DTICU.S.C.#552). The results of this validation apply only to the computers, The results of this validation apply only to the computers, operating systems, and compiler versions

CHAPTER I

INTRODUCTION

This Validation Summary Report (VSR) 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 (ACVC). 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 -ts 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 identifiers 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 tests, 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 is permitted by the Ada Standard. Six classesof tests are used. These tests are designed to perform checks at compiletime, at link time, and during execution.

1-I

Page 7: Of - DTICU.S.C.#552). The results of this validation apply only to the computers, The results of this validation apply only to the computers, operating systems, and compiler versions

INTRODUCTION

1.1 PURPOSE OF THIS VALIDATION SUMMARY REPORT

This VSR documents 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 thecompiler 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 established by the Ada JointProgram Office and administered by the Ada Validation Organization (AVO).On-site testing was completed 9 April 1989 at San Diego CA.

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 FacilityASD/SCELWright-Patterson AFB OH 45433-6503

1-2

Page 8: Of - DTICU.S.C.#552). The results of this validation apply only to the computers, The results of this validation apply only to the computers, operating systems, and compiler versions

INTPODUCTION

Questions regarding this report or the validation tes! resul.ts snou-'d bedirected to the AVF listed above or to:

Ada Validation Organization

Institute for Defense Analyses1801 North Beauregard StreetAlexandria VA 22311

1.3 REFERENCES

1. Reference Manual for the Ada Programing LanguaeANSI/MIL-Sb-h5A, 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 the

form 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 technicalsupport for Ada validations to ensure consistent practices.

Compiler A processor for the Ada language. In the context of thisreport, a compiler is any language processor, including

1-3

Page 9: Of - DTICU.S.C.#552). The results of this validation apply only to the computers, The results of this validation apply only to the computers, operating systems, and compiler versions

INTRODUCTION

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

Target The computer for 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 duringexecution. Class B tests are expected to produce compilation errors.Class L tests are expected to produce compilation or link errors because ofthe way in which a program library is used at link time.

Class A tests ensure the successful compilation of legal Ada programs withcertain language constructs which cannot be verified at compile time.There are no explicit program components in a Class A test to checksemantics. For example, a Class A test checks that reserved words ofanother language (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.

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 every

1-4

Page 10: Of - DTICU.S.C.#552). The results of this validation apply only to the computers, The results of this validation apply only to the computers, operating systems, and compiler versions

INTRODUCTION

illegal construct that it contains is detected by the compiler.

Class C tests check the run time system to ensure that legal Ada programscan be correctly compiled and executed. Each Class C test is self-checkingand produces a PASSED, FAILEL, or NOT APPLICABLE message indicating the

result when it is executed.

Class D tests check the compilation and execution capacities of a compiler.

Since there are no capacity requirements placed on a compiler by the Ada

Standard 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 the

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

Class E tests are expected to execute successfully and checkimplementation-dependent options and resolutions of ambiguities in the AdaStandard. Each Class E test is self-checking and produces a NOTAPPLICABLE, PASSED, or FAILED message when it is compiled and executed.However, the Ada Standard permits an implementation to reject programscontaining some features addressed by Class E tests during compilation.Therefore, a Class E test is passed by a compiler if it is compiledsuccessfully and executes to produce a PASSED message, or if it is rejectedby the compiler for an allowable reason.

Class L tests check that incomplete or illegal Ada programs involv.ngmultiple, separately compiled units are detected and not allowed toexecute. Class L tests are compiled separately and execution is attempted.A Class L test passes if it is rejected at link time--that is, an 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. In some cases, an implementation may legitimatelydetect errors during compilation of the test.

Two library units, the package REPORT and the procedure CHECK FILE, supportthe self-checking features of the executable tests. The package REPORTprovides the mechanism by which execl'table 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 each test in the ACVC follows 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, andplace features that may not be supported by all implementations in separate

1-5

Page 11: Of - DTICU.S.C.#552). The results of this validation apply only to the computers, The results of this validation apply only to the computers, operating systems, and compiler versions

INTRODUCTION

tests. However, some tests contain values that require tne test to becustomized according to implementation-specific value5--fo- exampe, anillegal file name. A list of the valuee used for tniz va: atnr. :5provided in Appendix C.

A compiler must correctly process each of the test :r the suite anddemonstrate conformity to the Ada Standard by eitier mrt.ng Lte passcriteria given for the test or by showing that the test is inapplicatle t-cthe implementation. The applicability of a test to an implementation isconsidered each time the implementation is validated. A test that isinapplicable 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

Page 12: Of - DTICU.S.C.#552). The results of this validation apply only to the computers, The results of this validation apply only to the computers, operating systems, and compiler versions

CHAPTER 2

CONFIGURATION INFORMATION

2.1 CONFIGURATION TESTED

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

Compiler: TeleGen2 Ada Development System, Version 1.4

ACVC Version: 1.10

Certificate Number: 890409W1.10043

Host Computer:

Machine: Sun Microsystems Sun-3/280 Workstation

Operating System: Sun UNIXVersion 4.2, Release 3.5

Memory Size: 24 megabytes

Target Computer:

Machine: Sun Microsystems Sun-3/280 Workstation

Operating System: Sun UNIXVersion 4.2, Release 3.5

Memory Size: 24 megabytes

2-1

Page 13: Of - DTICU.S.C.#552). The results of this validation apply only to the computers, The results of this validation apply only to the computers, operating systems, and compiler versions

CONFIGURATION INFORMATION

2.2 IMPLEMENTATION CHARA.:E!T:'z

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

a. Capacities.

(1) The compiler correctly processes a compilation containing 723variables in the same declarative part. (See test D29002K.)

(2) The compiler correctly processes tests containing loopstatements nested to 65 levels. (See tests D55A03A..H (8tests).)

(3) The compiler correctly processes tests containing blockstatements nested to 65 levels. (See test D56001B.)

(4) The compiler correctly processes tests containing recursiveprocedures separately compiled as subunits nestec to 17levels. (See tests D64005E..G (3 tests).'

b. Predefined types.

(1) This implementation supports the additional predefined typesLONG INTEGER and LONG FLOAT in package STANDARD. (See testsB86001T..Z (7 tests).)

c. Expression evaluation.

The order in which expressions are evaluated and the time at whichconstraints are checked are not defined by the language. Whilethe ACVC tests do not specifically attempt to determine the orderof evaluation of expressions, test results indicate the following:

(1) Some of the default initialization expressions for recordcomponents are evaluated before any value is checked formembership in a component's subtype. (See test C32117A.)

(2) Ass. .- :ients for subtypes are performed with the same precisionas t'. base type. (See test C35712B.)

(3) This !muementation uses no extra bits for extra precision anduses n. extra bits for extra range. (See test C35903A.)

2-2

Page 14: Of - DTICU.S.C.#552). The results of this validation apply only to the computers, The results of this validation apply only to the computers, operating systems, and compiler versions

CONFIGURATION INFORMATION

(4) Sometimes NUMERIC ERROR is raised wnen an integer literal

operand in a comparison or membership test is outside tnerange of the base type. (See test CZ45232A.)

(5) NUMERIC ERROR is raised when a literal operand in afixed-point comparison or membership test is outside the rangeof the base type. (See test CU5252A.)

(6) Underflow is gradual. (See tests C45524A..Z.)

d. Rounding.

The method by which values are rounded in type conversions is not

defined by the language. While the ACVC tests do not specificallyattempt to determine the method of rounding, the test resultsindicate the following:

(1) The method used for rounding to integer is round to even.

(See tests C46012A..Z.)

(2) The method used for rounding to longest integer is round to

even. (See tests C46o2A..Z.)

(3) The method used for rounding to integer in static universalreal expressions is round away from zero. (See test Z4AOM4A.)

e. Array types.

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

For this implementation:

(1) Declaration of an array type or subtype declaration with more

than SYSTEM.MAX INT components raises NUMERIC ERROR for atwo-dimensional array subtype when the big dimension is thesecond one. (See test C36003A.)

(2) CONSTRAINT ERROR is raised when 'LENGTH is applied to a null

array type with INTEGER'LAST + 2 components. (See testC36202A.)

(3) NUMERIC ERROR is raised when a null array type withSYSTEM.RAX INT e 2 components is declared. (See testC36202B.)

(4) A packed BOOLEAN array having a 'LENGTH exceeding INTEIER'LASTraises no exception. (See test C52103X.)

2-3

Page 15: Of - DTICU.S.C.#552). The results of this validation apply only to the computers, The results of this validation apply only to the computers, operating systems, and compiler versions

CONFIGURATION INFORMATION

(5) A packed two-dimensional BOOLEAN array with more thanINTEGER'LAST components raises CONSTRAINT ERROR when thelength of a dimension is calculated and exceeds INTEGER'LAST.(See test C52104Y.)

(6) A null array with one dimension of length greater thanINTEGER'LAST may raise NUMERIC ERROR or CONSTRAINT ERROReither when declared or assigned. Alternatively, animplementation may accept the declaration. However, lengthsmust match in array slice assignments. This implementationraises no exception. (See test E52103Y.)

(7) In assigning one-dimensional array types, the expression isevaluated in its entirety before CONSTRAINT ERROR is raisedwhen checking whether the expression's subtype is compatiblewith the target's subtype. (See test C52013A.)

(8) In assigning two-dimensional array types, the expression isnot evaluated in its entirety before CONSTRAINT ERROR israised when checking whether the expression's subtype iscompatible with the target's subtype. (See test C52013A.)

f. Discriminated types.

(1) In assigning record types with discriminants, the expressionis evaluated in its entirety before rONSTRAINT ERROR is raisedwhen checking whether the expression's subtype is compatiblewith the target's subtype. (See test C52013A.)

g. Aggregates.

(1) In the evaluation of a multi-dimensional aggregate, indexsubtype checks are made as choices are evaluated. (See testsC43207A and C43207B.)

(2) In the evaluation of an aggregate containing subaggregates,not all choices are evaluated before being checked foridentical bounds. (See test E43212B.)

(3) CONSTRAINT ERROR is raised after all choices are evaluatedwhen a bound in a non-null range of a non-null aggregate doesnot belong to an index subtype. (See test E43211B.)

h. Pragmas.

(1) The pragma INLINE is supported for procedures and non-libraryfunctions. (See tests LA3004A..B, EA3004C..D, andCA3004E..F.)

2-4

Page 16: Of - DTICU.S.C.#552). The results of this validation apply only to the computers, The results of this validation apply only to the computers, operating systems, and compiler versions

CONFIGURATION INFOl4ATION

i. Generics

(1) Generic unit declarations, bodies, and subunits can becompiled in separate compilations. (See tests CA1O12A andC AI,1A.)

(2) If a generic unit body or one of its subunits is compiled orrecompiled after the generic unit is inrsantiated, the unitinstantiating the generic is made obsolete. The obsolescenceis recognized at binding time, and the binding is stopped.(See tests CA2009C, CA2009F, BC3204C, and BC3205D.)

J. Input and output

(1) The package SEQUENTIAL 10 cannot be instantiated withunconstrained array types or record types with discriminantswithout defaults. (See tests AE2101C, EE2201D, and EE2201E.)

(2) The package DIRECT 10 cannot be instantiated withunconstrained array types or record types with discriminantswithout defaults. (See tests AE2101H, EE2401D, and EE2401G.)

(3) Modes IN FILE and OUTFILE are supported for SEQUENTIAL 10.(See tests CE2102D..E, CE2102N, and CE2102P.)

(4) Modes INFILE, OUT FILE, and INOUTFILE are supported forDIRECT I0. (See tests CE2102F, CE21021..J, CE2102R, CE2102T,and CE2102V.)

(5) Modes IN FILE and OUT FILE are supported for text files. (Seetests CE31O2E and CE31021..K.)

(6) RESET and DELETE operations are supported for SEQUENTIALIO.(See tests CE2102G and CE2102X.)

(7) RESET and DELETE operations are supported for DIRECTIO. (Seetests CE2102K and CE2102Y.)

(8) RESET and DELETE operations are supported for text files.(See tests CE3102F..G, CE3104C, CE3110A, and CE3114A.)

(9) Overwriting to a sequential file does not truncate the file.(See test CE2208B.)

(10) Temporary sequential files are given names and not deletedwhen closed. (See test CE2108A.)

(11) Temporary direct files are given names and not deleted whenclosed. (See test CE21o8C.)

2-5

Page 17: Of - DTICU.S.C.#552). The results of this validation apply only to the computers, The results of this validation apply only to the computers, operating systems, and compiler versions

CONFIGURATION INFORMATION

(12) Temporary text files are given names and not deleted whenclosed. (See test CE3112A.)

(13) More than one internal file can be associated with eachexternal file for sequential files when reading only. (Seetests CE2107A..E, CE2102L, CE2110B, and CE2111D.)

(14) More than one internal file can be associated with eachexternal file for direct files when reading only. (See testsCE2107F..H (3 tests), CE2110D, and CE2111H.)

(15) More than one internal file can be associated with eachexternal file for text files when reading only. (See testsCE3111A..E, CE3114B, and CE3115A.)

2-6

Page 18: Of - DTICU.S.C.#552). The results of this validation apply only to the computers, The results of this validation apply only to the computers, operating systems, and compiler versions

CHAPTER 3

TEST INFORMATION

3.1 TEST RESULTS

Version 1.10 of the ACVC comprises 3717 tests. When this compiler wastested, 43 tests had been withdrawn because of test errors. The AVFdetermined that 316 tests were inapplicable to this implementation. Allinapplicable tests were processed during validation testing except for 201executable tests that use floating-point precision exceeding that supportedby the implementation. Modifications to the code, processing, or gradingfor nine 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 TOTAL_ A B C D E L

Passed 127 1129 2017 17 23 45 3358

Inapplicable 2 9 299 0 5 1 316

Withdrawn 1 2 34 0 6 0 43

TOTAL 130 1140 2350 17 34 46 3717

3-1

Page 19: Of - DTICU.S.C.#552). The results of this validation apply only to the computers, The results of this validation apply only to the computers, operating systems, and compiler versions

TEST INFORMATION

3.3 SUMMARY OF TEST RESULTS BY CHAPTER

RESULT CHAPTEP TOTAL

2 3 4 5 6 7 8 9 10 .1 12 13 14

Passed 198 573 544 245 172 99 160 333 132 36 250 338 278 3358

Inappl 14 76 136 3 0 0 6 0 5 0 2 31 43 316

Wdrn 1 1 0 0 0 0 0 1 0 0 1 35 4 43

TOTAL 213 650 680 248 172 99 166 334 137 36 253 404 325 3717

3.4 WITHDRAWN TESTS

The following 43 tests were withdrawn from ACVC Version 1.10 at the time of thisvalidation:

E28005C A39005G B97102E BC3009B CD2A62D CD2Af3ACD2A63B CD2A63C CD2A63D CD2A66A CD2A66B CD2A66CCD2A66D CD2A73A CD2A73B CD2A73C CD2A73D CD2A76ACD2A76B CD2A76C CD2A76D CD2A81G CD2A83G CD2A84MCD2A84N CD2B15C CD2D11B CD5007B CD50110 ED7004BED7005C ED7005D ED7006C ED7006D CD7105A CD7203BCD7204B CD7205C CD7205D CE2107I CE3111C CE3301ACE3411B

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 features thata compiler is not required by the Ada Standard to support. Others may depend onthe result of another test that is either inapplicable or withdrawn. Theapplicability of a test to an implementation is considered each time avalidation is attempted. A test that is inapplicable for one validation attemptis not necessarily inapplicable for a subsequent attempt. For this validationattempt, 316 tests were inapplicable for the reasons indicated:

a. The following 201 tests are not applicable because they havefloating-point type declarations requiring more digits thanSYSTE4.MAXDIGITS:

C24113L..Y C35705L..Y C35706L..Y C35707L..YC35708L..Y C35802L..Z C45241L..Y C45321L..YC45421L..Y C45521L..Z C45524L..Z C45621L..ZC45641L..Y C46012L..Z

3-2

Page 20: Of - DTICU.S.C.#552). The results of this validation apply only to the computers, The results of this validation apply only to the computers, operating systems, and compiler versions

TEST INFORMATION

b. C35508I, C35508J, C35508M, and C35508N are not applicable because thisimplementation does not support enumeration representation clauses forBOOLEAN types.

c. C35702A and B86001T are not applicable because this implementationsupports no predefined type SHORTFLOAT.

d. The following 16 tests are not applicable because this implementationdoes not support a predefined type SHORTINTEGER:

C45231B C45304B C45502B C45503B C45504BC45504E C45611B C45613B C45614B C45631BC45632B B52004E C55B07B B55BO9D B86001VCD7101E

e. C45231D, B86001X, and CD7101G are not applicable because thisimplementation does not support any predefined integer type with a nameother than INTEGER, LONG-INTEGER, or SHORT-INTEGER.

f. C45531M..P (4 tests) and C45532M..P (4 tests) are not applicablebecause the value of SYSTEM.MAX MANTISSA is less than 47.

g. C86001F is not applicable because, for this implementation, the packageTEXT IO is dependent upon package SYSTEM. These tests recompilepackage SYSTE2M, making package TEXT_10, and hence package REPORT,obsolete.

h. B86001Y is not applicable because this implementation supports nopredefined fixed-point type other than DURATION.

i. B86001Z is not applicable because this implementation supports nopredefined floating-point type with a name other than FLOAT,LONGFLOAT, or SHORTFLOAT.

J. CA2009C, CA2009F, BC3204C, and BC3205D are not applicable because thisimplementation does not support separate compilation of genericspecifications, bodies, and subunits, if an instantiation is givenbefore compilation of its bodies or subunits. The created dependencyis detected at bind time.

k. LA3004B, EA3004D, and CA3004F are not applicable because thisimplementation does not support pragma INLINE for library functions.

1. CDIO09C, CD2A41A..B (2 tests), CD2AI1E, and CD2A42A..J (10 tests) arenot applicable because this implementation does not support sizeclauses for floating point types using less than 32 bits.

m. CD2A61I and CD2A61J are not applicable because this implementation doesnot support size clauses for array types, which imply compression, withcomponent types of composite or floating point types.

n. CD2A84B..I (8 tests) and CD2A84K..L (2 tests) are not applicable

3-3

Page 21: Of - DTICU.S.C.#552). The results of this validation apply only to the computers, The results of this validation apply only to the computers, operating systems, and compiler versions

TEST INFORMATION

because this implementation does not support size clauses for accesstypes using less than 32 bits.

o. CD2C11A and CD2C11B are not applicable because this implementation doesnot support a task storage size representation clause with only 1024

storage units.

p. CD4041A is not applicable because this implementation does not supportrecord representation clauses with 32-bit alignment.

q. AE2101C, EE2201D, and EE2201E use instantiations of package

SEQUENTIAL 10 with unconstrained array types and record types withdiscriminants without defaults. These instantiations are rejected bythis compiler.

r. AE2101H, EE2401D, and EE2401G use instantiations of package DIRECT 10

with unconstrained array types and record types with discriminantswithout defaults. These instantiations are rejected by this compiler.

s. CE2102D is inapplicable because this implementation supports CREATEwith INFILE mode for SEQUENTIAL_10.

t. CE2102E is inapplicable because this implementation supports CREATEwith OUTFILE mode for SEQUENTIAL_10.

u. CE2102F is inapplicable because this implementation supports CREATEwith INOUTFILE mode for DIRECTIO.

v. CE21021 is inapplicable because this implementation supports CREATEw-..h INFILE mode for DIRECTIO.

w. CE2102J is inapplicable because this implementation supports CREATEwith OUTFILE mode for DIRECTIO.

x. CE2102N is inapplicable because this implementation supports OPEN withINFILE mode for SEQUENTIALIO.

y. CE21020 is inapplicable because this implementation supports RESET with

INFILE mode for SEQUENTIAL_10.

z. CE2102P is inapplicable because this implementation supports OPEN withOUT-FILE mode for SEQUENTIAL_10.

aa. CE2102Q is inapplicable because this implementation supports RESET with

OUTFILE mode for SEQUENTIALIO.

ab. CE2102R is inapplicable because this implementation supports OPEN withINOUT FILE mode for DIRECTIO.

ac. CE2102S is inapplicable because this implementation supports RESET withINOUT FILE mode for rIRECTIO.

ad. CE2102T is inapplicable because this implementation supports OPEN with

3-"

Page 22: Of - DTICU.S.C.#552). The results of this validation apply only to the computers, The results of this validation apply only to the computers, operating systems, and compiler versions

TEST INFORMATION

INFILE mode for DIRECT IO.

ae. CE2102U is inapplicable because this implementatuon supports RESET withINFILE mode for DIRECT 10.

af. CE2102V is inapplicable because this implementation supports open withOUT FILE mode for DIRECT IO.

ag. CE2102W is inapplicable because this implementatlon supports RESET withOUTFILE mode for DIRECTIO.

ah. CE2107B..E (4 tests), CE2107L, CE2110B, and CE2111D are not applicablebecause multiple internal files cannot be associated with the same

external file when one or more files is writing for sequential files.The proper exception is raised when multiple access is attempted.

ai. CE2107G..H (2 tests), CE2110D, and CE2111H are not applicable becausemultiple internal files cannot be associated with the same externalfile when one or more files is writing for direct files. The proper

exception is raised when multiple access is attempted.

aj. CE3102E is inapplicable because this implementation supports CREATEwith IN-FILE mode for text files.

ak. CE3102F is inapplicable because this implementation supports RESET fortext files.

al. CE3102G is inapplicable because this implementation supports deletionof an external file for text files.

am. CE3102I is inapplicable because this implementation supports CREATEwith OUTFILE mode for text files.

an. CE3102J is inapplicable because this implementation supports OPEN withIN-FILE mode for text files.

ao. CE3102K is inapplicable because this implementation supports OPEN withOUTFILE mode for text files.

ap. CE3111B, CE3111D..E (2 tests), CE3114B, and CE3115A are not applicablebecause multiple internal files cannot be associated with the sameexternal file when one or more files is writing for text files. Theproper exception is raised when multiple access is attempted.

3-5

Page 23: Of - DTICU.S.C.#552). The results of this validation apply only to the computers, The results of this validation apply only to the computers, operating systems, and compiler versions

TEST INFORMATION

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 legitimate implementation behavior.Modifications are made by the AVF in cases where legitimate implementationbehavior prevents the successful completion of an (otherwise) applicable test.Examples of such modifications include: adding a length clause to alter thedefault size of a collection; splitting a Class B test into subtests so that allerrors are detected; and confirming that messages produced by an executable testdemonstrate conforming behavior that wasn't anticipated by the test (such asraising one exception instead of another).

Modifications were required for nine tests.

The following tests were split because syntax errors at one point resulted inthe compiler not detecting other errors in the test:

BA3006A BA3006B BA3007B BA3008A BA3008B BA3013A

C34005G, C34005J, and C34006D required evaluation modifications because thetests include some comparisons that use the 'SIZE attribute under assumptionsthat are not fully supported by the Ada Standard and are subject to ARG review.Thus, the AVO ruled that an implementation is considered to have passed thesetests if the only REPORT.FAILED output is because of various 'SIZE checks. Thisimplementation produced the messages "INCORRECT TYPE'SIZE", "INCORRECTOBJECT'SIZE", and "INCORRECT 'BASE'SIZE" for C34005G and C34005J, and themessage "INCORRECT TYPE'SIZE" for C34006D.

3.7 ADDITIONAL TESTING INFORMATION

3.7.1 Prevalidation

Prior to validation, a set of test results for ACVC Version 1.10 produced by theTeleGen2 Ada Development System was submitted to the AVF by the applicant forreview. Analysis of these results demonstrated that the compiler successfullypassed all applicable tests, and the compiler exhibited the expected behavior onall inapplicable tests.

3-6

Page 24: Of - DTICU.S.C.#552). The results of this validation apply only to the computers, The results of this validation apply only to the computers, operating systems, and compiler versions

TEST INFORMATION

3.7.2 Test Method

Testing of the TeleGen2 Ada Development System using ACVC Version 1.10 wasconducted on-site by a validation team from the AVF. The configuration in whichthe testing was performed is described by the following cesignations of hardwareand software components:

Host computer: Sun Microsystems Sun-3/280 WorkstationHost operating system: Sun UNIX, Version 4.2, Release 3.5Target computer: Sun Microsystems Sun-3/280 WorkstationTarget operating system: Sun UNIX, Version 4.2, Release 3.5Compiler: TeleGen2 Ada Development System, Version 1.4

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 of implementation-specificvalues were customized before being written to the magnetic tape. Testsrequiring modifications during the prevalidation testing were included in theirmodified form on the magnetic tape.

The contents of the magnetic tape were loaded directly onto the host computer.

After the test files were loaded to disk, the full set of tests was compiled,linked, and all executable tests were run on the Sun Microsystems San-3/280Workstation. Results were printed from the host computer.

The compiler was tested using command scripts provided by TeleSoft and reviewedby the validation team. The compiler was tested using all default optionsettings except for the following:

OPTION EFFECT

ada Invoke Ada compiler.-L Generate interspersed error listing.-m Produce executable code for main unit.ald Invoke the linker.-P Indicates that one or more of the subprograms being

optimized may be called from parallel tasks.-R Indicates that one or more of the subprograms interior

to the unit/collection being optimized could be calledrecursively by an exterior subprogram.

-I Enables inline expansion of those subprograms markedwith an inline pragma or generated by the compiler.

-A Enables automatic inline expansion of any subprogramcalled from only one place, as well as those marked byan inline pragma or generated by the compiler.

-0 D Optimizer switch which is equivalent to "-P -R -I -A".

Tests were compiled, linked, and executed (as appropriate) using a singlecomputer. Test output, compilation listings, and job logs were captured onmagnetic tape and archived at the AVF. The listings examined on-site by thevalidation team were also archived.

3-7

Page 25: Of - DTICU.S.C.#552). The results of this validation apply only to the computers, The results of this validation apply only to the computers, operating systems, and compiler versions

TEST INFOR14ATION

3.7.3 Test Site

Testing was conducted at San Diego CA and was completed on 9 April 1989.

3-8

Page 26: Of - DTICU.S.C.#552). The results of this validation apply only to the computers, The results of this validation apply only to the computers, operating systems, and compiler versions

APPENDIX A

DECLARATION OF CONFORMANCE

TeleSof~t has submitted the followinig Declaration of'Conformance concerning the TeleGen2 Ada Development System.

A-1

Page 27: Of - DTICU.S.C.#552). The results of this validation apply only to the computers, The results of this validation apply only to the computers, operating systems, and compiler versions

DECLARATION OF CONFORMANCE

Compiler -rnplementer: TELESOFTAda Validlation Facility: ASD 'SCEL. \\ righi-Pattersoni AFB OH 45433-6503Ada Compiler Valioatiori Capabilit\ (ACVC) Version: 1.10

Base Configuration

Base Compiler Name: TeleGen2 Ada Development SystemVersion: 1.4

Host Architecture ISA: Sun Microsystems Sun-3/280 WorkstationOS & VER :r: Sun UNIX Version 4.2, Release 3.5

Target Architecture ISA: Same as HostOS & VER 4: Same as Host

Implementer's Declaration

I. the undersigned. representing TELESOFT. have implemented no deliberate extensionsto the Ada Language Standard ANSl/MIL-STD-1815A in the compiler(s) listed in thisdeclaration, I declare that TELESOFT is the owner of record of the Ada languagecompilers listed above and, as such, is responsible for maintaining said compiler(s) incomformance to ANSI 'MIL-STD-1815A. All certificates and registrations for Adalanguage compiler(s) listed in this declaration shall be made only in the owner's corporatename.

TELESOFT /', Raymond A. Parra. #rector. Contracts/Legal

Owner's Declaration

L, the undersigned. representing TELESOFT take full responsibility for implementationand maintenance of the Ada compiler(s) listed above, and agree to the public disclosure ofthe final Validation Summary Report. I declare that all of the Ada language compilerslisted, and their host'target performance are in compliance with the Ada LanguageStandard ANSI/MIL-STD-1815A.

_ _ _ ~~Date: i X L ~ FTELESOFTRaymond A. Parra. Di c r, Contracts/Legal

A-2

Page 28: Of - DTICU.S.C.#552). The results of this validation apply only to the computers, The results of this validation apply only to the computers, operating systems, and compiler versions

APPENDIX B

APPENDIX F OF THE Ada STANDARD

The only allowed implementation dependencies correspond toimplementation-dependent pragmas, to certain machine-dependent conventionsas mentioned in chapter 13 of the Ada Standard, and to certain allowedrestrictions on representation clauses. The implementation-dependentcharacteristics of the TeleGen2 Ada Development System, Version 1.4, asdescribed in this Appendix, are provided by TeleSoft. Unless specificallynoted otherwise, references in this Appendix are to compiler documentationand not to this report. Implementation-specific portions of the packageSTANDARD, which are not a part of Appendix F, are:

package STANDARD is

type INTEGER is range -32768 .. 32767;type LONGINTEGER is range -2147483648 .. 2147483647;

type FLOAT is digits 6 range -1.70141E+38 .. 1.70141E+38;type LONG FLOAT is

digits 15 range -8.98846567431158E+307 .. 8.988465674-31158E+307;

type DURATION is delta 2#1.0#E-14 range -86400.0 .. 86400.0;

end STANDARD;

B-1

Page 29: Of - DTICU.S.C.#552). The results of this validation apply only to the computers, The results of this validation apply only to the computers, operating systems, and compiler versions

APPENDIX F

1. Implementation Dependent Pragmas

pragma CO.NhENT(<string literal;.):It may only appear within a compilation unit.The pragma comment has the effect of embedding the given,sequence of characters in the object code of the compilation unit.

pragma LINKNAME(< subprogram _name>, <string literal;-):It may appear in any declaration section of a unit.This pragma must also appear directly after an interface pragmafor the same -subprogramname>. The pragma linkname has theeffect of making string-literal apparent to the linker.

pragma INTERRUPT(Function Mapping);It may only appear immediately before a simple accept statement,a while loop directly enclosing only a single accept statement,or a select statement that includes an interrupt accept alternative.The pragma interrupt has the effect that entry calls to theassociated entry, on behalf of an interrupt, are made with areduced call overhead.

pragma LMAG ES(< enumerationtype> ,Deferred) orpragma LMAG ES < enumeration type >,lmmediate);It may only appear within a compilation unit.The pragma images controls the creation and allocation ofthe image table for a specified enumeration type. Thedefault is Deferred, which saves space in the literal poolby not creating an image table for an enumeration typeunless the 'Image, 'Value. or 'Width attribute for the typeis used. If one of these attributes is used, an image tableis generaLed in the literal pool of the compilation unit inwhich the attribute appears. If the attributes are used inmore than one compilation unit. more than one image table isgenerated, eliminating the benefits of deferring the table.

pragma SUPPRESSALL;It may appear anywhere that a Suppress pragma may appear asdefined by the Language Reference Manual. The pragmaSuppressAll has the effect of turning off all checksdefined in section 11.7 of the Language Reference Manual.The scope of applicablility of this pragma is the same asthat of the pre-defined pragma Suppress.

B-2

Page 30: Of - DTICU.S.C.#552). The results of this validation apply only to the computers, The results of this validation apply only to the computers, operating systems, and compiler versions

2. lmplementatior Dependent Attribut e'

'Offset Attributt

'Offset along with the attribute *Address. facilitates machint codeinsertions. For a prefix P that denotes a declared parameterobject. P'Offset yields the statically known portion of theaddress of the first of the storage units allocated to P. Thevalue is the object's offset relative to a base register and isof type LongInteger.

INTEGER ATTRIBUTES

'Extendedlimage Attribute

Usage: XExtxendedImage(ltem.Width.Base.BasedSpace IF Positive)

Returns the image associated with Item as per the Text Jo definition.The Text lo definition states that the value of Item is an integerliteral with no underlines, no exponent. no leading zeros(but a single zero for the zero value) and a minus sign if negative.If the resulting sequence of characters to be output has fewer thanWidth characters then leading spaces are first output to make upthe difference. (LRM 14.3.7:10,14.3.7:11)

For a prefix X that is a discrete type or subtype; this attributeis a function that may have more than one parameter. The parameterItem must be an integer value. The resulting string iswithout underlines, leading zeros. or trailing spaces.

B-3

Page 31: Of - DTICU.S.C.#552). The results of this validation apply only to the computers, The results of this validation apply only to the computers, operating systems, and compiler versions

Parameter Descriptions:

Item -- The user specifies the item that he wants theimage of and passes it into the function. This

parameter is required.Width - The user may specify the minimum number of

characters to be in the string that is returned.If no width is specified then the default (0) isassumed.

Base - The user may specify the base that the image isto be displ., ed in. If no base is specified thenthe default (10) is assumed.

Based - The user may specify whether he wants the stringreturned to be in base notation or not. If nopreference is specified then the default (false)

is assumed.Space If Positive - The user may specify whether or not the sign bit

of a positive integer is included in the string

returned. If no preference is specified thenthe default (false) is assumed.

Examples:

Suppose the following subtype was declared:

Subtype X is Integer Range -10..16;

Then the following would be true:

X'ExtendedImage(5) 1"5"X'ExtendedImage(5.0) ? "5"

X'ExtendedImage(5,2) 1" 5"

X'ExtendedImage(5.0.2) "101"

X'ExtendedImage(5.4,2) = "101"

X'ExtendedImage(5.0.2.True) = "2# 101 #"

X'ExtendedImage(5.,0,1 0,False) = "5"X'Extendedimage(5.0,10,False,True) = " 5"X'ExtendedImage(-1,0,10,False,False) = "-1"

X'ExtendedImage(- 1,0,10,False.True) = "-1"X'ExtendedImage(-1,1,10,False,True) = "-1"

X'Extended Image(- 1,0,2,True,True) = "-2#1#"X'ExtendedImage(- 1, 10,2,True,True) - " -2#1#"

B-4

Page 32: Of - DTICU.S.C.#552). The results of this validation apply only to the computers, The results of this validation apply only to the computers, operating systems, and compiler versions

'Extended Jalue Attribute

Usage: X'Extended _Value(Item)

Returns the value associated with Item as per the Text lo definition.The Text lo definition states that given a string, it reads aninteger value from the beginning of the string. The value returnedcorresponds to the sequence input. (LRM 14.3.7:14)

For a prefix X that is a discrete type or subtype; this attributeis a function with a single parameter. The actual parameter Itemmust be of predefined type string. Any leading or trailingspaces in the string X are ignored. In the case where an illegalstring is passed, a CONSTRAINTERROR is raised.

Parameter Descriptions:

Item -- The user passes to the function a parameter of thepredefined type string. The type of the returnedvalue is the base type X.

Examples:

Suppose the following subtype was declared:

Subtype X is Integer Range -10..16;

Then the following would be true:

X'Extended Value("5") = 5X'ExtendedValue(" 5") = 5X'ExtendedValue("2i 101 , ") 5X'Extended Value("-l") = -1X'ExtendedValue(" -1") = -

B-5

Page 33: Of - DTICU.S.C.#552). The results of this validation apply only to the computers, The results of this validation apply only to the computers, operating systems, and compiler versions

*ExtndedWidth Attribute

Usage: X'Extended _Width(Base.Based.Space_ If- Positive)

Returns the width for subtype of X.

For a prefix X that is a discrete subtype; this attributeis a function that may have multiple parameters. This attributeyields the maximum image length over all values of the typeor subtype X.

Parameter Descriptions:

Base - The user specifies the base for which the widthwill be calculated. If no base is specifiedthen the default (10) is assumed.

Based - The user specifies whether the subtype is statedin based notation. If no value for based isspecified then the default (false) is assumed.

SpaceIf Positive -- The user may specify whether or not the sign bitof a positive integer is included in the stringreturned. If no preference is specified then thedefault (false) is assumed.

Examples:

Suppose the following subtype was declared:

Subtype X is Integer Range -10..16:

Then the following would be true:

X'Extended Width -3 __ "f-10"1X'Extended Width(10) =3 1- -10"1

X'Extended Width(2) =5 -- "10000"X'Extended Width(10,True) =7 - ,'-10#10: 'X'Extended Width(2.True) 8 - "2#10000#ttX'Extended Width (I 0False.True) = 3 -"1116"1X'Extended Width (I 0,True.False) = 7 - "-10:# 10#"X'Extended Width (I0,True,True) = 7 -- "10#16#"

X'Extended Width (2.True,True) = 9 -"2#10000#"

X'Extended-Width (2.False,True) = 6 -"10000"

B-6

Page 34: Of - DTICU.S.C.#552). The results of this validation apply only to the computers, The results of this validation apply only to the computers, operating systems, and compiler versions

ENUMERATION ATTRIBUTES

'ExtendedImage Attribute

Usage: X'ExtendedImage(ltem.Width,Uppercase)

Returns the image associated with Item as per the Text lo definition.The Text lo definition states that given an enumeration literal,it will output the value of the enumeration literal (either anidentifier or a character literal). The character case parameteris ignored for character literals. (LRM 14.3.9:9)

For a prefix X that is a discrete type or subtype; this attributeis a function that may have more that one parameter. The parameterItem must be an enumeration value. The image of an enumerationvalue is the corresponding identifier which may have character caseand return string width specified.

Parameter Descriptions:

Item - The user specifies the item that he wants the image of andpasses it into the function. This parameter is required.

Width - The user may specify the minimum number of characters tobe in the string that is returned. If no width isspecified then the default (0) is assumed. If the Widthspecified is larger than the image of Item, ther. thereturn string is padded with trailing spaces; if theWidth specified is smaller than the image of Item thenthe default is assumed and the image of the enumerationvalue is output completely.

Uppercase - The user may specify whether the returned string is inuppercase characters. In the case of an enumerationtype where the enumeration literals are characterliterals, the Uppercase is ignored and the casespecified by the type definition is taken. If nopreference is specified then the default (true) isassumed.

B-7

Page 35: Of - DTICU.S.C.#552). The results of this validation apply only to the computers, The results of this validation apply only to the computers, operating systems, and compiler versions

Examples:

Suppose the following types were declared:

Type X is (red, green, blue. purple);Type Y is ('a', 'B', 'c', 'D');

Then the following would be true:

X'Extended image(red) = "RED"X'Extended Image(red, 4) = "RED "

X'ExtendedImage(red,2) "RED"

X'Extended_lmage(red,O,false) = "red"X'ExtendedImage (red, 0.false) "redY'ExtendedImage('a') = '"a"'

Y'Extended_lmage('B') = "'B"'Y'Extended lmage('a',6) W"'

Y'ExtendedImage('a',O,true) = Wa'

'ExtendedValue Attribute

Usage: X'Extended_Value(Item)

Returns the image associated with Item as per the TextJo definition.The Text lo definition states that it reads an enumeration valuefrom the beginning of the given string and returns the value ofthe enumeration literal that corresponds to the sequence input.(LRM 14.3.9:11)

For a prefix X that is a discrete type or subtype; this attributeis a function with a single parameter. The actual parameter Itemmust be of predefined type string. Any leading or trailing

spaces in the string X are ignored. In the case where an illegalstring is passed, a CONSTRAINTERROR is raised.

Parameter Descriptions:

Item - The user passes to the function a parameter of thepredefined type string. The type of the returnedvalue is the base type of X.

B-8

Page 36: Of - DTICU.S.C.#552). The results of this validation apply only to the computers, The results of this validation apply only to the computers, operating systems, and compiler versions

Examples:

Suppose the following type was declared:

Type X is (red, green. blue. purple);

Then the following would be true:

X'ExtendedValue("red") = redX'ExtendedValue(" green") - greenX'Extended Value(" Purple") - purpleX'ExtendedValue(" GreEn ") = green

'Extended Width Attribute

Usage: X'Extended _Width

Returns the width for subtype of X.

For a prefix X that is a discrete type or subtype: this attributeis a function. This attribute yields the maximum image length overall values of tne enumeration type or subtype X.

Parameter Descriptions:

There are no parameters to this function. This functionreturns the width of the largest (width) enumeration literalin the enumeration type specified by X.

Examples:

Suppose the following types were declared:

Type X is (red, green, blue, purple);Type Z is (XI, X12, X123, X1234);

Then the following would be true:

X'Extended Width = 6 -- "purple"Z'Extended-Width = 5 -- "X1234"

B-9

Page 37: Of - DTICU.S.C.#552). The results of this validation apply only to the computers, The results of this validation apply only to the computers, operating systems, and compiler versions

FLOATING POINT ATTRIBUTES

'ExtendedImage Attribute

Usage: X'ExtendedImage(Item. Fore,Aft.Exp,Base.Based)

Returns the image associated with Item as per the Text lo definition.The Text Io definition states that it outputs the value of theparameter Item as a decimal literal with the format defined by theother parameters. If the value is negative then a minus signis included in the integer part of the value of Item. If Expis 0 then the integer part of the output has as many digits asare needed to represent the integer part of the value of Item oris zero if the value of Item has no integer part. (LRM 14.3.8:13,14.3.8:15)

For a prefix X that is a discrete type or subtype; this attributeis a function that may have more than one parameter. The parameterItem must be a Real value. The resulting string iswithout underlines or trailing spaces.

Parameter Descriptions:

Item - The user specifies the item that he wants the image of andpasses it into the function. This parameter is required.

Fore -- The user may specify the minimum number of characters forthe integer part of the decimal representation in thereturn string. This includes a minus sign if thevalue is negative and the base with the '#' if basednotation is specified. If the integer part to be outputhas fewer characters than specified by Fore, then leadingspaces are output first to make up the difference. If noFore is specified then the default (2) value is assumed.

Aft - The user may specify the minimum number of decimal digitsafter the decimal point to accommodate the precision desired.If the delta of the type or subtype is greater than0. 1 then Aft is one. If no Aft is specified then thedefault (X'Digits-1) is -.ssumed. If based notation isspecified the trailing '#' is included in aft.

Exp -- The user may specify the minimum number of digits in theexponent; the exponent consists of a sign and the exponent,possibly with leading zeros. If no Exp is specified thenthe default (3 ) is assumed. If Exp is 0 then no exponentis used.

B-10

Page 38: Of - DTICU.S.C.#552). The results of this validation apply only to the computers, The results of this validation apply only to the computers, operating systems, and compiler versions

Bast -- The user ma% specif. the base that the image is to bedisplayed in. If no base is specified then, the default(10) is assumed.

Based -- The user may specify whether he wants the string returnedto be in based notation or not. If no preference isspecified then the default (false) is assumed.

Examples:

Suppose the following type was declared:

Type X is digits 5 range -10.0 .. 16.0;

Then the following would be true:

X'Extended_Image(5.0) = "5.0000E+00"X'ExtendedImage(5.0,I) - "5.0000E+00"X'Extended_lmage(-5.0,1) -"-5.0000E+00"X'ExtendedImage(5.0.2,0) = " 5.0E+00"X'Extended Image(5.02,0,0) = " 5.0"X'ExtendedImage(5.0.2.00.2) 1"101.0"X'ExtendedImage(5.0.2.0,0,2,True) = "2:i101.0#"X'Extended_mage(5.0.2,2,3.2..True) = "2#1.1#E+02"

'Extended Value Attribute

Usage: X'ExtendedVal ue(ltem)

Returns the value associated with Item as per the Text Io definition.The Text Io definition states that it skips any leading zeros,then reacis a plus or minus sign if present then reads the stringaccording to the syntax of a real literal. The return value isthat which corresponds to the sequence input. (LRM 14.3.8:9,14.3.8:10)

For a prefix X that is a discrete type or subtype; this attributeis a function with a single parameter. The actual parameter Itemmust be of predefined type string. Any leading or trailingspaces in the string X are ignored. In the case where an illegalstring is passed, a CONSTRAINT ERROR is raised.

B-II

Page 39: Of - DTICU.S.C.#552). The results of this validation apply only to the computers, The results of this validation apply only to the computers, operating systems, and compiler versions

Parameter Descriptions:

Item -- The user passes to the function a parameter of thepredefined type string. The type of the returnedvalue is the base type of the input string.

Examples:

Suppose the following type was declared:

Type X is digits 5 range -10.0 .. 16.0;

Then the following would be true:

X'Extended Value("5.0") 5.0X'Extended Value("0.SE 1 ") 5.0X'Extended Value("2#1.01#E2") = 5.0

'Extended _Digits Attribute

Usage: X'Extended Digits(Base)

Returns the number of digits using base in the mantissa of modelnumbers of the subtype X.

Parameter Descriptions:

Base -- The user may specify the base that the subtype isdefined in. If no base is specified then the default(10) is assumed.

Examples:

Sur" e the following type was declared:

Typ X is digits 5 range -10.0 .. 16.0;

Then the following would be true:

X'Extended Digits = 5

B-12

Page 40: Of - DTICU.S.C.#552). The results of this validation apply only to the computers, The results of this validation apply only to the computers, operating systems, and compiler versions

FIXED POINT ATTRIBUTES

'ExtendedImage Attribute

Usage: X'Extended _Image(ltem,Fore,Aft,Exp.BaseBased)

Returns the image associated with Item as per the Text lo definition.The Text Io definition states that it outputs the value of theparameter Item as a decimal literal with the format defined by theother parameters. If the value is negative then a minus signis included in the integer part of the value of Item. If Expis 0 then the integer part of the output has as many digits asare needed to represent the integer part of the value of Item oris zero if the value of Item has no integer part. (LRM 14.3.8:13,14.3.8:15)

For a prefix X that is a discrete type or subtype: this attributeis a function that may have more than one parameter. The parameterItem must be a Real value. The resulting string iswithout underlines or trailing spaces.

Parameter Descriptions:

Item - The user specifies the item that he wants the image of andpasses it into thc function. This parameter is required.

Fore - The user may specify the minimum number of characters forthe integer part of the decimal representation in thereturn string. This includes a minus sign if thevalue is negative and the base with the '#' if basednotation is specified. If the integer part to be outputhas fewer characters than specified by Fore. then leadingspaces are output first to make up the difference. If noFore is specified then the default (2) value is assumed.

Aft -- The user may specify the minimum number of decimal digitsafter the decimal point to accommodate the precision desired.If the delta of the type or subtype is greater than0.1 then Aft is one. If no Aft is specified then thedefault (X'Digits-1) is assumed. If based notation isspecified the trailing '#' is included in aft.

Exp -- The user may specify the minimum number of digits in theexponent: the exponent consists of a sign and the exponent.,possibly with leading zeros. If no Exp is specified thenthe default (3 ) is assumed. If Exp is 0 then no exponentis used.

B-13

Page 41: Of - DTICU.S.C.#552). The results of this validation apply only to the computers, The results of this validation apply only to the computers, operating systems, and compiler versions

Base -- The user may specify the base that the image is to bedisplayed in. If no base is specified then the default(10) is assumed.

Based -- The user ma. specify whether he wants the string returnedto be in based notation or not. If no preference isspecified then the default (false) is assumed.

Examples:

Suppose the following type was declared:

Type X is delta 0.1 range -10.0 .. 17.0;

Then the following would be true:

X'ExtendedImage(5.0) = " 5.00E---00"X'ExtendedImage(5.0,1) "5.OOE-.-00"X'ExtendedImage(-5.0.1) = "-5.00E-00"X'Extended_lmage(5.0.2.0) = " 5.oE--00"X'Extended_lmage(5.0.2.0.0) = " 5.0"X'Extended_lmage(5.0.2.0.0.2) = "101.0"

X'Extended_lmage(5.0,2.0.0.2,True) = " 2 * 101.0#"X'Extended Image(5.0.2,2,3,2.True) = "2# 1.1 # E-02"

'Extended Value Attribute

Usage: X'Ex tended _Value(Image)

Returns the value associated with Item as per the Text Jo definition.The Text lo definition states that it skips any leading zeros.then reads a plus or minus sign if present then read the stringaccording to the syntax of a real literal. The return value isthat which corresponds to the sequence input. (LRM 14.3.8:9,14.3.8:10)

For a prefix X that is a discrete type or subtype; this attributeis a function with a single parameter. The actual parameter Itemmust be of predefined type string. Any leading or trailingspaces in the string X are ignored. In the case where an illegalstring is passed. a CONSTRAINT ERROR is raised.

B-14

Page 42: Of - DTICU.S.C.#552). The results of this validation apply only to the computers, The results of this validation apply only to the computers, operating systems, and compiler versions

Parameter Descriptions:

Image -- The user passes to the funct ion a paranifter of thepredefined type string. The type of the returnedvalue is the base type of the input string.

Examples:

Suppose the following type was declared:

- Type X is delta 0.1 range -10.0 .. 17.0;

Then the following would be true:

X'Extended Value("5.0") = 5.0

X'ExtendedValue("0.5E") 5.0X'ExtendedValue("2#1.01#E2") = 5.0

'ExtendedFore Attribute

Usage: X'Extended_Fore(Base.Based)

Returns the minimum number of characters required for the integerpart of the based representation of X.

Parameter Descriptions:

Base -- The user may specify the base that the subtype would bc.displayed in. If no base is specified then the default(10) is assumed.

Based -- The user may specify whether he wants the string returnedto be in based notation or not. If no preference isspecified then the default (false) is assumed.

B-15

Page 43: Of - DTICU.S.C.#552). The results of this validation apply only to the computers, The results of this validation apply only to the computers, operating systems, and compiler versions

Examples:

Suppose the following type was declared:

Type X is delta 0.1 range -10.0 .. 17.1:

Then the following would be true:

X*Extended Fore = 3 - "-10"X'ExtendedFore(2) = 6 - "10001"

'ExtendedAft Attribute

Usage: X'ExtendedAft(BaseBased)

Returns the minimum number of characters required for the fractionalpart of the based representation of X.

Parameter Descriptions:

Base - The user may specify the base that the subtype would bedisplayed in. If no base is specified then the default(10) is assumed.

Based -- The user may specify whether he wants the string returnedto be in based notation or not. If no preference isspecified then the default (false) is assumed.

Examples:

Suppose the following type was declared:

Type X is delta 0.1 range -10.0 .. 17.1;

Then the following would be true:

X'Extended Aft = 1 -- "1" from 0.1X'ExtendedAft(2) - 4 -- "0001" from 2#0.0001#

B-16

Page 44: Of - DTICU.S.C.#552). The results of this validation apply only to the computers, The results of this validation apply only to the computers, operating systems, and compiler versions

2. Specification o;" Package SYSTEM

PACKAGE System IS

TYPE Address is Access Integer;

TYPE Subprogram Value is PRIVATL;

TYPE Name IS (TELEGEN2);

SysLemName :CONSTANT name := TELEGEN2;

StorageUnit : CONSTANT := 8;MemorySize : CONSTANT:= (2 ** 31) - 1;

- System-Dependent Named Numbers:

Min Int CONSTANT:= -(2 ** 31);

Maxlnt CONSTANT:= (2 ** 31) - 1;

MaxDigits CONSTANT:= 15;Max Mantissa: CONSTANT:= 31:

Fine-Delta : CONSTANT := 1.0 / (2 ** Max-Mantissa);

Tick : CONSTANT := 10.OE-3;

-- Other System-Dependent Declarations

SUBTYPE Priority IS Integer RANGE 0 .. 63;

PRIVATETYPE SubprogramValue IS

RECORDProc addr : Address:Static link : Address:Global frame : Address;

END RECORD:

END System:

B-17

Page 45: Of - DTICU.S.C.#552). The results of this validation apply only to the computers, The results of this validation apply only to the computers, operating systems, and compiler versions

4. Restrictions on Represen:ation Clauses

The Compiler supports the following representatiori clauses:

Length Clauses: for enumeration and derived integer type. 'SIZEattribute (LRM 13.2(a))

Length Clauses: for access types 'STORAGE SIZE attritube (LRMM'.2(b))Length Clauses: for tasks types 'STORAGE SIZE attribute (LRM 13.2(c))Length Clauses: for fixed point types 'SMALL attribute (LRM13.2(d))Enumeration Clauses: for character and enumeration types other than

boolean (LRM 13.3)Record representation Clauses (LRM 13.4) with following constraints:

- Each component of the record must bespecified with a component clause.

- The alignment of the record is restricted tomod 2, word (16 bit)aligned.

- Bits are ordered right to left within a byte.Address Clauses: for objects, entries, and external subprograms

(LRM 13.5(a)(c))

This compiler does NOT support the following representation clauses:

Enumeration Clauses: for boolean (LRM 13.3)

Address Clauses for packages, task units, or non-external Adasubprograms (LRM 13.5(b))

5. Implementation dependent naming conventions

There are no implementation-generated names denotingimplementation dependent components.

6. Interpretation of Expressions in Address Clause

Expressions that appear in address specifications are interpretedas the first storage unit of the object.

B-18

Page 46: Of - DTICU.S.C.#552). The results of this validation apply only to the computers, The results of this validation apply only to the computers, operating systems, and compiler versions

7. Restrictions on Unchecked Conversions

Unchecked conversions are allowed between any types or subtypes unlessthe target type is an unconstrained record or array type.

8. 1/0 Package Characteristics

Sequential 10 and Direct10 cannot be instantiated forunconstrained array types or unconstrained types with discriminantswithout default values.

In TEXT_10 the type COUNT is defined as follows:

type COUNT is range 0 .. 2_147483_646;

In TEXT_10 the subtype FIELD is defined as follows:

subtype FIELD is INTEGER range 0..1000;

In TEXT_10, the Form parameter of procedures Create and Open is notsupported. (If you supply a Form parameter with either procedure, itis ignored.)

B- 19

Page 47: Of - DTICU.S.C.#552). The results of this validation apply only to the computers, The results of this validation apply only to the computers, operating systems, and compiler versions

APPENDIX C

TEST PARAMETERS

Certain tests in the ACVC make use of implementation-dependent values, suchas the maximum length of an input line and invalid file names. A test thatmakes 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 namesbefore the test is run. The values used for this validation are givenbelow.

Name and Meaning Value

$ACC SIZE 32An integer literal whose valueis the number of bits sufficientto hold any value of an accesstype.

$BIGIDI (1..199 => 'A', 200 => '1')An identifier the size of themaximum input line length whichis identical to $BIG ID2 exceptfor the last character.

$BIG ID2 (1..199 => 'A', 200 => '2')An identifier the size of themaximum input line length whichis identical to $BIG ID1 exceptfor the last character.

$BIGID3 (1..99 => 'A', 100 => '3',An identifier the size of the 101..200 => 'A')maximum input line length whichis identical to SBIGID4 exceptfor a character near the middle.

C-i

Page 48: Of - DTICU.S.C.#552). The results of this validation apply only to the computers, The results of this validation apply only to the computers, operating systems, and compiler versions

TEST PARAMETERS

Name and Meaning Value

$BIG ID4 (1.99 => 'A' 100 ,An identifier the size of the 101..200 => 'A')maximum input line length whichis identical to $BIG_1D3 exceptfor a character near the middle.

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

$BIG REALLIT (1..195 => '0', 196..200 => "690.0")A universal real literal ofvalue 690.0 with enough leadingzeroes to be the size of themaximum line length.

$BIG STRINGI (1 => '"', 2-101 => 'A', 102 => "')A string literal which whencatenated with BIG STRING2yields the image of BIGIDI.

$BIG.STRING2 (1 => '"',2..100 => 'A',101 => '1',A string literal which when 102 => "')catenated to the end ofBIG STRING1 yields the image ofBIGID.

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

$COUNTLAST 2147483646A universal integerliteral whose value isTEXTIO.COUNT'LAST.

$DEFAULT MEM SIZE 2147483647An integer literal whose valueis SYSTEM.MEMORY SIZE.

$DEFAULT STOR UNIT 8An integer literal whose valueis SYSTEM.STORAGEUNIT.

C-2

Page 49: Of - DTICU.S.C.#552). The results of this validation apply only to the computers, The results of this validation apply only to the computers, operating systems, and compiler versions

TEST PARAMETERS

Name and Meaning Value

$DEFAULT SYS NAME TELEGEN2The value of the constantSYSTEM. SYSTEMNAME.

$DELTADOC 2#1 .0#E-31A real literal whose value isSYSTEM. FINEDELTA.

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

$FIXED NAME NO SUCH TYPEThe name of a predefinedfixed-point type other thanDURATION.

$FLOATNAME NO SUCH TYPEThe name of a predefinedfloating-point type other thanFLOAT, SHORTFLOAT, orLONGFLOAT.

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

$GREATER THANDURATIONBASELAST 131073.0A universal real literal that isgreater than DURATION'BASE'LAST.

$HIGH PRIORITY 63An integer literal whose valueis the upper bound of the rangefor the subtype SYSTEM.PRIORITY.

$ILLEGAL EXTERNAL FILE NAME1 "BADCHAR*'/%"An external file name whichcontains invalid characters.

$ILLEGAL EXTERNALFILE NAME2 "/NONAME/DIRECTORY"An external file name whichis too long.

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

C-3

Page 50: Of - DTICU.S.C.#552). The results of this validation apply only to the computers, The results of this validation apply only to the computers, operating systems, and compiler versions

TEST PARAMETERS

Name and Meaninc Value

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

$INTEGER LASTPLUS_1 32768A universal integer literalwhose value is INTEGER'LAST + 1.

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

$LESSTHANDURATIONBASEFIRST -131073.0A universal real literal that isless than DURATION'BASE'FIRST.

$LOWPRIORITY 0An integer literal whose valueis the lower bound of the rangefor the subtype SYSTEM.PRIORITY.

$MANTISSADOC 31An integer literal whose valueis SYSTEM.MAXMANTISSA.

$MAXDIGITS 15Maximum digits supported forfloating-point types.

$MAXINLEN 200Maximum input line lengthpermitted by the implementation.

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

$MAXINT PLUS 1 2147483648A universal integer literalwhose value is SYSTEM.MAX INT+1.

$MAXLEN INT BASED LITERAL (1..2 => "2:",3..197 => '0',A universal integer based 198..200 => "11:")literal whose value is 2#11#with enough leading zeroes inthe mantissa to be MAX IN LENlong.

C-4

Page 51: Of - DTICU.S.C.#552). The results of this validation apply only to the computers, The results of this validation apply only to the computers, operating systems, and compiler versions

TEST PARAMETERS

Name and Meaning Value

$MAX LEN REAL BASEDLITERAL (1..3 => "16:",4._196 => '0',

A universal real based literal 197..200 => "F.E:")whose value is 16:F.E: withenough leading zeroes in themantissa to be MAX IN LEN long.

$MAXSTRING LITERAL (1 > '"', 2..199 => 'A', 200 > '"')

A string literal of sizeMAX IN LEN, including the quotecharacters.

$MIN INT -214"7483648A universal integer literalwhose value is SYSTEM.MININT.

$MINTASK SIZE 32An integer literal whose valueis the number of bits requiredto hold a task object which hasno entries, no declarations, and

"NULL;" as the only statement in

its body.

$NAME NOSUCHTYPEA name of a predefined numerictype other than FLOAT, INTEGER,SHORT FLOAT, SHORTINTEGER,LONG FLOAT, or LONGINTEGER.

$NAME LIST TELEGEN2A list of enumeration literalsin the type SYSTEM.NAME,separated by commas.

$NEG BASED INT 16#FFFFFFFE#A based integer literal whosehighest order nonzero bit

falls in the sign bit

position of the representationfor SYSTE4.MAX INT.

$NEW MEM SIZE 2147483647An integer literal whose valueis a permitted argument forpragma MEMORY SIZE, other than$DEFAULT MEM SIZE. If there isno other value, then use$DEFAULT_EM _SIZE.

C-5

Page 52: Of - DTICU.S.C.#552). The results of this validation apply only to the computers, The results of this validation apply only to the computers, operating systems, and compiler versions

TEST PARAMETERS

Name and Meaning Value

$NEW STOP UNIT 8An integer literal whose valueis a permitted argument forpragma STORAGEUNIT, other than$DEFAULT_STOR_UNIT. If there isno other permitted value, thenuse value of SYSTEM.STORAGEUNIT.

$NEW SYS NAME TELEGEN2A value of the type SYSTEM.NAME,other than $DEFAULT SYSNAME. Ifthere is only one value of thattype, then use that value.

$TASKSIZE 32An integer literal whose valueis the number of bits requiredto hold a task object which hasa single entry with one 'IN OUT'parameter.

$TICK 0.01A real literal whose value isSYSTEM. TICK.

C-6

Page 53: Of - DTICU.S.C.#552). The results of this validation apply only to the computers, The results of this validation apply only to the computers, operating systems, and compiler versions

APPENDIX D

WITHDRAWN TESTS

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

a. E28005C: This test expects thvt the string "-- TOP OF PAGE. --63" ofline 204 will appear at the top of the listing page due to a pragmaPAGE in line 203; but line 203 contains text that follows the pragma,and it is this text that must appear at the top of the page.

b. A39005G: This test unreasonably expects a component clause to pack anarray component into a minimum size (line 30).

c. B97102E: This test contains an unintended illegality: a selectstatement contains a null statement at the place of a selective waitalternative (line 31).

d. BC3009B: This test wrongly expects that circular instantiations willbe detected in several compilation units even though none of the unitsis illegal with respect to the units it depends on; by AI-00256, theillegality need not be detected until execution is attempted (line95).

e. CD2A62D: This test wrongly requires that an array object's size be nogreater than 10 although its subtype's size was specified to be 40(line 137).

f. CD2A63A..D, CD2A66A..D, CD2A73A..D, and CD2A76A..D (16 tests): Thesetests wrongly attempt to check the size of objects of a derived type(for which a 'SIZE length clause is given) by passing them to aderived subprogram (which implicitly converts them to the parent type(Ada standard 3.4:14)). Additionally, they use the 'SIZE lengthclause and attribute, whose interpretation is considered problematicby the WG9 ARG.

D-1

Page 54: Of - DTICU.S.C.#552). The results of this validation apply only to the computers, The results of this validation apply only to the computers, operating systems, and compiler versions

WITHDRAWN TESTS

g. CD2A81G, CD2AB3G, CD2A84M..N, and CD50110 (5 tests): Tnese testsassume that dependent tasks will terminate while the main programexecutes a loop that simply tests for task termination; this is notthe case, and the main program may loop indefinitely (lines 7L, 85,86, 96, and 58, respectively).

h. CD2B15C and CD7205C: These tests expect that a 'STORAGE SIZE lengthclause provides precise control over the number of designated orjectsin a collection; the Ada standard 13.2:15 allows tnat such controlmust not be expected.

t i. CD2D11B: This test gives a SMALL representation clause for a derivedfixed-point type (at line 30) that defines a set of model numbers thatare not necessarily represented in the parent type; by CommentaryAI-00099, all model numbers of a derived fixed-point type must berepresentable values of the parent type.

J. CD5007B: This test wrongly expects an implicitly declared subprogramto be at the address that is specified for an unrelated subprogram(line 303).

k. ED7004B, ED7005C..D, and ED7OO6C..D (5 tests): These tests checkvarious aspects of the use of the three SYSTEM pragmas; the AVOwithdraws these tests as being inappropriate for validation.

1. CD7105A: This test requires that successive calls to CALENDAR.CLOCKchange by at least SYSTEM.TICK; however, by Commentary AI-00201, it isonly the expected frequency of change that must be at leastSYSTEM.TICK--particular instances of change may be less (line 29).

m. CD7203B and CD7204B: These tests use the 'SIZE length clause andattribute, whose interpretation is considered problematic by the WG9ARG.

n. CD7205D: This test checks an invalid test objective: it treats thespecification of storage to be reserved for a task's activation asthough it were like the specification of storage for a collection.

o. CE2107I: This test requires that objects of two similar scalar typesbe distinguished when read from a file--DATA ERROR is expected to beraised by an attempt to read one object as of the other type.However, it is not clear exactly how the Ada standard 14.2.4:4 is tobe interpreted; thus, this test objective is not considered valid(line 90).

p. CE3111C: This test requires certain behavior, when two files areassociated with the same external file, that is not required by theAda standard.

q. CE3301A: This test contains several calls to END OF LINE -'ndENDOFPAGE that have no parameter: these calls were intended tospecify a file, not to refer to STANDARDINPUT (lines 103, 107, 118,

D-2

Page 55: Of - DTICU.S.C.#552). The results of this validation apply only to the computers, The results of this validation apply only to the computers, operating systems, and compiler versions

WITHDRAWN TESTS

132, and 136).

r. CE31 11B: This test requires that a text file's column number be set toCOUNT'LAST in order to check that LAYOUTERROR is raised by asubsequent PUT operation. But the former operation will generallyraise an exception due to a lack of available disk space, and the testwould thus encumber validation testing.

D-3