-
AVF Control Number: AVF-VSR-150.o88887-1 1-12-GOU
Lf0
(N
Ada COMPILERVALIDATION SUMMARY REPORT:
Certificate Number: 880523W1.09055Gould, Inc.
APLEX Ada Compiler, Revision 2.1Gould PowerNode Model 9080 and
Gould CONCEPT/32 Model 6744
Completion of On-Site Testing: D T IC25 May 1988 S ELECTE
MAR 0 8 1989DU
Prepared By:Ada Validation Facility
ASD/SCELWright-Patterson AFB OH 45433-6503
Prepared For:Ada Joint Program Office
United States Department of DefenseWashington DC 20301-3081
MMS~IBU'floN STA'7EMENT AApproved for pu.i2 reiense;
Ds_-i, D iUtoz Un l-aited
-
UNCLASSIFIEDSECURITI CLASSIFICATION OF THIS PAGE (When Data
Entered)
REPORT DOCUMENTATION PAGE .. Do ISTRLICONS.ErOR COREPOTNG
NUMo,.1. REPORT NUMBER I. GOVI ACCESSION NO. 3. RECIPIENT'S CATALOG
NUMBER
4. TITLE (andSubrirle) 5. TYPE OF REPORT & PERIOD
COVERED
Ada Compiler Validation Summary Report:Gould, Inc. 25 May 1988
to 25 May 1989APLEX Ada Compiler, Revision 2.1, Gould PowerNode
Model *. PERFORMINGDRG. REPORT NUMBER9080 and Gould CONCEPT/32
Model 6744 (Host, Target),(880523W1.09055).7. AUTHOR(s) B. CONTRACT
OR GRANT NUMBER(s)
Wright-Patterson Air Force Base,Dayton, Ohio, U.S.A.2.
PERFORMING ORGANIZATION AND ADDRESS 10. PROGRAM ELEMENT. PROJECT,
TASK
AREA & WORK UNIT NUMBERS
Wright-Patterson Air Force Base,Dayton, Ohio, U.S.A.
11. CONTROLLING OFFICE NAME AND ADDRESS 12. REPORT DATE
Ada Joint Program Office 25 May 1988United States Department of
Defense . U.b PA itbWashington, DC 20301-3081 38 p.
14. MONITORING AGENCY NAME & ADDRESS(f different from
Controlling Office) 15. SECURITY CLASS (of this
report)UNCLASSIFIED
Wright-Patterson Air Force Base, 1Sa.
RECLtS5IFICATION/DOWNGRADINGDayton, Ohio, U.S.A. I U N/A
16. DISTRIBUTION STATEMENT (of this Repot)
Approved for public release; distribution unlimited.
17. DISTRIBUTION STATEMENT (of the abstract entered in Block 20
If different from Report)
UNCLASSIFIED
18. SUPPLEMENTARY NOTES
19. KEYWORDS (Continue on reverse side if necessary and identify
by block number)
Ada Programming language, Ada Compiler Validation Summary
Report, AdaCompiler Validation Capability, ACVC, Validation
Testing, AdaValidation Office, AVO, Ada Validation Facility, AVF,
ANSI/MIL-STD-1815A, Ada Joint Program Office, AJPO
20. ABSTRACT (Continue on reverse side if necessary and identify
by block number)
Gould Inc.. APLEX Ada Compiler, Revision 2.1, Gould PowerNode
Model 9080 (Host) underUTX/32, Revision 2.1 to Gould CONCEPT/32
Model 6744 (Target) (bare machie), Wright-Patterson Air Force Base,
ACVC 1.9.
DO , 1473 EDITION OF I NOV 65 IS OBb-.-,I JAN 73 S/N
0102-LF-014-6501 UNCLASSIFIED
SECURITY CLASSIFICATION OF THIS PAGE (When Data Entered)
-
Ada Compiler Validation Summary Report:
Compiler Name: APLEX Ada Compiler, Revision 2.1
Certificate Number: 880523W1.09055
Host: Target:Gould PowerNode Model 9080 Gould CONCEPT/32 Model
6744under UTX/32, No Operating SystemRevision 2.1 (Bare
Machine)
Testing Completed 25 May 1988 Using ACVC 1.9
This report has been reviewed and is approved.
Ada Validation FacilitySteven P. WilsonTechnical
DirectorASD/SCELWright-Patterson AFB OH Lt5433-6503
-Validati n OrganizationDr. John F. KramerInstitute for Defense
AnalysesAlexandria VA 22311
Accesion For
NTIS CpRA.6JDTIC -7
Ada oint Progam OfficeVirginia L. Castor
Director Ey .Department of Defense D:Washington DC 20301
2i
-
TABLE OF CONTENTS
CHAPTER 1 INTRODUCTION
1.1 PURPOSE OF THIS VALIDATION SUMMARY REPORT . ... 1-21.2 USE
OF THIS VALIDATION SUMMARY REPORT . . ... 1-21.3 REFERENCES........
. . . . . . . . . . 1-31.4 DEFINITION OF TERMS . . . . . . . . .
...... 1-31.5 ACVC TEST CLASSES . . . . . . . . . . ...... 1-4
CHAPTER 2 CONFIGURATION INFORMATION
2.1 CONFIGURATION TESTED . . . . . .......... 2-12.2
IMPLEMENTATION CHARACTERISTICS . . ........ 2-2
CHAPTER 3 TEST INFORMATION
3.1 TEST RESULTS . . . . . . . . . . . . . . . 3-13.2 SUMMARY OF
TEST RESULTS BY CLASS ........... .. 3-13.3 SUMMARY OF TEST RESULTS
BY CHAPTER . . . . .3-23.4 WITHDRAWN TESTS . . * . . . . . . . . ..
. . . . 3-23.5 INAPPLICABLE TESTS . ............... 3-23.6 TEST,
PROCESSING, AND EVALUATION MODIFICATIONS • • 3-43.7 ADDITIONAL
TESTING INFORMATION . . . . . . . . . . 3-537.1 Prevalidation . . .
. . . . . . . . . . . . . . 3-53.7.2 Test Method . . . . . . . . .
. . . . . . . . . 3-53.7.3 Test Site . . . . . . . . . . . . . . .
. . . . 3-6
APPENDIX A DECLARATION OF CONFORMANCE
APPENDIX B APPENDIX F OF THE Ada STANDARD
APPENDIX C TEST PARAMETERS
APPENDIX D WITHDRAWN TESTS
-
NCHAPTER 1INTRODUCTION
This Validation Summary Report - describes the extent to which
aspecific Ada compiler conforms to the Ada Standard,
ANSI/MIL-STD-1815A.This report explains all technical terms used
within it and thoroughlyreports the results of testing this
compiler using the Ada CompilerValidation Capability/AWYJ An Ada
compiler must be implementedaccording to the Ada Standard, and any
implementation-dependent featuresmust conform to the requirements
of the Ada Standard. The Ada Standardmust be implemented in its
entirety, and nothing can be implemented that isnot in the
Standard'
Even though all validated Ada compilers conform to the Ada
Standard, itmust be understood that some differences do exist
between implementations,,The Ada Standard permits some
implementation dependencies--for example, themaximum length of
identifiirs -or- the maximum values of integer types.Other
differences between compilers result from the characteristics
ofparticular operating systems, hardware, or implementation
strategies. Allthe dependencies observed during the process of
testing this compiler aregiven in this report.
-The information in this report is derived from the test results
producedduring validation testing. The validation process includes
submitting asuite of standardized teats, the ACVC, as inputs to an
Ada compiler andevaluating the results. The purpose of validating
is to ensure conformityof the compiler to the Ada Standard by
testing that the compiler properlyimplements legal language
constructs and that it identifies and rejectsillegal language
constructs. The testing also identifies behavior that
isimplementation dependent but permitted by the Ada Standard. Six
classes oftests are used. These tests are designed to perform
checks at compiletime, at link time, and during execution.
1-1
-
INTRODUCTION
1.1 PURPOSE OF THIS VALIDATION SUMMARY REPORT
This VSR doctuents the results of the validation testing
performed on anAda compiler. Testing was carried out for the
following purposes:
" To attempt to identify any language constructs supported by
the
compiler that do not conform to the Ada Standard
" To attempt to identify any language constructs not supported
bythe compiler but required by the Ada Standard
" To determine that the implementation-dependent behavior is
allowedby the Ada Standard
Testing of this compiler was conducted by SofTech, Inc. under
thedirection of the AVF according to procedures establishec by the
Ada JointProgram Office and administered by the Ada Validation
Organization (AVO).O-site testing was completed 25 May 1988 at
Gould, Inc. in Ft.Lauderdale, FL.
1.2 USE OF THIS VALIDATION SUMMARY REPORT
Consistent with the national laws of the originating country,
the AVO maymake full and free public disclosure of this report. In
the United States,this is provided in accordance with the "Freedom
of Information Act" (5U.S.C. #552). The results of this validation
apply only to the computers,operating systems, and compiler
versions identified in this report.
The organizations represented on the signature page of this
report do notrepresent or warrant that all statements set forth in
this report areaccurate and complete, or that the subject compiler
has no nonconformitiesto the Ada Standard other than those
presented. Copies of this report areavailable to the public
from:
Ada Information ClearinghouseAda Joint Program OfficeOUSDREThe
Pentagon, Rm 3D-139 (Fern Street)Washington DC 20301-3081
or from:
Ada Validation Facility
ASD/SCELWright-Patterson AFB OH 45433-6503
1-2
-
INTRODUCTION
Questions regarding this report or the validation test results
should bedirected to the AVF listed above or to:
Ada Validation OrganizationInstitute for Defense Analyses1801
North Beauregard StreetAlexandria VA 22311
1.3 REFERENCES
1. Reference Manual for the Ada Programming
Language,ANSIIMIL-STD-1815A, February 1983 and ISO 8652-1987.
2. Ada Compiler Validation Procedures and Guidelines, Ada
JointProgram Office, 1 January 1987.
3. Ada Compiler Validation Capability Implementers' Guide,
SofTech,Inc., December 1986.
4. Ada Compiler Validation Capability User's Guide, December
1986.
1.4 DEFINITION OF TERMS
ACVC The Ada Compiler Validation Capability. The set of
Adaprograms that tests the conformity of an Ada compiler to theAda
programming language.
Ada An Ada Commentary contains all information relevant to
theCommentary point addressed by a comment on the Ada Standard.
These
comments are given a unique identification number having theform
AI-ddddd.
Ada Standard ANSI/MIL-STD-1815A, February 1983 and ISO
8652-1987.
Applicant The agency requesting validation.
AVF The Ada Validation Facility. The AVF is responsible
forconducting compiler validations according to procedurescontained
in the Ada Compiler Validation Procedures andGuidelines.
AVO The Ada Validation Organization. The AVO has
oversightauthority over all AVF practices for the purpose
ofmaintaining a uniform process for validation of Adacompilers. The
AVO provides administrative and technical
1-3
-
INTRODUCTION
support for Ada validations to ensure consistent practices.
Compiler A processor for the Ada language. In the context of
this
report, a compiler is any language processor,
includingcross-compilers, translators, and interpreters.
Failed test An ACVC test for which the compiler generates a
result thatdemonstrates nonconformity to the Ada Standard.
Host The computer on which the compiler resides.
Inapplicable An ACVC test that uses features of the language
that atest compiler is not required to support or may
legitimately
support in a way other than the one expected by the test.
Passed test An ACVC test for which a compiler generates the
expected
result.
Target The compuer fur which a compiler generates code.
Test A program that checks a compiler's conformity regarding
aparticular feature or a combination of features to the
AdaStandard. In the context of this report, the term is used
todesignate a single test, which may comprise one or morefiles.
Withdrawn An ACVC test found to be incorrect and not used to
checktest conformity to the Ada Standard. A test may be
incorrect
because it has an invalid test objective, fails to meet itstest
objective, or contains illegal or erroneous use of thelanguage.
1.5 ACVC TEST CLASSES
Conformity to the Ada Standard is measured using the ACVC. The
ACVCcontains both legal and illegal Ada programs structured into
six testclasses: A, B, C, D, E, and L. The first letter of a test
name identifiesthe class to which it belongs. Class A, C, D, and E
tests are executable,and special program units are used to report
their results during
execution. Class B tests are expected to produce compilation
errors.Class L tests are expected to produce compilation or link
errors.
Class A tests check that legal Ada programs can be successfully
compiledand executed. There are no explicit program components in a
Class A testto check semantics. For example, a Class A test checks
that reserved wordsof another laniguage (other than those already
reserved in the Ada language)are not treated as reserved words by
an Ada compiler. A Class A test ispassed if no errors are detected
at compile time and the program executesto produce a PASSED
message.
1-4
-
INTRODUCTION
Class B tests check that a compiler detects illegal language
usage. ClassB tests are not executable. Each test in this class is
compiled and theresulting compilation listing is examined to verify
that every syntax orsemantic error in the test is detected. A Class
B test is passed if everyillegal construct that it contains is
detected by the compiler.
Class C tests check that legal Ada programs can be correctly
compiled andexecuted. Each Class C test is self-checking and
produces a PASSED,FAILED, or NOT APPLICABLE message indicating the
result when it isexecuted.
Class D tests check the compilation and execution capacities of
a compiler.Since there are no capacity requirements placed on a
compiler by the AdaStandard for some parameters--for example, the
number of identifierspermitted in a compilation or the number of
units in a library-a compilermay refuse to compile a Class D test
and still be a conforming compiler.Therefore, if a Class D test
fails to compile because the capacity of thecompiler is exceeded,
the test is classified as inapplicable. If a Class Dtest compiles
successfully, it is self-checking and produces a PASSED orFAILED
message during execution.
Each Class E test is self-checking and produces a NOT
APPLICABLE, PASSED,or FAILED message when it is compiled and
executed. However, the AdaStandard permits an implementation to
reject programs containing somefeatures addressed by Class E tests
during compilation. Therefore, a ClassE test is passed by a
compiler if it is compiled successfully and exacutesto produce a
PASSED message, or if it is rejected by the compiler for
anallowable reason.
Class L tests check that incomplete or illegal Ada programs
involvingmultiple, separately compiled units are detected and not
allowed toexecute. Class L uebs are comvpiled se;aTatey and
execution is attempted.A Class L test passes if it is rejected at
link time-that is, en attemptto execute the main program must
generate an error message before anydeclarations in the main
program or any units referenced by the mainprogram are
elaborated.
Two library units, the package REPORT and the procedurq CHECK_
'TLE, supportthe self-checking features of the executable tests.
The package REPORTprovides the mechanism by which executable tests
report PASSED, FAILED, orNOT APPLICABLE results. It also provides a
set of identity functions usedto defeat some compiler optimizations
allowed by the Ada Standard thatwould circumvent a test objective.
The procedure CHECK FILE is used tocheck the contents of text files
written by some of the Class C tests forchapter 14 of the Ada
Standard. The operation of REPORT and CHECK FILE ischecked by a set
of executable tests. These tests produce messages thatare examined
to verify that the units are operating correctly. If theseunits are
not operating correctly, then the validation is not attempted.
The text of the tests in the ACVC follow conventions that are
intended toensure that the tests are reasonably portable without
modification. Forexample, the tests make use of only the basic set
of 55 characters, containlines with a maximum length of 72
characters, use small numeric values, and
1-5
-
INTRODUCTION
place features that may not be supported by all implementations
in separatetests. However, some tests contain values that require
the test to becustomized according to implementation-s'ecific
values--for example, anillegal file name. A list of the values used
for this validation isprovided in Appendix C.
A compiler must correctly process each of the tests in the suite
anddemonstrate conformity to the Ada Standard by either meeting the
passcriteria given for the test or by showing that the test is
inapplicable tothe implementation. The applicability of a test to
an implementation isconsidered each time the implementation is
validated. A test that is
inapplicable for one validation is not necessarily inapplicable
for asubsequent validation. Any test that was determined to contain
an illegallanguage construct or an erroneous language construct is
withdrawn from theACVC and, therefore, is not used in testing a
compiler. The testswithdrawn at the time of this validation are
given in Appendix D.
1-6
-
CHAPTER 2
CONFIGURATION INFORMATION
2.1 CONFIGURATION TESTED
The candidate compilation system for this validation was tested
under thefollowing configuration:
Compiler: APLEX Ada Compiler, Revision 2.1
ACVC Version: 1.9
Certificate Number: 880523W1.09055
Host Computer:
Machine: Gould PowerNode Model 9080
Operating System: UTX/32,Revision 2.1
Memory Size: 16 Mbytes
Target Computer:
Machine: Gould CONCEPT/32 Model 6744
Operating System: None (Bare Machine)
Memory Size: 3 Mbytes
Communications Network: Ethernet
2-1
-
CONFIGURATION INFORMATION
2.2 IMPLEMENTATION CHARACTERISTICS
One of the purposes of validating compilers is to determine the
behavior ofa compiler in those areas of the Ada Standard that
permit implementationsto differ. Class D and E tests specifically
check for such implementationdifferences. However, tests in other
classes also characterize animplementation. The tests demonstrate
the following characteristics:
• Capacities.
The compiler correctly processes tests containing loop
statementsnested to 65 levels, block statements nested to 65
levels, andrecursive procedures separately compiled as subunits
nested to 17levels. It correctly processes a compilation containing
723variables in the same declarative part. (See tests D55A03A..H
(8tests), D56001B, D64005E..G (3 tests), and D29002K.)
" Universal integer calculations.
An implementation is allowed to reject universal
integercalculations having values that exceed SYSTEM.MAX INT.
Thisimplementation processes 64 bit integer calculations. (See
testsD4A002A, D4AO02B, D4AOO4A, and D4AO00B.)
Predefined types.
This implementation supports the addition-l predefined typesLONG
INTEGER and LONG FLOAT in the package STANDARD. (See testsB86001C
and B86001D.)
" Based literals.
An implementation is allowed to reject a based literal with
avalue exceeding SYSTEM.MAX INT during compilation, or it may
raiseNUMERIC ERROR or CONSTRAINT ERROR during execution.
Thisimplementation raises NUMERIC ERROR during execution. (See
testE24101A.)
• Expression evaluation.
Apparently some default initialization expressions for
recordcomponents are evaluated before any value is checked to
belong toa component's subtype. (See test C32117A.)
Assignments for subtypes are performed with the same precision
asthe base type. (See test C35712B.)
2-2
-
CONFIGURATION: INFORMATION
This implementation uses no extra bits for extra precision.
Thisimplementation uses all extra bits for extra range. (See
testC35903A.)
Sometimes NUMERIC ERROR is raised when an integer literal
operandin a comparison or membership test is outside the range of
thebase type. (See test C45232A.)
No exception is raised when a literal operand in a
fixed-pointcomparison or membership test is outside the range of
the basetype. (See test C45252A.)
Apparently underflow is not gradual. (See tests C45524A..Z.)
Rounding.
The method used for rounding to integer is apparently round
awayfrom zero. (See tests C46012A..Z.)
The method used for rounding to longest integer is
apparentlyround away from zero. (See tests C46012A..Z.)
The method used for rounding to integer in static universal
realexpressions is apparently round away from zero. (See testC4AO
14A. )
Array types.
An implementation is allowed to raise NUMERIC ERROR orCONSTRAINT
ERROR for an array having a 'LENGTH that exceedsSTANDARD.
INTEGER'LAST and/or SYSTEM.MAXINT. For thisimplementation:
Declaration of an array type or subtype declaration with more
thanSYSTEM.MAX INT components raises NUMERICERROR. (See
testC36003A.)
No exception is raised when 'LENGTH is applied to an array
typewith INTEGER'LAST + 2 components. (See test C36202A.)
NUMERIC _ERROR is raised when 'LENGTH is applied to an array
typewith SYSTEM.MAXINT + 2 components. (See test C36202B.)
A pac".d BOOLEAN array having a 'LENGTH exceeding
INTEGER'LASTraises NUMERICERROR when the array type is declared.
(See testC52103X.)
A packed two-dimensional BOOLEAN array with more than
INTEGER'LASTcomponents raises NUMERICERROR when the array type is
declared.(See test C52104Y.)
2-3
-
CONFIGURATION INFORMATION
A null array with one dimension of length greater
thanINTEGER'LAST may raise NUMERIC ERROR or CONSTRAINT ERROR
eitherwhen declared or assigned. Alternatively, an implementation
mayaccept the declaration. However, lengths must match in
arrayslice assignments. This implementation raises NUMERICERROR
whenthe array type is declared. (See test E52103Y.)
In assigning one-dimensional array types, the expression
appearsto be evaluated in its entirety before CONSTRAINT ERROR is
raisedwhen checking whether the expression's subtype is compatible
withthe target's subtype. In assigning two-dimensional array
types,the expression does not appear to be evaluated in its
entiretybefore CONSTRAINT ERROR is raised when checking whether
theexpression's subtype is compatible with the target's
subtype.(See test C52013A.)
" Discriminated types.
During compilation, an implementation is allowed to either
acceptor reject an incomplete type with discriminants that is used
in anaccess type definition with a compatible discriminant
constraint.This implementation accepts such subtype indications.
(See testE38104A.)
In assigning record types with discriminants, the
expressionappears to be evaluated in its entirety before CONSTRAINT
ERROR israised when checking whether the expression's subtype
iscompatible with the target's subtype. (See test C52013A.)
" Aggregates.
In the evaluation of a multi-dimensional aggregate, index
subtypechecks appear to be made as choices are evaluated. (See
testsC4320TA and C43207B.)
In the evaluation of an aggregate containing subaggregates,
notall choices are evaluated before being checked for
identicalbounds. (See test E43212B.)
All choices are evaluated before CONSTRAINT ERROR is raised if
abound in a nonnull range of a nonnull aggregate does not belong
toan index subtype. (See test E43211B.)
" Representation clauses.
An implementation might legitimately place restrictions
onrepresentation clauses used by some of the tests. If
arepresentation clause is used by a test in a way that violates
arestriction, then the implementation must reject it.
2-4
-
CONFIGURATION INFORMATION
Enumeration representation clauses containing noncontiguous
valuesfor enumeration types other than character and boolean types
aresupported. (See tests C355021..J, C35502M..N, and A39005F.)
Enumeration representation clauses containing noncontiguous
valuesfor character types are supported. (See tests
C355071..J,C35507M..N, and C55B16A.)
Enumeration representation clauses for boolean types
containingrepresentational values other than (FALSE => 0, TRUE
=> 1) are notsupported. (See tests C355081..J and
C35508M..N.)
Length clauses with SIZE specifications for enumeration types
aresupported. (See test A39005B.)
Length clauses with STORAGE SIZE specifications for access
typesare supported. (See tests A39005C and C87B62B.)
Length clauses with STORAGE SIZE specifications for task types
aresupported. (See tests A3905D and C87B62D.)
Length clauses with SMALL specifications are supported.
(Seetests A39005E and C87B62C.)
Record representation clauses are supported with the
requirementthat the alignment of the record componenets be
maintained. (Seetest A39005G.)
Length clauses with SIZE specifications for derived integer
typesare supported. (See test C87B62A.)
Pragmas.
The pragma INLINE is not supported for library units. (See
testsLA3004A, LA3OO4B, EA30oC, EA3004D, CA3OO1E, and CA300F.)
Input/output.
The package SEQUENTIAL 10 cannot be instantiated
withunconstrained array types and record types with
discriminantswithout defaults. (See test EE2201D.)
The package DIRECT_10 cannot be instantiated with
unconstrainedarray types and record types with discriminants
without defaults.(See tests AE2101H, EE2401D, and EE2401G.)
Modes IN FILE and OUT FILE are supported for SEQUENTIAL IO.
(Seetests CE2102D and CE2102E.)
2-5
-
CONFIGURATION INFORMATION
Modes IN FILE, OUTFILE, and INOUT FILE are supported
forDIRECTI0. (See tests CE2102F, CE2102Y, and CE2102J.)
RESET and DELETE are supported for SEQUENTIALIO and
DIRECT_10.(See tests CE2102G and CE2102K.)
Dynamic. creation and deletion of files are supported
forSEQUENTIAL_10 and DIRECT IO. (See tests CE2106A and
CE2106B.)
Overwriting to a sequential file truncates the file to
lastelement written. (See test CE2208B.)
An existing text file can be opened in OUTFILE mode, can
becreated in OUT FILE mode, and can be created in IN FILE mode.(See
test EE3102.)
Only one internal file can be associated with each external
filefor text I/O for both reading and writing. (See tests
CE3111A..E(5 tests), CE3114B, and CE3115A.)
Only one internal file can be associated with each external
filefor sequential I/O for both reading and writing. (See
testsCE2107A..D (4 tests), CE2110B, and CE2111D.)
Only one internal file can be associated with each external
filefor direct I/O for both reading and writing. (See
testsCE2107F..I (5 tests), CE2110B, and CE2111H.)
An internal sequential access file and an internal direct
accessfile cannot be associated with a single external file for
writing.(See test CE2107E.)
An external file associated with more than one internal
filecannot be deleted for SEQUENTIAL IO, DIRECT 10, and TEXT_10.
(Seetest CE2110B.)
Temporary sequential files are given names. Temporary
directfiles are given names. Temporary files given names are
notdeleted when they are closed. (See tests CE2108A and
CE2108C.)
. Generics.
Generic subprogram declarations and bodies can be compiled
inseparate compilations only if the body is compiled before
anyinstantiations. (See tests CA1012A and CA2009F.)
Generic package declarations and bodies can be compiled
inseparate compilations only if the body is compiled before
anyinstantiations. (See tests CA2009C, BC3204C, and BC3205D.)
2-6
-
CONFIGURATION INFORMATION
Generic unit bodies and their subunits can be compiled in
separate
compilations. (See test CA3011A.)
2-7
-
CHAPTER 3
TEST INFORMATION
3.1 TEST RESULTS
Version 1.9 of the ACVC comprises 3122 tests. When this compiler
wastested, 27 tests had been withdrawn because of test errors. The
AVFdetermined that 278 tests were inapplicable to this
implementation. Allinapplicable tests were processed during
validation testing except for 215executable tests that use
floating-point precision exceeding that supportedby the
implementation and 19 executable tests that use file operations
notsupported by the implementation.. Modifications to the code,
processing, orgrading for 12 tests were required to successfully
demonstrate the testobjective. (See section 3.6.)
The AVF concludes that the testing results demonstrate
acceptableconformity to the Ada Standard.
3.2 SUMMARY OF TEST RESULTS BY CLASS
RESULT TEST CLASS TOTALA B C D E L
Passed 107 1048 1587 1T 13 45 2817
Inapplicable 3 3 266 0 5 1 278
Withdrawn 3 2 21 0 1 0 27
TOTAL 113 1053 1874 17 19 46 3122
3-1
-
TEST INFORMATION
3.3 SUMMARY OF TEST RESULTS BY CHAPTER
RESULT CHAPTER TOTAL
2 _4 5 6 7 8 9 10 11 12 13 14
Passed 189 490 529 244 166 98 141 327 132 36 234 3 228 2817
Inapplicable 15 82 145 4 0 0 2 0 5 0 0 0 25 278
Withdrawn 2 14 3 0 0 1 2 0 0 0 2 1 2 27
TOTAL 206 586 677 248 166 99 145 327 137 36 236 4 255 3122
3.4 WITHDRAWN TESTS
The following 27 tests were withdrawn from ACVC Version 1.9 at
the time ofthis validation:
B28003A C35904B C37215E C45332A CC1311BE28005C C35A03E C37215G
C45614C BC3105AC34004A C35A03R C37215H A714106C AD1AO1AC35502P
C37213H C38102C C85018B CE2401HA35902C C37213J C41402A C87B04B
CE3208AC35904A C37215C
See Appendix D for the reason that each of these tests was
withdrawn.
3.5 INAPPLICABLE TESTS
Some tests do not apply to all compilers because they make use
of featuresthat a compiler is not required by the Ada Standard to
support. Others maydepend on the result of another test that is
either inapplicable orwithdrawn. The applicability of a test to an
implementation is consideredeach time a validation is attempted. A
test that is inapplicable for onevalidation attempt is not
necessarily inapplicable for a subsequentattempt. For this
validation attempt, 278 tests were inapplicable for thereasons
indicated:
" C355081..J (2 tests) and C35508M..N (2 tests) use
enumerationrepresentation clauses for boolean types
containingrepresentational values other than (FALSE => 0, TRUE
=> 1). Theseclauses are not sulported by this compiler.
• C35702A uses SHORT FLOAT which is not supported by
thisimplementation.
3-2
-
TEST INFORMATION
" A39005G uses a form of record representation clause which is
notsupported by this compiler.
" The following tests use SHORTINTEGER, which is not supported
bythis compiler:
C45231B C45304B C45502B C45503B C45504BC45504E C45611B C45613B
C45614B C45631BC45632B B52004E C55BO7B B55BO9D
" C45231D requires a macro substitution for any predefined
numerictypes other than INTEGER, SHORT INTEGER, LONGINTEGER,
FLOAT,SHORT FLOAT, and LONGFLOAT. This compiler does not support
anysuch types.
• C45531M, C45531N, C45532M, and C45532N use fine 48-bit
fixed-pointbase types which are not supported by this compiler.
" C455310, C45531P, C455320, and C45532P use coarse
48-bitfixed-point base types which are not supported by this
compiler.
" C45651A declares a fixed-point type which is not representable
bythis implementation.
C52008B declares a record type with four discriminants of
typeinteger and having default values. The type may be used in
thedeclaration of 'mconstrained objects, but the size of
theseobjects exceeds the maximum object size of this
implementation,and NUMERIC-ERROR is raised.
B86001D requires a predefined numeric type other than
thosedefined by the Ada language in package STANDARD. There is no
suchtype for this implementation.
C86001F redefines package SYSTEM, but TEXT 10 is made obsolete
bythis new definition in this implementation and the test cannot
beexecuted since the package REPORT is dependent on the packageTEXT
10.
" CA2009C and CA2009F contain instantiations of generics in
caseswhere the body is not available at the time of the
instantiation.As allowed by AI-00408/07, this compiler creates a
dependency onthe missing body so that when the actual body is
compiled, theunit containing the instantiation becomes
obsolete.
CA3OOIF, EA3004D, and LA3004B use the INLINE pragma for
libraryunits, which is not supported by this compiler.
EE2201D uses instantiations of package SEQUENTIAL_10
withunconstrained array types. These instantiations are rejected
bythis compiler.
3-3
-
TEST INFORMATION
AE2101H, EE2401D, and EE2401G use instantiations of
packageDIRECT 10 with unconstrained array types and record types
havingdiscriminants without defaults. These instantiations are
rejectedby this compiler.
" CE2107A..I (9 tests), CE2110B, CE2111D, CE2111H, CE3111A..E
(5tests), CE3114B, and CE3115A are inapplicable because
multipleinternal files cannot be associated with the same external
file.The proper exception is raised when multiple access is
attempted.
" The following 215 tests require a floating-point accuracy
thatexceeds the maximum of 14 digits supported by this
implementation:
C24113K..Y (15 tests) C35705K..Y (15 tests)C35706K..Y (15 tests)
C35707K..Y (15 tests)C35708K..Y (15 tests) C35802K..Z (16
tests)C45241K..Y (15 tests) C45321K..Y (15 tests)C45421K..Y (15
tests) C45521K..Z (16 tests)C45524K..Z (16 tests) C45621K..Z (16
tests)C45641K..Y (15 tests) C46012K..Z (16 tests)
3.6 TEST, PROCESSING, AND EVALUATION MODIFICATIONS
It is expected that some tests will require modifications of
code,processing, or evaluation in order to compensate for
legitimateimplementation behavior. Modifications are made by the
AVF in cases wherelegitimate implementation behavior prevents the
successful completion of an(otherwise) applicable test. Examples of
such modifications include:adding a length clause to alter the
default size of a collection; splittinga Class B test into subtests
so that all errors are detected; andconfirming that messages
produced by an executable test demonstrateconforming behavior that
wasn't anticipated by the test (such as raisingone exception
instead of another).
Modifications were required for 11 Class B tests and 1 Class E
test.
The following Class B tests were split because syntax errors at
one pointresulted in the compiler not detecting other errors in the
test:
B27005A B71001K BA3006A BA3007B BA3008BBA1I01C BA3006B BA3008A
BA3013A
B28001R, B28001V, and E28002D were modified by adding "PRAGMA
LIST(ON);" asthe first line of each file. If the first legal
occurrence of a LISTpragma has the parameter ON, then the
implementation does not generate anylisting until the pragma
occurs. The Ada Standard states that it isimplementation-dependent
whether the initial listing state is ON or OFF.
3-4
-
TEST INFORMATION
3.7 kDDITIONAL TESTING INFORMATION
3.7.1 Prevalidation
Prior to validation, a set of test results for ACVC Version 1.9
produced bythe APLEX Ada Compiler, Revision 2.1 was submitted to
the AVF by theapplicant for review. Analysis of these results
demonstrated that thecompiler successfully passed all applicable
tests, and the compilerexhibited the expected behavior on all
inapplicable tests.
3.7.2 Test Method
Testing of the APLEX Ada Compiler, Revision 2.1 using ACVC
Version 1.9 wasconducted on-site by a validation team from the AVF.
The configurationconsisted of a Gould PowerNode Model 9080 host
operating under UTX/32,Revision 2.1, and a Gould CONCEPT/32 Model
6744 target operating as a barempehinc. The host ana target
computers were linked via Ethernet.
A magnetic tape containing all tests except for withdrawn tests
and testsrequiring unsupported floating-point precisions was taken
on-site by thevalidation team for processing. Tests that make use
ofimplementation-specific values were customized before being
written to themagnetic tape. Tests requiring modifications during
the prevalidationtesting were included in their modified form on
the magnetic tape.
The contents of the magnetic tape were loaded directly onto the
hostcomputer. After the test files were loaded to disk, the full
set of testswas compiled and linked on the Gould PowerNode Model
9080, and allexecutable tests were run on the Gould CONCEPT/32
Model 6744. Object fileswere linked on the host computer, and
executable images were transferred tothe target computer via
Ethernet. Results were printed from the hostcomputer, with results
being transferred to the host computer via Ethernet.
The compiler was tested using command scripts provided by Gould,
Inc. andreviewed by the validation team. The compiler was tested
using all defaultoption settings except for the following:
Option Effect
"C Produce source listing-i Process PRAGMA INLINE
Tests were compiled, linked, and executed (as appropriate) using
a singlehost computer and a single target computer. Test output,
compilationlistings, and job logs were captured on magnetic tape
and archived at theAVF. The listings examined on-site by the
validation team were alsoarchived.
3-5
-
TEST INFORMATION
3.7.3 Test Site
Testing was conducted at Gould, Inc. in Ft. Lauderdale, FL and
was
completed on 25 May 1988.
3-6
-
APPENDIX A
DECLARATION OF CONFORMANCE
Gould, Inc. has submitted the following Declaration
ofConformance concerning the APLEX Ada Compiler, Revision2.1.
A-I
-
Validated May 88 (BARE MACHINE) - Continued
DECLARATION OF CCFORMANCE
Derived Compiler Registration
Derived Compiler Name: APLEXT M Ada Compiler Revision: 2.1Host
Architecture ISA: Gould PowerNode OS&VER #: UTX/32 Revision
2.1
Model 60XXTarget Architecture ISA: Gould CONCEPT/32 OS&VER
#: BARE MACHINE
Model 97XX
Derived Compiler Registration
Derived Compiler Name: APLEXT M Ada Compiler Revision: 2.1
Host Architecture ISA: Gould PowerNode OS&VER #: UTX/32
Revision 2.1Model 90XX
Target Architecture ISA: Gou.d PowerNode OS&VER #: BARE
MACHINE
Model 60XX
Derived Compiler Registration
Derived Compiler Name: APLEXTM Ada Compiler Revision: 2.1Host
Architecture ISA: Gould PowerNode OS&VER #: UTX/32 Revision
2.1
Model 90XXTarget Architecture ISA: Gould PowerNode OS&VER #:
BARE MACHINE
Model 90XX
Derived Compiler Registration
Derived Compiler Name: APLEXTM Ada Compiler Revision: 2.1Host
Architecture ISA: Gould PowerNode OS&VER #: UTX/32 Revision
2.1
Model 60XXTarget Architecture ISA: Gould PowerNode OS&VER #:
BARE MACHINE
Model 60XX
Derived Compiler Registration
Derived Compiler Name: APLEXTM Ada Compiler Pe,,4sion: 2.1Host
Architecture ISA: Gould PowerNode OS&VER 8: UTX/32 Revision
2.1
Model 60XXTarget Architecture ISA: Gould PowerNode OS&VER #:
BARE MACHINE
Model 90XX
TMAPLEX is a trademark of Gould Inc.A-2
-
Iiplementor's Declaration
I, the undersigned, representing TeleSoft, Inc., have
implemented nodeliberate extensions to the Ada Language Standard
ANSI/MIL-STD-1815Ain the compiler listed in this declaration. I
declare that Gould Inc.is the owner of record of the Ada language
compiler listed above and,as such, is responsible for maintaining
said compiler in conformanceto ANSI/MIL-STD-1815A. All certificates
and registrations for Adalanguage compiler listed in this
declaration shall be made only in theowner's corporate name.
SDate: -:
TeleSoft, Inc.i Ray Parra, Director of Contracts/Legal
Owner's reclaration
I, the undersigned, representing Gould Inc., take full
responsibilityfor implementation and maintenance of the Ada
compiler listed above,and agree to the public disclosure of the
final Validation SummaryReport. I further agree to continue to
comply with the Ada trademarkpolicy, as defined by the Ada Joint
Program Office. I declare thatall of the Ada language compilers
listed, and their host/targetperformance are in compliance with the
Ada Language Standard ANSI/MIL-STD-1815A. I have reviewed the
Validation Summary Report for thecompiler and concur with the
contents. I also affirm that theCONCEPT/32 computer architectures
listed herein (90XX, 67XX and BAREMACHINE models) are of equivalent
architecture to the CONCEPT/32 asdescribed in the documentation
which was submitted with our 1.8validations.
U 'I;' J) C---. k_/ "// #' Date: ' z- 7 //
Gould I ncq (Mary F. Macomber, Senior Manager, Major Corporate
Agreements
A-3
-
APPENDIX B
APPENDIX F OF THE Ada STANDARD
The only allowed implementation dependencies correspond to
implementation-dependent pragmas, to certain machine-dependent
conventions as mentioned inchapter 13 of the Ada Standard, and to
certain allowed restrictions onrepresentation clauses. The
Implementation-dependent characteristics ofthe APLEX Ada Compiler,
Revision 2.1, are described in the followingsections, which discuss
topics in Appendix F of the Ada Standard.Implementation-specific
portions of the package STANDARD are also includedin this
appendix.
package STANDARD is
type INTEGER is range -(2*'31) .. (2"31) - 1;type LONG INTEGER
is range -(2**63) .. (20*63) - 1;
type FLOAT is digits 6 range -7.23698E+75 .. 7.23698E+75;type
LONGFLOAT is digits 14
range -7.2370055773320E+75 .. 7.2370055773320E+75;
type DURATION is delta 2#1.0#E-14 range -86_400.0 ..
86_400.0;
end STANDARD;
B-i
-
APPE CIX F CF ThE 'LANGUACE RE---'-_ CE MANUAL
1 Implementation Dependent Pragmas2 Implementation Dependent
Attributes3 Specification of Package SYSTE=M4 Restrictions of
representation clauses5 Implementation dependent naming6
Interpretation of expressions in address clauses7 Restrictions on
unchecked conversions8 I/O Package Characteristics
(1) Implementation Dependent Pragmas
The following pragmas are supported:
C C"E'4T• .FABORATE- IMAGESS INT=RFACE
* INUNE• UST- !UNKNAME* PACK.* PAGE
PRIORITY* SHARE)* SUPPRESS
The implementation-defined pragma COMMENT embeds the text of a
stringliteral within the object file of the compilation unit
containing the pragma. Thesyntax is:
praqgna COMMENT ("text of the comment');
This pragma may appear at any location within the source czde of
an Adaunit. There is no restriction on the number of comments that
may be used.
B-2
-
The implementation defined pragma images controls where the code
tosupport the -images' attribute for an enumeration type is
generated. The syntaxis:
pragma IMAGES (, "DE=;FRED" I "IMMEDIATE');
must be the name of a previously defined enumeration type.This
pragma must appear in the same package specification or dec!arative
part asthe type definition. If the 'Immediate" parameter is used,
the code for the
images* attribute is generated in the compilation unit where the
type definitionappears. This is the default. If "Deferred" is
specified, the code is generated inany compilation unit which
references the "images* attribute. Note that if noreferences are
made to the 'images' attnbute, no code is ever generated.
Pragma UNKNAME is used to associate a string with the name of a
routinein the object code. The syntax is:
pragma UNKNAME (, );
The must be the name of an Ada routine which previouslyappeared
in a pragma INTER-FACE. The effect of this pragma is to use the as
the name for the routine in the object code for the unit. Thus,
function HyperbolicSin (X: Float)return Fioat;
pragma INTERFACE (Assembly, Hyperbolic Sin);pragmra UNKNAME
(Hyperbolic_Sin, :HSIN:');
would cause the compiler to use the string ":.HSIN:" in the
object codewhenever referring to the Ada routine
"HyperbolicSin".
When interfacing to C, Fortran, or Pascal, the compiler still
forces thename in the object code to correspond to the appropriate
convention. Thus, for C,the first character of the name has an
underscore substituted, Fortran has anunderscore added in front of
and behind the name, and Pascal has an underscoreadded in front and
two underscores added behind the given name.
The ON parameter of pragma SUPPRESS is not supported.
Pragma Inline is not supported for library units.
(2) Implementation Dependent Attributes
There are no implementation-defined attributes.
B-3
-
(3) The specification of package SYSTEM:
package SYSTEM is
type ADDRESS is private:type NAME is (Gould UTX,
GouldMPX);SYSTEM-NAME : constant NAME :- Gould UTX;- for
Powernode/N P L- or
SYSTEMNAME : constant NAME :- GouldMPX;- for Concept
STORAGE-UNIT : constant :. 8;MEMORY_SIZE : constant :- 2-24-1; -
for Concept/Powemode
- orMEMORYSIZE : constant :. 2"30-1; - for NPL
-System-Dependent Declarations
subtype BYTE is INTEGER range 0 - Z"8-1;subtype INTEGE'r_16 is
INTEGER range -2°15 .. 2"15-1;subtype INTEGER..32 is INTEGER; -
range -2"31 - 2-3-;
-System-Dependent Named Numbers
MININT constant :a -(2"63);MAXJINT constant :a
(2"3)-1;MAX_DIGITS: constant := 14;MAX_MANTISSA: constant :.
31;FiNEDELTA: constant := 1.0/2.0-(MAX MANTISSA);TICK: constant :=
1.01(2.0"14);
-Other System Dependent Declarations
MAX OBJECT_SIZ. : c=nsrant :. MEORY.SIZ;MAXRECORDCOUNT :
conslant := MAXINT;MAX T- T_IO_DUNT: c=nstant :. MAX INT-2;MAX
TE
-
(4) The Hlst of all restrictions on representation c!auses.
The compiier supports the following representation
c!auses:Length C:auses for types 'Size (LRM 13.2(a))
Length Clauses for collections 'SlorageSIze (LRM 13.2(b))
Length Clauses for tasks 'StorageSize (LRrM 13.2(c))
Length clause for fixed point types (LRM 13.2(d)).
Enumeration representation ciauses (LRM 13.3) are supported with
therestrictinn that they cannot be used to alter values of the
predefined typeECOLEAN.
Record representation clauses (LRM 13.4) are supported. The
maximumsignificant value for the expression following "at mod" is
8.
Only records whose components are all statically sized may be
thesubject of a representation specification, i.e., those
containing dynamically sizedcomponents may not be the subjects.
A composite type used as a component of a representation
specified recordmust be aligned to preserve the alignment of its
consituent components.
Address Clauses (LRM 13.5) are supported for objects.
Address clauses for entries are supported for Bare Machine
targets oniy.
The following representation clauses are not supported:
Address clauses for subprograms, packages, and tasks.
(5) The conventions used for any implementation-generated
namedenoting implementation-dependent components.
There are no system generated names for
implementation-dependentcomponents.
(6) The interpretation of expressions that appear in address
c!auses.
Expressions that apear in address specifications are interpreted
as thefirst storage unit of the object.
(7) Any restriction on unchecked conversions
Unchecked conversions are allowed between variables of types
(orsubtypes) TI and T2 provided that:
* they have the same static size* they are not unccnstrained
array types* they are not private (unless they are subtypes of, or
are derivec
from the private type System.Address.)
B-5
-
(8) Any implementation-depern.dent characteristics of the
input-output packages.
Instantiations of DIRECTJO and SSUENTIAL_.I are supported with
thefollowing exceptions:
• unconstrained array types* unconstrained types with
discriminants without default values,
on UTX and MPX targets only.* multiple internal files opened to
the same external file may only
be opened for reading on UTX only• multiple internal files may
not be opened to the same external file
on MPX or BMA.
In package DIRECTIC:type COUNT is range 0 . MAX_INT;
In package 1jO:type COUNT is range 0 - MAX INT-2;
In package T(jO:subtype FIELD is INTEGE.R range 0 .. 1000;
" The line length limit for MPX is 253 characters.
3-6
-
APPENDIX C
TEST PARAMETERS
Certain tests in the ACVC make use of implementation-dependent
values, such
as the maximum length of an input line and invalid file names. A
test that
makes use of such values is identified by the extension .TST in
its filename. Actual values to be substituted are represented by
names that beginwith a dollar sign. A value must be substituted for
each of these names
before the test is run. The values used for this validation are
givenbelow.
Name and Meaning Value
$BIGID1 (1..199 => 'A', 200 => '1')Identifier the size of
themaximum input line length withvarying last character.
$BIG ID2 (1..199 => 'A', 200 => '2')Identifier the size of
themaximum input line length withvarying last character.
$BIGID3 (l..100 1 102..200 => 'A', 101 => '3')Identifier
the size of themaximum input line length withvarying middle
character.
$BIG._D4 (1..100 I 102..200 => 'A', 101 => "4')Identifier
the size of themaximum input line length withvarying middle
character.
$BIG INT LIT (1..197 => '0', 198..200 => "298")An integer
literal of value 298with enoug1 leading zeroes sothat it is the
size of themaximum line length.
C-I
-
TEST PARAMETERS
Name and Meaning Value
$BIG REAL LIT (-..194 => 10', 195..200 => "69.OE1")A
universal real literal ofvalue 690.0 with enough leadingzeroes to
be the size of themaximum line length.
$BIG STRING1 (1..100 => 'A')A string literal which
whencatenated with BIGSTRING2yields the image of BIG IDI.
$BIG STRING2 (1..99 => 'A', 100 => '1')A string literal
which whencatenated to the end ofBIG STRING1 yields the image ofBIG
IDI.
$BLANKS (i..180 => ')A sequence of blanks twentycharacters
less than the sizeof the maximum line length.
$COUNT_ LAST 9223372036854775805A universal integerliteral whose
value isTEXT_10. COUNT 'LAST.
$FIELDLAST 1000A universal integerliteral whose value isTEXT
IO.FIELD'LAST.
$FILE NAME WITH BAD CHARS (1..257 => 'D')An external file
name thateither contains invalidcharacters or is too long.
$FILE NAME WITH WILD CARD CHAR (1..257 => 'C')An external
file name thateither contains a wild cardcharacter or is too
long.
$GREATER THAN DURATION 100 000.0A uRiversal real literal
thatlies between DURATION' BASE' LASTand DURATION 'LAST or any
valuein the range of DURATION.
C-2
-
TEST PARAMETERS
Name and Meaning Value
$GREATERTHANDURATIONBASELAST 10000000.0A universal real literal
that isgreater than DURATION'BASE'LAST.
$ILLEGAL EXTERNAL FILE NAME1 (l..257 => 'B')An external file
name whichcontains invalid characters.
$ILLEGAL EXTERNALFILENAME2 (l..257 => 'A')An external file
name whichis too long.
$INTEGER FIRST -2147483648A universal integer literalwhose value
is INTEGER'FIRST.
$INTEGER LAST 2147483647A universal integer literalwhose value
is INTEGER' LAST.
$INTEGER_LAST PLUS 1 (2*031)A universal integer literalwhose
value is INTEGER'LAST + 1.
$LESS THAN DURATION -100-000.0A universal real literal thatlies
between DURATION'BASE'FIRSTand DURATION' FIRST or any valuein the
range of DURATION.
$LESS THAN DURATIONBASE FIRST -10 000000.0A universal real
literal that isless than DURATION'BASE'FIRST.
$MAXDIGITS 1Maximum digits supported forfloating-point
types.
$MAX IN LEN 200Maximum input line lengthpermitted by the
implementation.
$MAXINT 9223372036854775807A universal integer literalwhose
value is SYSTEM.MAXINT.
$MAX INT PLUS_1 9223372036854775808A universal integer
literalwhose value is SYSTEM.MAXINT 1.
C-3
-
* TEST PARAMETERS
Name and Meaning Value
$MAX LEN tNTBASEDLITERAL (1-.2 => "2:", 3..197 =>
'0',198-.200 => "11:")
A universal integer basedliteral whose value is 2#11#with enough
leading zeroes inthe mantissa to be MAXINLENlong.
$MAX LEN REAL BASED LITERAL (1-.3 => "16:", '4..196
=>*'o,,197-.200 => "F.E:")
A universal real based literalwhose value is 16:F.E: withenough
leading zeroes in themantissa to be MAXINLEN long.
*MAX STRINGLITERAL (1 => 1"T, 2-.199 => 'A', 200 => "'A
strilng literal of sizeMAXINLEN, including the quotecharacters.
$MIN 1INT uiesl itgr ieal -9223372036854775808
whose value is SYSTEM.MININT.
$ NAME NO SUCHTYPEA name of a predefined numerictype other than
FLOAT, INTEGER,SHORTFLOAT, SHORT-INTEGER,LONG-FLOAT, or
LONG-INTEGER.
$NEG BASED INT 1 6#F7.FFFFFFFFFFFFFE#A based integer literal
whosehighest order nonzero bitfalls in the 2ign bitposition of the
representationfor SYSTM.MAX-INT.
-
APPENDIX D
WITHDRAWN TESTS
Some tests are withdrawn from the ACVC because they do not
conform to theAda Standard. The following 27 tests had been
withdrawn at the time ofvalidation testing for the reasons
indicated. A reference of the form"AI-ddddd" is to an Ada
Commentary.
" B28003A: A basic declaration (line 36) incorrectly follows
alater declaration.
" E28005C: This test requires that "PRAGMA LIST (ON);" notappear
in a listing that has been suspended by a previous"PRAGMA LIST
(OFF);"; the Ada Standard is not clear on thispoint, and the matter
will be reviewed by the AJPO.
" C34004A: The expression in line 168 yields a value outsidethe
range of the target type T, but there is no handler
forCONSTRAINTERROR.
" C35502P: The equality operators in lines 62 and 69 should
beinequality operators.
" A35902C: The assignment in line 17 of the nominal upperbound
of a fixed-point type to an object raisesCONSTRAINTERROR, for that
value lies outside of the actualrange of the type.
C35904A: The elaboration of the fixed-point subtype on line28
wrongly raises CONSTRAINTERROR, because its upper boundexceeds that
of the type.
" C35904B: The subtype declaration that is expected to
raiseCONSTRAINT ERROR when its compatibility is checked againstthat
of various types passed as actual generic parameters,may, in fact,
raise NUMERIC ERROR or CON!TRAINTERROR forreasons not anticipated
by the Test.
D-1
-
WITHDRAWN TESTS4
* C35AO3E and C35AO3R: These tests assume that
attribute'MANTISSA returns 0 when applied to a fixed-point type
with anull range, but the Ada Standard does not support
thisassumption.
C37213H: The subtype declaration of SCONS in line 100
isincorrectly expected to raise an exception when elaborated.
" C37213J: The aggregate in line 451 incorrectly
raisesCONSTRAINTERROR.
" C37215C, C37215E, C37215G, and C37215H: Various
discriminantconstraints are incorrectly expected to be incompatible
withtype CONS.
" C38102C: The fixed-point conversion on line 23 wronglyraises
CONSTRAINT ERROR.
" C41402A: The attribute 'STORAGE SIZE is incorrectly
applied
to an object of an access type.
" C45332A: The test expects that either an expression in line52
will raise an exception or else MACHINE OVERFLOWS isFALSE. However,
an implementation may evaluate theexpression correctly using a type
with a wider range than thebase type of the operands, and
MACHINEOVERFLOWS may still beTRUE.
" C45614C: The function call of IDENTfINT in line 15 uses
anargument of the wrong type.
" A74106C, C85018B, C87BO4B, and CC1311B: A bound specified ina
fixed-point subtype declaration lies outside of thatcalculated for
the base type, raising CONSTRAINT ERROR.Errors of this sort occur
at iln 37 ' 53, -? ,_ -,I3, 16 &48, and 252 & 253 of the
four tests, respectively.
" BC3105A: Lines 159 through 168 expect error messages, butthese
lines are correct Ada.
" AD1AO1A: The declaration of subtype SINT3 raisesCONSTRAINT
ERROR for implementations which select INT'SIZE tobe 16 or
greater.
" CE2401H: The record aggregates in lines 105 and 117 containthe
wrong values.
CE3208A: This test expects that an attempt to open thedefault
output file (after it was closed) with mode IN FILEraises NAME
ERROR or USEERROR; by Commentary AI-00048,MODE ERROR should be
raised.
D-2