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 Input-Output for Enumeration Types

Replace paragraph 17: [8652/0054]

by:

A.12.1 The Package Streams.Stream_IO

Insert before paragraph 2: [8652/0055]

the new paragraph:

Replace paragraph 25: [8652/0051]

by:

Insert after paragraph 28: [8652/0055]

the new paragraphs:

Replace paragraph 29: [8652/0056]

by:

Insert after paragraph 30: [8652/0055]

the new paragraph:

Replace paragraph 31: [8652/0055]

by:

Insert after paragraph 32: [8652/0055]

the new paragraphs:

Delete paragraph 34: [8652/0055]

Delete paragraph 35: [8652/0055]

Replace paragraph 36: [8652/0055; 8652/0056]

by:

A.14 File Sharing

Delete paragraph 3: [8652/0057]




Annex B: Interface to Other Languages

B.1 Interfacing Pragmas

Insert after paragraph 9: [8652/0058]

the new paragraph:

B.3 Interfacing with C

Replace paragraph 1: [8652/0059]

by:

Replace paragraph 20: [8652/0060]

by:

Replace paragraph 30: [8652/0060]

by:

Replace paragraph 31: [8652/0060]

by:

Insert after paragraph 60: [8652/0059]

the new paragraphs:

Replace paragraph 61: [8652/0059]

by:

Insert before paragraph 63: [8652/0060]

the new paragraph:

Insert after paragraph 68: [8652/0059]

the new paragraph:

Replace paragraph 69: [8652/0059]

by:

B.3.1 The Package Interfaces.C.Strings

Replace paragraph 24: [8652/0061]

by:

Replace paragraph 36: [8652/0062]

by:

Replace paragraph 40: [8652/0063]

by:

Replace paragraph 44: [8652/0064]

by:

B.3.2 The Generic Package Interfaces.C.Pointers

Replace paragraph 49: [8652/0065]

by:

B.4 Interfacing with COBOL

Replace paragraph 63: [8652/0066]

by:

Replace paragraph 64: [8652/0066]

by:

Replace paragraph 65: [8652/0066]

by:

Replace paragraph 71: [8652/0067]

by:

Replace paragraph 79: [8652/0067]

by:

Replace paragraph 87: [8652/0067]

by:




Annex C: Systems Programming

C.3.1 Protected Procedure Handlers

Replace paragraph 12: [8652/0068]

by:

Insert after paragraph 14: [8652/0068]

the new paragraph:

C.3.2 The Package Interrupts

Replace paragraph 16: [8652/0069]

by:

Replace paragraph 18: [8652/0069]

by:

C.7.1 The Package Task_Identification

In paragraph 3 replace: [8652/0070]

by:

C.7.2 The Package Task_Attributes

Insert after paragraph 13: [8652/0071]

the new paragraph:

Insert after paragraph 15: [8652/0071]

the new paragraph:

Replace paragraph 16: [8652/0071]

by:




Annex D: Real-Time Systems

D.1 Task Priorities

Replace paragraph 21: [8652/0072]

by:

Replace paragraph 22: [8652/0072]

by:

D.3 Priority Ceiling Locking

In paragraph 6 replace: [8652/0073]

by:

D.4 Entry Queuing Policies

Replace paragraph 1: [8652/0074]

by:

Replace paragraph 10: [8652/0075]

by:

D.7 Tasking Restrictions

Replace paragraph 4: [8652/0042]

by:

Delete paragraph 15: [8652/0076]

Replace paragraph 17: [8652/0076]

by:

Replace paragraph 18: [8652/0076]

by:

Replace paragraph 19: [8652/0076]

by:

D.11 Asynchronous Task Control

Replace paragraph 18: [8652/0077]

by:




Annex E: Distributed Systems

E.2 Categorization of Library Units

Replace paragraph 4: [8652/0078]

by:

Delete paragraph 13: [8652/0079]

E.2.1 Shared Passive Library Units

Replace paragraph 7: [8652/0080]

by:

E.2.2 Remote Types Library Units

Replace paragraph 9: [8652/0081; 8652/0082]

by:

Replace paragraph 14: [8652/0083]

by:

E.2.3 Remote Call Interface Library Units

Replace paragraph 7: [8652/0078]

by:

Replace paragraph 9: [8652/0078]

by:

Replace paragraph 10: [8652/0078]

by:

Replace paragraph 11: [8652/0078]

by:

Replace paragraph 12: [8652/0078]

by:

Replace paragraph 13: [8652/0078]

by:

Replace paragraph 14: [8652/0078]

by:

Replace paragraph 19: [8652/0078]

by:

E.3 Consistency of a Distributed System

Replace paragraph 5: [8652/0084]

by:

E.4 Remote Subprogram Calls

Replace paragraph 18: [8652/0085]

by:

Insert after paragraph 20: [8652/0086]

the new paragraph:

E.5 Partition Communication Subsystem

Insert after paragraph 24: [8652/0087]

the new paragraphs:




Annex F: Information Systems

F.3.1 Picture String Formation

Replace paragraph 43: [8652/0088]

by:

F.3.2 Edited Output Generation

Replace paragraph 74: [8652/0089]

by:




Annex G: Numerics

G.1.1 Complex Types

Replace paragraph 2: [8652/0090]

by:

Replace paragraph 25: [8652/0020]

by:

Replace paragraph 55: [8652/0091]

by:

G.1.2 Complex Elementary Functions

Replace paragraph 9: [8652/0020]

by:

G.1.3 Complex Input-Output

Replace paragraph 12: [8652/0092]

by:




Annex H: Safety and Security

H.3.2 Pragma Inspection_Point

Replace paragraph 5: [8652/0093]

by:

H.4 Safety and Security Restrictions

Replace paragraph 8: [8652/0042]

by:




Annex J: Obsolescent Features

J.7.1 Interrupt Entries

Replace paragraph 16: [8652/0077]

by:

Replace paragraph 20: [8652/0077]

by: