International Standard ISO/IEC 8652:1995

Programming languages -- Ada
TECHNICAL CORRIGENDUM 1

Langages de programmation -- Ada
RECTIFICATIF TECHNIQUE 1

Technical Corrigendum 1 to International Standard ISO/IEC 8652:1995 was prepared by AXE Consulting under contract from The MITRE Corporation.

© 2000, The MITRE Corporation. All Rights Reserved.

This document may be copied, in whole or in part, in any form or by any means, as is, or with alterations, provided that (1) alterations are clearly marked as alterations and (2) this copyright notice is included unmodified in any copy. Any other use or distribution of this document is prohibited without the prior express permission of MITRE.

You use this document on the condition that you indemnify and hold harmless MITRE, its Board of Trustees, officers, agents, and employees, from any and all liability or damages to yourself or your hardware or software, or third parties, including attorneys' fees, court costs, and other related costs and expenses, arising out of your use of this document irrespective of the cause of said liability.

MITRE MAKES THIS DOCUMENT AVAILABLE ON AN "AS IS" BASIS AND MAKES NO WARRANTY, EXPRESS OR IMPLIED, AS TO THE ACCURACY, CAPABILITY, EFFICIENCY MERCHANTABILITY, OR FUNCTIONING OF THIS DOCUMENT. IN NO EVENT WILL MITRE BE LIABLE FOR ANY GENERAL, CONSEQUENTIAL, INDIRECT, INCIDENTAL, EXEMPLARY, OR SPECIAL DAMAGES, EVEN IF MITRE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

Introduction

This corrigendum contains corrections to the Ada 95 standard [ISO/IEC 8652:1995].

The corrigendum is organized by sections corresponding to those in the Ada 95 standard. These sections include wording changes to the Ada 95 standard. Clause and subclause headings are given for each clause that contains a wording change. Other clauses are omitted. For each change, a reference to the defect report(s) that prompted the wording change is included in the form [8652/0000]. The defect reports have been developed by the ISO/IEC JTC 1/SC 22/WG 9 Ada Rapporteur Group to address specific questions about the Ada standard. Refer to the defect reports for details on the issues.

For each change, an anchor paragraph from the original Ada 95 standard is given. New or revised text and instructions are given with each change. The anchor paragraph can be replaced or deleted, or text can be inserted before or after it. When a heading immediately precedes the anchor paragraph, any text inserted before the paragraph is intended to appear under the heading.

Typographical conventions:

Instructions about the text changes are in this font. The actual text changes are in the same fonts as the Ada 95 standard - this font for text, this font for syntax, and this font for Ada source code. Note that this document is designed to be viewed with the default font as some Roman font, similar to the Ada 95 standard. This may require some adjustments to your browser.




Section 1: General

1.2 Normative References

Replace paragraph 8: [8652/0001]

by:




Section 2: Lexical Elements

No changes in this section.




Section 3: Declarations and Types

3.3.1 Object Declarations

Replace paragraph 18: [8652/0002]

by:

3.5.4 Integer Types

Insert after paragraph 27: [8652/0003]

the new paragraph:

3.5.8 Operations of Floating Point Types

Replace paragraph 2: [8652/0004]

by:

3.5.10 Operations of Fixed Point Types

Replace paragraph 2: [8652/0005]

by:

3.6 Array Types

Replace paragraph 22: [8652/0002]

by:

3.6.2 Operations of Array Types

Replace paragraph 2: [8652/0006]

by:

3.7 Discriminants

Replace paragraph 8: [8652/0007]

by:

3.7.1 Discriminant Constraints

Replace paragraph 7: [8652/0008]

by:

3.8 Record Types

Replace paragraph 5: [8652/0009]

by:

Replace paragraph 18: [8652/0002]

by:

3.9.2 Dispatching Operations of Tagged Types

Replace paragraph 7: [8652/0010]

by:

Replace paragraph 9: [8652/0010]

by:

Replace paragraph 10: [8652/0011]

by:

3.10 Access Types

