+ All Categories
Home > Documents > M M, (? - Defense Technical Information Center. At ST A: I (Contomwe on re cefi s'Ut If ftcr8Azu'j...

M M, (? - Defense Technical Information Center. At ST A: I (Contomwe on re cefi s'Ut If ftcr8Azu'j...

Date post: 10-Mar-2018
Category:
Upload: trankiet
View: 216 times
Download: 2 times
Share this document with a friend
56
~q~fit.F M_ M, AD-A21I 625 (? ION PAGE *,~,~~ 12. - 160 ACCESSIk j B AI F I E it'' S C*A A. ju Mda C onzl 2er v a Id a tion surrmary Re por t: Cray 23 Mav -1989 to 23 May 198P Research, Inc., Cray Ada Compiler, Version 1.1, Cra%-2, (Host E Target), 890523W1.10081e. m~-* -rWrt±'tattersc;.n A7L Davton, OK, USA 9, PiRFOft'1hC OwAh;ZA~j0% Ah: ADDALSS 10 R&~ ~W.&L 1AS.L Wright-Patterson AFB Dav'tor., OH, LISA 11. CO%"90.Lh O'1CE im b A h ADDRESS 12. miPz;; DO E Ada Joint Program Office Un~ited StatesCDe artient of Defense :3. 6j ,LI Utp ! Washington, DC 2 , 301-30BI 14. *CQ4;0A~k A Ih.Y hA64. & fromS(Io COnroing OftvCe) 25. SL::.111' CAss (o'?P~srepooij UNCLASSIFIED Wrig'-ht-Patterson AFB 1* a'I&5o, D.:h Dayton, OH, LISAI hN/ App:coved fc: pu.blic release; distribu.tion ur.2ir~ited. DTICI it. h:7ESS AUG2 1989 K'§ Ada Procra:-..ig lancuage, Ada Compiler Validation SL~m-ary Rep:-rt, Ad4a Conpiler Validation Capability, ACVC, Vaidation Testing, Ada Validation Office, AVO, Ada Validation Facility, AVF, ANSi'/Mi.L-S'D1) 1SISA, Ada Joint Prograr. Office, AJP0 2C. At ST A: I (Contomwe on re cefi s'Ut If ftcr8Azu'j &no od,'M1P b, block numwb# r) Cray Research, Inc., Cray Ada Compiler, Version 1.1, Wright-Patterson AFB, Cray-2 under UNICOS Release 5.0 (Host & Target), ACVC. 1.10. DD 2 473 aID311DI OF I . 6 IS OSI I JAM 73 U/scv-Pc's2INCLASSIFIEI) scu&:~~~~'rO 110Gi~S PAI(.D fI[r'
Transcript

~q~fit.F M_ M,AD-A21I 625 (?ION PAGE *,~,~~

12. - 160 ACCESSIk j B AI F I E it'' S C*A A. ju

Mda C onzl 2er v a Id a tion surrmary Re por t: Cray 23 Mav -1989 to 23 May 198PResearch, Inc., Cray Ada Compiler, Version 1.1, Cra%-2,

(Host E Target), 890523W1.10081e. m~-*

-rWrt±'tattersc;.n A7LDavton, OK, USA

9, PiRFOft'1hC OwAh;ZA~j0% Ah: ADDALSS 10 R&~ ~W.&L 1AS.L

Wright-Patterson AFBDav'tor., OH, LISA

11. CO%"90.Lh O'1CE im b A h ADDRESS 12. miPz;; DO EAda Joint Program OfficeUn~ited StatesCDe artient of Defense :3. 6j ,LI Utp !Washington, DC 2 , 301-30BI

14. *CQ4;0A~k A Ih.Y hA64. & fromS(Io COnroing OftvCe) 25. SL::.111' CAss (o'?P~srepooij

UNCLASSIFIEDWrig'-ht-Patterson AFB 1* a'I&5o, D.:hDayton, OH, LISAI

hN/

App:coved fc: pu.blic release; distribu.tion ur.2ir~ited.

DTICIit. h:7ESS AUG2 1989 K'§

Ada Procra:-..ig lancuage, Ada Compiler Validation SL~m-ary Rep:-rt, Ad4aConpiler Validation Capability, ACVC, Vaidation Testing, AdaValidation Office, AVO, Ada Validation Facility, AVF, ANSi'/Mi.L-S'D1)1SISA, Ada Joint Prograr. Office, AJP0

2C. At ST A: I (Contomwe on re cefi s'Ut If ftcr8Azu'j &no od,'M1P b, block numwb# r)

Cray Research, Inc., Cray Ada Compiler, Version 1.1, Wright-Patterson AFB, Cray-2 underUNICOS Release 5.0 (Host & Target), ACVC. 1.10.

DD 2 473 aID311DI OF I . 6 IS OSII JAM 73 U/scv-Pc's2INCLASSIFIEI)

scu&:~~~~'rO 110Gi~S PAI(.D fI[r'

AVF Control Number: AVF-VSR- -,4.078989-02-23-TEL

Ada COMPILERVALIDATION SUMMARY REPORT:

Certificate Number: 890523W1.10081Cray Research, Inc.

Cray Ada Compiler, Version 1.1Cray-2

Completion of On-Site Testing:23 May 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

Ada Compiler Validation Summary Report:

Compiler Name: Cray Ada Compiler, Version 1.1

Certificate Number: 890523W1.10081

Host: Cray-2 underUNICOS Release 5.0'

Target: Cray-2 underUNICOS Release 5.0

Testing Completed 23 May 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

-77

Ada alidation Organization6r. John F. KramerInstitute for Defense AnalysesAlexandria VA 22311

Ad-a Joint P~-aiOfcSPODr. John Solomond LJ)J .4,DirectorDepartment of Defense Accession ForWashington DC 20301 T--

DT:( TAB []

D(.,trlbutlon/ _

AvallIlaliity Codes

!Avail and/orDist S;ocla1

fV"

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 DEPINITION 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-i3.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-73.7.1 Prevalidation ...... ................. .. 3-73.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

CHAPTER 1

INTRODUCTION

This Validation Summary Report -4-V iescribes 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-.elting this compiler using the Ada CompilerValidation Capability (ACC)>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 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-1

m mnnu m nn nn| mNIINNIPM-

INTRODUCTION

1.1 PURPOSE OF THIS VALIDATION SUMMARY REPORT

This VSR documents the results of the validation testing performed on an

Ada 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 23 May 1989 at Mendota Heights MN.

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

INTRODUCTION

Ouestions 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

I. Reference Manual for the Ada Programming Language,ANSI/MIL-STD-1-85A-,Feruary 1983 and ISO 8632-1987.

2. Ada Compiler Validation Procedures and Guidelines, Ada JointProgramffice, 1 January T87.

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

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

INTRODUCTION

cross-compilers, translators, and interpreters.

Failed test An ACVC test for which the compiler generates a result that

demonstrates nonconformity to the Aca 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

INTRODUCTION

illegal construct that it contains is detected by the compiler.

Class C tests check the run time system to ensure that legal Ada programs

can be correctly compiled and executed. Each Class C test is self-checking

and produces a PASSED, FAILED, 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 identifiers

permitted 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 chc:!: that incomplete or illegal Ada programs involvingmultiple, 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 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 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 va],,es, andplace features that may not be supported by all implementations in separate

1-5

INTRODUCTION

tests. However, some tests contain values that require the test to becustomized according to implementation-specific values--for example, anillegal file name. A list of the values used for this validation isprovided in Appendix C.

A compiler must ccrrectly process each of the tests in the suite anddemonstrate conformi:y 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 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

CHAPTER 2

CONFIGURATION INFORMATION

2.1 CONFIGURATION TESTED

The candidate compilation system for this validation was tested under the

following configuration:

Compiler: Cray Ada Compiler, Version 1.1

ACVC Version: 1.10

Certificate Number: 890523WI.10081

Host Computer:

Machine: Cray-2

Operating System: UNICOSRelease 5.0

Memory Size: 64 Megawords

Target Computer:

Machine: Cray-2

Operating System: UNICOSRelease 5.0

Memory Size: 64 Megawords

2-I

CONFIGURATION INFORMATION

2.2 IMPLEMENTATION CHARACTERISTICS

One of the purposes of validating compilers is to determine the behavior of

a 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 animplementLtion. 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 Pubunits nested to 17levels. (See tests D64005E..G (3 tests).)

b. Predefined types.

(1) There are no additional predefined types in package STANDARD.(See tests B86001T..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) Assignments for subtypes are performed with the same precisionas the base type. (See test C35712B.)

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

2-2

CONFIGURATION INFORMATION

(4) Sometimes NUMERIC ERROR is raised when an integer literaloperand in a comparison or membership test is outside therange of the base type. (See test C45232A.)

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

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

d. Rounding.

The method by which values are rounded in type conversions is notdefined 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 away fromzero. (See tests C46012A..Z.)

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

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

e. 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 this implementation:

(1) Declaration of an array type or subtype declaration with morethan SYSTEM.MAXINT components raises no exception. (See testC36003A.)

(2) NUMERIC ERROR is raised when a null array type withINTEGER7LAST + 2 components is declared. (See test C36202A.)

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

(4) A packed BOOLEAN array having a 'LENGTH exceeding INTEGER'LASTraises NUMERIC ERROR when the array type is declared. (Seetest C52103X.)

2-3

CONFIGURATION INFORMATION

(5) A packed two-dimensional BOOLEAN array with more thanINTEGER'LAST components raises NUMERICERROR when the arraytype is declared. (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 NUMERIC ERROR when the array type is declared. (Seetest 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 CONSTRAINT 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 not supported for functions orprocedures. (See tests LA3004A..B, EA3004C..D, andCA3004E..F.)

2-4

CONFIGURATION INFORMAT=:N

i. Generics

C!) If a generic unit body or one of its subunits is compiled orrecompiled after the generic unit is instantiated, 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 EE2'01G.)

(3) Modes INFILE and OUTFILE are supported for SEQUENTIAL_10.(See tests CE2102D..E, CE2102N, and CE2102P.)

(4) Modes INFILE, OUT FILE, and INOUT FILE are supported forDIRECTIO. (See tests CE2102F, CE2102I..J, CE2102R, CE2102T,and CE21O2V.)

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

(6) RESET and DELETE operations are supported for SEQUENTIAL_10.

(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 deleted

when closed. (See test CE2108A.)

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

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

(13) More than one internal file can be associated with each

2-5

CONFIGURATION INFORMATION

exte-nal file for sequential files when reading only. (Seetests CE210 7A..E, CE2102L, CE2110B, and CE2111D.)

' 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.)

(' Mre than one internal file can be associated with eachexternal file for text files when reading only. (See tests

CE3111A..E, CE3114B, and CE3115A.)

2-6

CHAPTER 3

TEST INFORMATION

3.1 TEST RESULTS -

Version 1.10 of the ACVC comprises 3717 tests. When this compiler wastested, 44 tests had been withdrawn because of test errors. The AVFdetermined that 392 tests were inapplicable to this implementation. Allinapplicable tests were processed during validation testing except for 229executable tests that use floating-point precision exceeding that supportedby the implementation . Modifications to the code, processing, or gradingfor ten tests were required to successfully demonstrate the test objective.(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 127 1125 1946 17 22 44 3281

Inapplicable 2 13 369 0 6 2 392

Withdrawn 1 2 35 0 6 0 44

TOTAL 130 1140 2350 17 34 46 3717

3-1

TEST INFORMATION

3.3 SUMMARY OF TEST RESULTS BY CHAPTER

RESULT CHAPTER TOTAL

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

Passed 196 562 517 242 172 99 158 332 129 36 250 310 278 3281

Inappl 16 87 163 6 0 0 8 0 8 0 2 59 43 392

Wdrn 1 1 0 0 0 0 0 2 0 0 1 35 4 44

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

3.4 WITHDRAWN TESTS

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

E28005C A39005G B97102E C97116A BC3009B CD2A62DCD2A63A CD2A63B CD2A63C CD2A63D CD2A66A CD2A66BCD2A66C CD2A66D CD2A73A CD2A73B CD2A73C CD2A73DCD2A76A CD2A76B CD2A76C CD2A76D CD2A81G CD2A83GCD2A84M CD2A84N CD2B15C CD2D11B CD5007B CD50110ED7004B ED7005C ED7005D ED7006C ED7006D CD7105ACD7203B CD7204B CD7205C CD7205D CE2107I CE3111CCE3301A CE3411B

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, 392 tests were inapplicable for the reasons indicated:

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

C24113J..Y C35705J..Y C35706J..Y C35707J..YC35708J..Y C35802J..Z C45241J..Y C45321J..YC45421J..Y C45521J..Z C45524J..Z C45621J..ZC45641J..Y C46012J..Z

3-2

TEST INFORMATION

b. C35508I, C35508J, C35508M, and C35508N are not applicable because theyinclude enumeration representation clauses for BOOLEAN types in which

the representation values are other than (FALSE => 0, TRUE .> 1).

Under the terms of AI-00325, this implementation is not required to

support such representation clauses.

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

d. C35702B and B8600IU are not applicable because this implementationsupports no predefined type LONGFLOAT.

e. 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 C55BO7B B55BO9D B86001VCD7101E

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

C45231C C45304C C45502C C45503C C45504CC45504F C45611C C45613C C45614C C45631CC45632C B52004D C55B07A B55B09C B86001WCD7101F

g. C45231D, B86001X, and CD71OIG are not applicable because thisimplementation does not support any predefined integer type with a nameother than INTEGER, LONGINTEGER, or SHORTINTEGER.

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

i. C86001F is not applicable because, for this implementation, the packageTEXT 10 is dependent upon package SYSTEM. These tests recompilepackage SYSTEM, making package TEXT_IO, and hence package REPORT,obsolete.

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

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

1. CA2009C, CA2009F, BC3204C, and BC3205D are not applicable because thisimplementation does not support separate compilation of generic

specifications, bodies, and subunits, if an instantiation is givenbefore compilation of its bodies or subunits. The created dependencyis detected at bind time.

3-3

TEST INFORMATION

m. LA3004A, LA3004B, EA3004C, EA3004D, CA3004E, and CA3004F are notapplicable because this implementation does not support pragma INLINE.

n. CD1009C, CD2A4lA..B (2 tests), CD2A4lE, and CD2A42A..J (10 tests) arenot applicable because this implementation does not support sizeclauses for floating point types.

o. CD1CO4E is not applicable because this implementation does not supportthe crossing of a word boundary.

p. CD2A31A..B (2 tests), CD2A31D, CD2A32A..D (4 tests), and CD2A32I arenot applicable because this implementation does not support lengthclauses for signed integers.

q. CD2A51A..B (2 tests), CD2A51D..E (2 tests), CD2A52A..D (4 tests),CD2A521, CD2A53A..B (2 tests), CD2A53D..E (2 tests), CD2A54A..D (4tests), and CD2A54I are not applicable because this implementation doesnot support size clauses for fixed point types.

r. 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. Thisimplementation requires an explicit size clause on the component type.

s. CD2A61F and CD2A61H are not applicable because this implementation doesnot support size clauses for array types, which imply compression, withcomponent types of enumeration types.

t. CD2A84B..I (8 tests) and CD2A84K..L (2 tests) are not applicablebecause this implementation does not support length clauses for accesstypes unless the specified size is 64 bits.

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

v. AE2101C, EE2201D, and EE2201E use instantiations of packageSEQUENTIAL 10 with unconstrained array types and record types withdiscriminants without defaults. These instantiations are rejected bythis compiler.

w. AE21OlH, EE2401D, and EE2401G use instantiations of package DIRECT 10with unconstrained array types and record types with discriminantswithout defaults. These instantiations are rejected by this compiler.

x. CE2102D is inapplicable because this implementation supports CREATEwith INFILE mode for SEQUENTIAL IO.

y. CE2102E is inapplicable because this implementation -,,pprts CREATEwith OUTFILE mode for SEOUENTIAL IO.

z. CE2102F is inapplicable because this implementation supports CREATEwith INOUTFILE mode for DIRECT IO.

3-4

TEST INFORMATION

aa. CE2102I is inapplicable because this implementation supports CREATEwith INFILE mode for DIRECT I0.

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

ac. CE2102N is inapplicable because this implementation supports OPEN with

IN FILE mode for SEOUENTIALIO.

ad. CE21020 is inapplicable because this implementation supports RESET withIN FILE mode for SEOUENTIALIO.

ae. CE2102P is inapplicable because this implementation supports OPEN withOUTFILE mode for SEQUENTIAL_10.

af. CE2102Q is inapplicable because this implementation supports RESET withOUTFILE mode for SEQUENTIALIO.

ag. CE2102R is inapplicable because this implementation supports OPEN withINOUTFILE mode for DIRECT IO.

ah. CE2102S is inapplicable because this implementation supports RESET withINOUT FILE mode for DIRECT IO.

ai. CE2102T is inapplicable because this implementation supports OPEN withINFILE mode for DIRECT_10.

aj. CE2102U is inapplicable because this implementation supports RESET withINFILE mode for DIRECTIO.

ak. CE2102V is inapplicable because this implementation supports open withOUTFILE mode for DIRECT IO.

al. CE2102W is inapplicable because this implementation supports RESET withOUTFILE mode for DIRECTIO.

am. CE21O7B..E (4 tests), CE2107L, CE2110B and CE2111D are not applicablebecause multiple internal files cannot be associated with the sameexternal file when one or more files is writing for sequential files.The proper exception is raised when multiple access is attempted.

an. 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 properexception is raised when multiple access is attempted.

ao. CE3102E is inapplicable because this implementation supports CREATEwith INFILE mode for text files.

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

aq. CE3102G is inapplicable because this implementation supports deletion

3-5

TEST INFORMATION

of an external file for text files.

ar. CE31021 is inapplicable because this implementation supports CREATEwith OUTFILE mode for text files.

as. CE3102J is inapplicable because this implementation supportE OPEN withIN FILE mode for text files. &I

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

au. 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.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 ten 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 and C34006D required evaluation modifications because the tests includesome comparisons that use the 'SIZE attribute under assumptions that are notfully supported by the Ada Standard and are subject to ARG review. Thus, theAVO ruled that an implementation is considered to have passed these tests if theonly REPORT.FAILED output is because of various 'SIZE checks. Thisimplementation produced the messages "INCOPECT TYPE'SIZE", "INCORRECTOBJECT'SIZE, and "INCORRECT 'BASE'SIZE" for C34005G and the message "INCORRECTTYPE'SIZE" for C34006D.

C52008B required modification because this implementation does not support arecored type with four discriminants of type integer having default values. Thesize of this object exceeds the maximum object size of this implementation andNUMERIC ERROR is raised. At the recommendation of the AVO, the test wasmodifieg to constrain the size of the REC2 discriminants' subtype. The

3-6

TEST INFORMATION

modification introduced a subtype "SUBTYPE S INTEGER IS INTEGER RANGE 0..127",and modified 'INTEGER' to 'SINTEGER'. This modified version of the testexecutes and reports PASSED.

CE3804G required evaluation modification because it requires that the rtr4ng"-3.525", when read from a text file using FLOAT 10, be equal to the litera:'3.523'. However, because -3.525 is not a model number of the declared type,the test for equality may legitimately fail, yielding the FAILED message "WIDTHCHARACTER NOT READ - FLOAT 3". Thus, the AVO ruled that an implementation isconsidered to have passed this test if the result is FAILED and the only failuremessage is the above-quoted message. This implemenation meets these tworequirements for CE3804G, and the test is passed.

3.7 ADDITIONAL TESTING INFORMATION

3.7.1 Prevalidation

Prior to validation, a set of test results for ACVC Version 1.10 produced by theCray Ada Compiler was submitted to the AVF by the applicant for review.Analysis of these results demonstrated that the compiler successfully passed allapplicable tests, and the compiler exhibited the expected behavior on allinapplicable tests.

3.7.2 Test Method

Testing of the Cray Ada Compiler using ACVC Version 1.10 was conducted on-siteby a validation team from the AVF. The configuration in which the testing wasperformed is described by the following designations of hardware and softwarecomponents:

Host computer: Cray-2Host operating system: UNICOS Release 5.0Target computer: Cray-2Target operating system: UNICOS Release 5.0Compiler: Cray Ada Compiler, Version 1.1

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 read from the tape to a front-end machine(Sun 3/280) using the UNIX tar command across a network. During the testingprocess, each source file was read from the front-end machine to the hostcomputer where it was compiled, linked, and all executable tests run. Theresults were then transferred back to the Sun front-end machine where they werethen printed via a network printer interface.

3-7

TEST INFORMATION

The compiler was tested using command scripts provided by Cray Research, Inc.and reviewed by the validation team. The compiler was tested using all defaultoption settings except for the following:

OPTION EFFECT

-v Output verbose progress messages. (All tests)-L Generate interspersed source-error listing.

(B, E, and L tests only)-m Produce executable code for <main unit>.

(A, C, D, E, and L tests only)

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.3 Test Site

Testing was conducted at Mendota Heights MN and was completed on 23 May 1989.

3-8

APPENDIX A

DECLARATION OF CONFORMANCE

Cray Research, Inc. has submitted the following Declarationof Conformance concerning the Cray Ada Compiler.

A-i

DECLARATION OF CONFORMANCE

Compiler Implementor: TeieSoft, Inc.Ada Validation Facility: ASD/SCEL, Wricht-Patterson AFB, OH 45433-6503Ada Compiler Validation Capability (ACVC), Version 1.10

Base Configuration

Base Compiler Name: Cray Ada CompilerCompiler Version: 1.1

Host Architecture ISA: CRAY-2OS & Version#: UNICOS Release 5.0

Target Architecture ISA: CRAY-2OS & Version#: UNICOS Release 5.0

Derived Compiler Registration

Derived Compiler Name: Cray Ada CompilerCompiler Version: 1.1

Host Architecture ISA: CRAY-2OS and Version #: UNICOS Release 4.0

Target Architecture ISA: CRAY-2OS and Version #: UNICOS Release 4.0

Implementor's Declaration

I, the undersigned, representing TELESOFT, have implemented nodeliberate extensions to the Ada Language Standard ANSI/MIL-STD-1815Ain the compiler(s) listed in this declaration. I declare that CrayResearch, Inc. is TeleSoft's licensee of the Ada language compiler(s:listed above and, as such, is responsible for maintaining saidcompiler(s) in conformance to ANSI/MIL-STD-1815A. All certificatesand registrations for Ada language compiler(s) listed in thisdeclaration shall be made only in the licensee's corporate name.

/J'r 4 A. Zb1~x') Date: J71.vw\ ~3ITELESOFT (9Raymond A. Parra, General CounselDirector, Contracts

A-2

Licensee's Declaration

I, the undersigned, representing Cray Research, Inc. take fullresponsibility for implementation and maintenance of the Adacompiler(s) listed above, and agree to the public disclosure of thefinal Validation Summary Report. I declare that all of tht Adalanguage compiler(s) listed, and their host/target performancearE in compliance with the Ada Language Standard ANSI/MIL-STD-!S15A.

___ __ __ ___ __ __ ___ __ __ __Dateiw3

/Cray Researc , Inc. Vl Bruce White

Ada Project Manager

A-3

APPENDIX B

APPENDIX F OF THE Ada STANDARD

The only alloyed 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 Cray Ada Compiler, Version 1.1, as described in thisAppendix, are provided by TELESOFT. Unless specifically noted otherwise,references in this Appendix are to compiler documentation and not to thisreport. Implementation-specific portions of the package STANDARD, whichare not a part of Appendix F, are:

package STANDARD is

type INTEGER is range -35184372088832 .. 35184372088831;

type FLOAT is digits 13 range -6.52530E-55 .. 1.53249E+54;

type DURATION is delta 2#I1.0#E-14 range -86400 .. 86400;

end STANDARD;

B-1

APPENDIX F

1. Implementation Dependent Pragmas

pragma COMMENT(<string_literal>);It may only appear within a compilation unit.The pragma comment has the effect of embedding the givensequence of characters in the object code of the compilation unit.

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

pragma INTERRUPT(FunctionMapping);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 IMAG ES(<enumerationtype>,Deferred) orpragma IMAGES (< enumerationtype >,Immediate);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 generated 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 SUPPRESS ALL;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

2. Implementation Dependent Attributes

INTEGER ATTRIBUTES

'ExtendedImage Attribute

Usage: X'ExtendedImage(Item, WidthBase,Based.SpaceIF Positive)

Returns the image associated with Item as per the TextJo definition.

The Text Io 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

Parameter Descriptions:

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

Width - The user may specify the minimum number ofcharacters 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 displayed 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.

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 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) -"5"

X'ExtendedImage(5,0) "5"X'ExtendedImage(5,2) t " 5"X'ExtendedImage(5.0,2) "101"X'ExtendedImage(5,4,2) i "101"X'Extended Image(5,0,2,True) = "2#101#"X'ExtendedImage(5,0.10,False) = "5"X'ExtendedLmage(5,0,10,FalseTrue) = " 5"X'Extended_Image(- 1,0,10,False.False) = "-1"X'Extended_Image(- 1,0.10,False,True) = "-1"X'ExtendedImage(- 1,1,10,False.True) i"-1"X'Extended Image(- 1,0,2.True,True) = "-2# 1 #"X'Extended Image(- 1,10,2,True,True) - " -2#1#"

B-4

'Extended Value 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 vaue 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("2#01#") = 5X'Extended Value("-1") = -1X'ExtendedValue(" -1") = -1

B-5

'ExtendedWidth Attribute

Usage: X'Extended_Width (Base,Based.SpaceIfPositiv e)

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.

SpaceIfPositive - 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 - "-10"X'Extended-Width(10) - 3 -"-10"

X'ExtendedWidth(2) - 5 - "10000"X'ExtendedWidth(10,True) -7 -"-10#10#"X'ExtendedWidth(2,True) - 8 - "2# 10000#"X'ExtendedWidth(10,False,True) = 3 -" 16"X'Extended Width(10,True,False) - 7 - "-10#10#"X'Extended Width(10,True,True) = 7 -" 10#16#"X'ExtendedWidth(2,True,True) = 9 -" 2#10000#"X'ExtendedWidth(2,False,True) - 6 -- " 10000"

B-6

ENUMERATION ATTRIBUTES

'ExtendedImagc Attribute

Usage: X'Extended Image(Item, Width,Uppercase)

Returns the image associated with Item as per the Text lo definition.The Text Io 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, then 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

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'ExtendedImage(red, 4) "RED"X'Extended Image(red.2) "RED"X'Extended Image(red.O,false) "red"X'Extended_Image(red,10,false) - "red "

Y'Extended_Image('a') = "'"I

Y'Extended_Iimage('B') = "B"'Y'Extended Image('a',6) "'a' i

Y'ExtendedImage('a',Atrue) -- "''9

'ExtendedValue Attribute

Usage: X'Extended_Value(Item)

Returns the image associated with Item as per the Text lo 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 trailingspaces in the string X are ignored. In the case where an illegalstring is passed, a CONSTRAINT ERROR is raised.

B-8

4

Parameter Descriptions:

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

Examples:

Suppose the following type was declared:

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

Then the following would be true:

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

'ExtendedWidth 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 over

* all values of the 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.

B-9

Examples:

Suppose the following types were declared:

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

Then the following would be true:

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

FLOATING POINT ATTRIBUTES

'ExtendedImage Attribute

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

Returns the image associated with Item as per the Text Io 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 or

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

B-10

Parameter Descriptions:

Item - The user specifies the item that he wants the image of aridpasses 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 icified 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.

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

Examples:

Suppose the following type was declared:

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

Then the following would be true:

X'ExtendedImage(5.0) = " 5.0000E-+-00"X'ExtendedImage(5.0,1) "5.O000E+00"X'Extended Image(-5.0,1) = "-5.0000E-00"X'Extended_lmage(5.0,2,O) -" 5.0E+00"X'Extended_Image(5.0,2.0,0) = "5.0"

X'ExtendedImage(5.0.2.0,0,2) - "101.0"X'Extended_.Image(5.0,2,0,0,2,True) = "2#101.0#"X'ExtendedImage(5.0,2,2,3,2,True) = "2#1.1#E+02"

'ExtendedValue Attribute

Usage: X'Extended Value(Item)

Returns the value associated with Item as per the Text lo definition.The Text Io definition states that it skips any leading zeros,then reads 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 CONSTRAINTERROR is raised.

B-12

Parameter Descriptions:

Item - The user passes to the function a parameter of thepredefined type string. The type of the returned:value is tht 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'ExtendedValue("5.0") - 5.0X'ExtendedValue("0.5E1") f 5.0X'ExtendedValue("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:

Suppose the following type was declared:

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

Then the following would be true:

X'Extended Digits - 5

B-13

FIXED POINT ATTRIBUTES

'ExtendedImage Attribute

Usage: X'Extended Image(Item .Fore.Aft.Exp.Base.Based)

Returns the image associated with Item as per the Text lo definition.The Text lo 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 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- 14

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 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.0;

Then the following would be true:

X'Extended Image(5.0) =" 5.00E+00"X'Extended_Image(5.0,1) 1"5.OOE+00"X'Extended Image(-5.0,I) 1"-5.00E+00"X'Extended Image(5.0,2,0) -" 5.0E+00"X'Extended Image(5.0,2,0,0) " 5.0"X'ExtendedImage(5.0,2,0,0,2) = "101.0"X'Extended Image(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"

'ExtendedValue Attribute

Usage: X'Extended Value(Image)

Returns the value associated with Item as per the Text Io definition.The Text Io 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 CONSTRAINTERROR is raised.

B-15

Parameter Descriptions:

Image - 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 delta 0.1 range -10.0 .. 17.0;

Then the following would be true:

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

'Extended Fore Attribute

Usage: X'Ex tended_Fore(Base.Based)

Returns the minimum number of characters required for the integerpart ol 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.

B-16

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'Extended-Fore(2) = 6 -" 10001"

'ExtendedAft Attribute

Usage: X'ExtendedAft (Base,Based)

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 - "1" from 0.1X'Extended-Aft(2) - 4 - "0001" from 2#0.0001#

B-17

3. Specification of Package SYSTEM

PACKAGE System IS

TYPE Address is PRIVATE;TYPE SubprogramValue is PRIVATE;

TYPE Name IS (CRAYXMP, CRAY_2);

SystemName : CONSTANT name :-CRAYXMP;

Storage-Unit : CONSTANT :- 64;Memory-Size : CONSTANT := (2 ** 24) - 1;

- System-Dependent Named Numbers:

Min Int CONSTANT:= -(2 45);Max-Int CONSTANT :- (2 ** 45) - 1;Max-Digits CONSTANT:= 13;Max Mantissa: CONSTANT : 45;Fine-Delta : CONSTANT:= 1.0 / (2 ** MaxMantissa);Tick : CONSTANT : 10.0E-3;

- Other System-Dependent Declarations

SUBTYPE Priority IS Integer RANGE 0 .. 63;

MaxText lo Count : CONSTANT := Max Int-1;Max-Textlo_Field : CONSTANT := 1000;

PRIVATE

TYPE SubprogramValue ISRECORD

Proc addr : Address;Static link : Address;Global- frame : Address;

END RECORD;

TYPE Address is Access Integer;

END System;

B-18

4. Restrictions on Representation Clauses

The Compiler supports the following representation clauses:

Length Clauses: for enumeration and derived integer types 'SIZEattribute (L\1M 13.2(a))

Length Clauses: for access types 'STORAGE SIZE attritube (LRMI3.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)Address Clauses: for objects and entries (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 Adasubprograms (LRM 13.5(b))

This compiler contains a restriction that allocated objects musthave a minimum allocated size of 64 bits.

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

7. Restrictions on Unchecked Conversions

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

8. I/O Package Characteristics

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

Multiple files opened to the same external file may be openedonly for reading.

In TEXT 10, DIRECT_10, or SEQUENTIAL 10, calling procedure Createwith a name of an existing external file does not raise anexception. Instead, it creates a new version of the file.

In DIRECTIO the type COUNT is defined as follows:

type COUNT is range 0..2_147483647;

In TEXT_10 the type COUNT is defined as follows:

type COUNT is range 0..2_147_483_646;

In TEXT_10 the subtype FIELD is defined as follows:

subtype FIELD is INTEGER range 0..1000:

According to the latest interpretation of the LRM, during aTEXT IO.Get Line call, if the buffer passed in has been filled,the call-is completed and any succeeding characters and/orterminators (e.g., line, page, or end-of-file) will not be read.The first Get Line call will read the line up to but notincluding the end-of-line mark, and the second Get Line will readand skip the end-of-line mark left by the first read.

B-20

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 names

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

Name and Meaning Value

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

$BIG IDI (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');n identifier the size of themaximum input line length whichis identical to $BIG ID1 exceptfor the last character.

$BIG ID3 (1..99 => 'A', 100 => '3', 101..200 => 'A')in identifier the size of themaximum input line length whichis identical to $BIG ID4 exceptfor a character near-the middle.

C-i

TEST PARAMETERS

Name and Meaning Value

$BIGID4 (1.99 => 'A', 100 => '4'101..200 => 'A')

An identifier the size of themaximum input line length whichis identici-" to $BIG ID3 exceptfor a character near the middle.

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

$BIG REAL LIT (1.195 => '0', 196..200 .> "690.0")X universal real literal ofvalue 690.0 with enough leadingzeroes to be the size of themaximum line length.

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

$BIGSTRING2 (1 => '"' 2.-100 => 'A', 101 > '1',102 => '"')

A string literal which whencatenated to the end ofBIG STRING1 yields the image ofBIG-ID1.

$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 4294967295An integer literal whose valueis SYSTEM.MEMORY SIZE.

$DEFAULT STOR UNIT 64An integer literal whose valueis SYSTEM.STORAGE UNIT.

C-2

TEST PAPR.METEPS

Name and Meaning Value

$DEFAULT SYS NAME CRAY 2The - value of the constantSYSTEM.SYSTEM NAME.

$DELTA DOC 2#1.0#E-45A real literal whose value isSYSTEM.FINEDELTA.

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

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

$FLOAT NAME NOSUCHTYPEThe 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 THAN DURATION BASE LAST 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 EXTERNAL FILE NAME2 /NONAME/DIRECTORYAn external- file name whichis too long.

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

C-3

TEST PARAMETERS

Name and Meaning Value

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

SINTEGER LAST PLUS 1 35184372088832A universal integer literalwhose value is INTEGER'LAST + 1.

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

SLESS THAN DURATION BASE FIRST -131073.0A universal real literal that isless than DURATION'BASE'FIRST.

SLOW PRIORITY 0In integer literal whose valueis the lower bound of the rangefor the subtype SYSTEM.PRIORITY.

$MANTISSA DOC 45An integer literal whose valueis SYSTEM.MAXMANTISSA.

$MAX DIGITS 13Maximum digits supported forfloating-point types.

SMAX IN LEN 200Maximum input line lengthpermitted by the implementation.

SMAX INT 351843720888311 universal integer literalwhose value is SYSTEM.MAXINT.

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

$MAXLENINTBASEDLITERAL (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.

C-4

TEST PARAMETERS

S

Name and Meaning Value

$MAXLENREALBASEDLITERAL (1..3 => "16:", 4..196 => '0',197..200 => "F.E:")

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

$MAX STRING LITERAL (1 => '"', 2..199 => 'C', 200 => '"')A string literal of sizeMAXINLEN, including the quotecharacters.

SHIN INT -35184372088832X universal integer literalwhose value is SYSTEM.MININT.

SHIN TASK SIZE 64in integer literal whose valueis the number of bits requiredto hold a task object which hasno entries, no declarations, and"NULL;" as the only statement inits body.

$NAME NO SUCH TYPE AVAILABLEA name of a predefined numerictype other than FLOAT, INTEGER,SHORT FLOAT, SHORT INTEGER,LONGFLOAT, or LONGINTEGER.

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

$NEG BASED INT 16#FFFFFFFFFFFFFFFE#X based integer literal whosehighest order nonzero bitfalls in the sign bitposition of the representationfor SYSTEM.MAXINT.

$NEW HEM SIZE 4294967295Xn integer literal whose valueis a permitted argument forpragma MEMORY SIZE, other than$DEFAULT MEM SIZE. If there isno othir -value, then use$DEFAULTMEM SIZE.

C-5

TEST PARAMETERS

Name and Meaning Value

SNEW STOR UNIT 64An integer literal whose valueis a permitted argument forpragma STORAGEUNIT, other thanSDEFAULT STOR UNIT. If there isno other- permitted value, thenuse value of SYSTEM.STORAGEUNIT.

$NEW SYS NAME CRAY 2I value of the type SYSTEM.NAME,other than $DEFAULT SYS NAME. Ifthere is only one value-of thattype, then use that value.

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

STICK lO.OE-3A real literal whose value isSYSTEM.TICK.

C-6

APPENDIX D

WITHDRAWN TESTS

Some tests are vithdrawn from the ACVC because they do not conform to theAda Standard. The following 44 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 that 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. C97116A: This test contains race conditions, and it assumes thatguards are evaluated indivisibly. A conforming implementation may useinterleaved execution in such a way that the evaluation of the guardsat lines 50 & 54 and the execution of task CHANGING OF THE GUARDresults in a call to REPORT.FAILED at one of lines 52 or 56.-

e. 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).

f. 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).

g. CD2A63A..D, CD2A66A..D, CD2A73A..D, and CD2A76A..D (16 tests): These

D-1

WITHDRAWN TESTS

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

h. CD2A81G, CD2A83G, CD2A84M..N, and CD50110 (5 tests): These 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 74, 85,86, 96, and 58, respectively).

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

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

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

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

m. CD71O5A: This test requires that successive .alls 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).

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

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

p. 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).

D-2

WITHDRAWN TESTS

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

r. CE3301A: This test contains several calls to END OF LINE andENDOF PAGE that have no parameter: these calls were intended tospecify a file, not to refer to STANDARD-INPUT (lines 103, 107, 118,132, and 136).

s. CE3411B: This test requires that a text file's column number be set toCOUNT'LAST in order to check that LAYOUT ERROR 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


Recommended