Replace paragraph 7: [8652/0012]

by:

Replace paragraph 14: [8652/0013]

by:

3.10.2 Operations of Access Types

Replace paragraph 24: [8652/0010]

by:

Replace paragraph 27: [8652/0010]

by:

3.11 Declarative Parts

Replace paragraph 4: [8652/0009]

by:

Replace paragraph 10: [8652/0014]

by:

3.11.1 Completions of Declarations

Replace paragraph 1: [8652/0014]

by:




Section 4: Names and Expressions

4.1.4 Attributes

Replace paragraph 12: [8652/0015]

by:

4.5.2 Relational Operators and Membership Tests

Insert after paragraph 24: [8652/0016]

the new paragraph:

Insert after paragraph 32: [8652/0016]

the new paragraph:

4.6 Type Conversions

Replace paragraph 5: [8652/0017]

by:

Replace paragraph 11: [8652/0008]

by:

Replace paragraph 12: [8652/0008]

by:

Replace paragraph 54: [8652/0017]

by:

4.8 Allocators

Replace paragraph 3: [8652/0010]

by:

Replace paragraph 10: [8652/0002]

by:




Section 5: Statements

No changes in this section.




Section 6: Subprograms

6.3.1 Conformance Rules

Replace paragraph 2: [8652/0011]

by:

Insert after paragraph 13: [8652/0011]

the new paragraph:

Insert after paragraph 21: [8652/0018]

the new paragraph:




Section 7: Packages

7.3.1 Private Operations

Replace paragraph 3: [8652/0019]

by:

Replace paragraph 4: [8652/0019]

by:

Replace paragraph 5: [8652/0019]

by:

Replace paragraph 6: [8652/0019]

by:

7.6 User-Defined Assignment and Finalization

Replace paragraph 4: [8652/0020]

by:

Replace paragraph 11: [8652/0021]

by:

Insert after paragraph 17: [8652/0022]

the new paragraph:

7.6.1 Completion and Finalization

Replace paragraph 13: [8652/0021; 8652/0023]

by:

Replace paragraph 14: [8652/0023]

by:

Replace paragraph 16: [8652/0024]

by:

Insert after paragraph 17: [8652/0023]

the new paragraphs:




Section 8: Visibility Rules

8.3 Visibility

Replace paragraph 9: [8652/0025]

by:

Replace paragraph 10: [8652/0025]

by:

Replace paragraph 26: [8652/0025; 8652/0026]

by:

8.5.1 Object Renaming Declarations

Replace paragraph 5: [8652/0017]

by:

8.5.4 Subprogram Renaming Declarations

Replace paragraph 5: [8652/0027; 8652/0028]

by:

Replace paragraph 8: [8652/0014; 8652/0027]

by:




Section 9: Tasks and Synchronization

9.1 Task Units and Task Objects

Replace paragraph 5: [8652/0009]

by:

Insert after paragraph 9: [8652/0029]

the new paragraph:

Replace paragraph 12: [8652/0009]

by:

9.4 Protected Units and Protected Objects

Replace paragraph 5: [8652/0009]

by:

Replace paragraph 8: [8652/0009]

by:

9.5.2 Entries and Accept Statements

Replace paragraph 22: [8652/0002]

by:

9.6 Delay Statements, Duration, and Time

Replace paragraph 26: [8652/0030]

by:

9.10 Shared Variables

Insert after paragraph 6: [8652/0031]

the new paragraph:




Section 10: Program Structure and Compilation Issues

10.1.4 The Compilation Process

Replace paragraph 4: [8652/0032]

by:

10.1.5 Pragmas and Program Units

Replace paragraph 5: [8652/0033]

by:

Insert after paragraph 7: [8652/0034]

the new paragraphs:

10.2.1 Elaboration Control

Replace paragraph 11: [8652/0035]

by:




Section 11: Exceptions

11.5 Suppressing Checks

Replace paragraph 11: [8652/0036]

by:




Section 12: Generic Units

12.5 Formal Types

Replace paragraph 8: [8652/0037]

by:

12.5.1 Formal Private and Derived Types

Replace paragraph 21: [8652/0038]

by:

12.7 Formal Packages

Insert after paragraph 8: [8652/0039]

the new paragraph:




Section 13: Representation Issues

Replace paragraph 1: [8652/0009]

by:

13.1 Representation Items

Replace the title: [8652/0009]

by:

Replace paragraph 1: [8652/0009]

by:

Replace paragraph 2: [8652/0009]

by:

Replace paragraph 4: [8652/0009]

by:

Replace paragraph 5: [8652/0009]

by:

Replace paragraph 6: [8652/0009]

by:

Insert after paragraph 8: [8652/0009]

the new paragraph:

Insert after paragraph 9: [8652/0009]

the new paragraph:

Replace paragraph 11: [8652/0009; 8652/0011]

by:

Replace paragraph 13: [8652/0009]

by:

Replace paragraph 15: [8652/0040]

by:

Insert after paragraph 18: [8652/0040]

the new paragraph:

Replace paragraph 19: [8652/0009]

by:

13.3 Representation Attributes

Replace the title: [8652/0009]

by:

Replace paragraph 1: [8652/0009]

by:

Replace paragraph 5: [8652/0009]

by:

Replace paragraph 9: [8652/0009]

by:

Replace paragraph 74: [8652/0009]

by:

Replace paragraph 75: [8652/0040]

by:

13.4 Enumeration Representation Clauses

Replace paragraph 11: [8652/0009]

by:

13.11 Storage Management

Replace paragraph 12: [8652/0009]

by:

Replace paragraph 39: [8652/0041]

by:

13.12 Pragma Restrictions

Insert after paragraph 8: [8652/0042]

the new paragraphs:

Insert after paragraph 9: [8652/0042; 8652/0043]

the new paragraphs:

13.13.1 The Package Streams

In paragraph 4 replace: [8652/0044]

by:

Insert after paragraph 9: [8652/0044]

the new paragraph:

13.13.2 Stream-Oriented Attributes

Replace paragraph 1: [8652/0009]

by:

Replace paragraph 9: [8652/0040]

by:

Replace paragraph 25: [8652/0040]

by:

Insert after paragraph 35: [8652/0045]

the new paragraph:

Replace paragraph 36: [8652/0040]

by:

13.14 Freezing Rules

Replace paragraph 3: [8652/0014]

by:

Replace paragraph 4: [8652/0046]

by:

Replace paragraph 8: [8652/0046]

by:

Insert after paragraph 11: [8652/0046]

the new paragraph:

Replace paragraph 19: [8652/0009]

by:




Annex A: Predefined Language Environment

In paragraph 2 replace: [8652/0047]

by:

A.1 The Package Standard

Replace paragraph 7: [8652/0028]

by:

Replace paragraph 9: [8652/0028]

by:

Replace paragraph 10: [8652/0028]

by:

A.4.2 The Package Strings.Maps

Replace paragraph 63: [8652/0048]

by:

A.4.3 Fixed-Length String Handling

Replace paragraph 68: [8652/0049]

by:

Replace paragraph 74: [8652/0049]

by:

Replace paragraph 86: [8652/0049]

by:

Replace paragraph 106: [8652/0049]

by:

A.4.4 Bounded-Length String Handling

Replace paragraph 101: [8652/0049]

by:

Replace paragraph 105: [8652/0049]

by:

A.5.1 Elementary Functions

Replace paragraph 9: [8652/0020]

by:

A.5.2 Random Number Generation

Replace paragraph 40: [8652/0050]

by:

A.10.1 The Package Text_IO

Replace paragraph 21: [8652/0051]

by:

A.10.3 Default Input, Output, and Error Files

Replace paragraph 12: [8652/0052]

by:

Replace paragraph 20: [8652/0051]

by:

Replace paragraph 22: [8652/0053]

by:

Delete paragraph 23: [8652/0053]

A.10.10 In