International Standard ISO/IEC 8652:1995


Information technology -- Programming languages -- Ada
AMENDMENT 2



Technologies de l'information -- Langages de programmation -- Ada
AMENDEMENT 2


Amendment 2 to International Standard ISO/IEC 8652:1995 was prepared by AXE Consultants.


© 2011, AXE Consultants. 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. Compiled copies of standard library units and examples need not contain this copyright notice so long as the notice is included in all copies of the source code and documentation. Any other use or distribution of this document is prohibited without the prior express permission of AXE.

Disclaimer:

This document is a draft of a possible second amendment to Ada 95 (International Standard ISO/IEC 8652:1995). This draft contains only proposals substantially approved by the ISO/IEC JTC 1/SC 22/WG 9 Ada Rapporteur Group (ARG). Many other important proposals are under consideration by the ARG. Neither the ARG nor any other group has determined which, if any, of these proposals will be included in the amendment. Any proposal may be substantially changed or withdrawn before this document begins standardization, and other proposals may be added. This document is not an official publication or work product of the ARG.



Introduction

International Standard ISO/IEC 8652:1995 defines the Ada programming language. It was amended by ISO/IEC 8652:1995/AMD.1:2007, adding additional capabilities.

This amendment modifies Ada by making changes and additions that improve:

This amendment incorporates the following major additions to the International Standard:

This Amendment is organized by sections corresponding to those in the International Standard. These sections include wording changes and additions to the International Standard. Clause and subclause headings are given for each clause that contains a wording change. Clauses and subclauses that do not contain any change or addition are omitted.

For each change, an anchor paragraph from the International Standard (as corrected by Technical Corrigendum 1) 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 International 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.1.2 Structure

Replace paragraph 12: [AI05-0004-1]

by:

1.1.4 Method of Description and Syntax Notation

Replace paragraph 14.1: [AI05-0004-1]

by:

1.2 Normative References

Insert after paragraph 1: [AI05-0127-2]

the new paragraph:

Insert after paragraph 4: [AI05-0127-2]

the new paragraph:




Section 2: Lexical Elements


2.1 Character Set

Replace paragraph 4: [AI05-0079-1]

by:

2.2 Lexical Elements, Separators, and Delimiters

Insert after paragraph 7: [AI05-0079-1]

the new paragraph:

2.3 Identifiers

Replace paragraph 3.1: [AI05-0091-1]

by:

Replace paragraph 4: [AI05-0091-1]

by:

Replace paragraph 5: [AI05-0091-1]

by:

Delete paragraph 5.1: [AI05-0091-1]

Delete paragraph 5.2: [AI05-0091-1]

Replace paragraph 5.3: [AI05-0091-1]

by:

2.8 Pragmas

Replace paragraph 7: [AI05-0100-1; AI05-0163-1]

by:

Replace paragraph 16: [AI05-0163-1]

by:

2.9 Reserved Words

Replace paragraph 2: [AI05-0091-1; AI05-0176-1]

by:

In the list in paragraph 2, add: [AI05-0091-1; AI05-0176-1]




Section 3: Declarations and Types


3.1 Declarations

Replace paragraph 3: [AI05-0177-1]

by:

Insert after paragraph 7: [AI05-0080-1]

the new paragraph:

3.2.1 Type Declarations

Replace paragraph 3: [AI05-0183-1]

by:

3.2.2 Subtype Declarations

Replace paragraph 2: [AI05-0183-1]

by:

3.2.3 Classification of Operations

Insert after paragraph 6: [AI05-0128-1]

the new paragraph:

3.3 Objects and Named Numbers

Replace paragraph 10: [AI05-0015-1]

by:

Insert after paragraph 11: [AI05-0003-1]

the new paragraph:

Replace paragraph 13: [AI05-0054-2]

by:

Replace paragraph 21: [AI05-0003-1; AI05-0015-1; AI05-0120-1]

by:

Insert after paragraph 23: [AI05-0008-1; AI05-0041-1; AI05-0093-1]

the new paragraphs:

Insert after paragraph 25: [AI05-0054-2]

the new paragraph:

3.3.1 Object Declarations

Replace paragraph 2: [AI05-0183-1]

by:

Replace paragraph 20.4: [AI05-0092-1]

by:

Replace paragraph 23: [AI05-0092-1]

by:

3.4 Derived Types and Classes

Replace paragraph 5.1: [AI05-0096-1]

by:

Replace paragraph 18: [AI05-0164-1; AI05-0240-1]

by:

3.5.1 Enumeration Types

Replace paragraph 6: [AI05-0006-1]

by:

3.5.2 Character Types

Replace paragraph 2: [AI05-0181-1]

by:

3.7 Discriminants

Replace paragraph 10: [AI05-0063-1]

by:

Delete paragraph 16: [AI05-0102-1]

3.7.1 Discriminant Constraints

Replace paragraph 7: [AI05-0041-1]

by:

Delete paragraph 9: [AI05-0102-1]

3.8 Record Types

Replace paragraph 6: [AI05-0183-1]

by:

Replace paragraph 11: [AI05-0004-1]

by:

Replace paragraph 13.1: [AI05-0004-1]

by:

3.8.1 Variant Parts and Discrete Choices

Replace paragraph 5: [AI05-0158-1]

by:

3.9 Tagged Types and Type Extensions

Insert after paragraph 7.4: [AI05-0173-1]

the new paragraph:

Replace paragraph 12.1: [AI05-0113-1]

by:

Insert after paragraph 12.4: [AI05-0173-1]

the new paragraph:

Replace paragraph 25.1: [AI05-0092-1]

by:

Replace paragraph 26.1: [AI05-0113-1]

by:

3.9.2 Dispatching Operations of Tagged Types

Replace paragraph 2: [AI05-0076-1]

by:

Replace paragraph 20: [AI05-0126-1]

by:

Replace paragraph 20.1: [AI05-0126-1]

by:

Replace paragraph 20.2: [AI05-0126-1]

by:

3.9.3 Abstract Types and Subprograms

Replace paragraph 1.1: [AI05-0183-1]

by:

Replace paragraph 4: [AI05-0097-1]

by:

Replace paragraph 8: [AI05-0073-1; AI05-0203-1]

by:

Replace paragraph 10: [AI05-0073-1]

by:

3.9.4 Interface Types

Replace paragraph 18: [AI05-0070-1]

by:

Replace paragraph 22: [AI05-0004-1]

by:

Replace paragraph 29: [AI05-0004-1]

by:

3.10 Access Types

Replace paragraph 9: [AI05-0053-1; AI05-0142-4]

by:

3.10.1 Incomplete Type Declarations

Replace paragraph 2.4: [AI05-0208-1]

by:

Replace paragraph 2.5: [AI05-0162-1]

by:

Replace paragraph 2.6: [AI05-0162-1; AI05-0208-1]

by:

Replace paragraph 3: [AI05-0162-1]

by:

Replace paragraph 4: [AI05-0162-1]

by:

Replace paragraph 6: [AI05-0098-1]

by:

Replace paragraph 8: [AI05-0151-1; AI05-0240-1]

by:

Replace paragraph 8.2: [AI05-0151-1]

by:

Delete paragraph 9.1: [AI05-0151-1]

Delete paragraph 9.2: [AI05-0098-1; AI05-0151-1]

Replace paragraph 10: [AI05-0151-1]

by:

Insert after paragraph 13: [AI05-0151-1]

the new paragraph:

3.10.2 Operations of Access Types

Insert after paragraph 9: [AI05-0188-1]

the new paragraph:

Replace paragraph 12.2: [AI05-0004-1]

by:

Insert after paragraph 13.1: [AI05-0142-4; AI05-0148-1; AI05-0240-1]

the new paragraphs:

Replace paragraph 14: [AI05-0051-1]

by:

Replace paragraph 14.1: [AI05-0024-1]

by:

Replace paragraph 14.2: [AI05-0024-1]

by:

Delete paragraph 14.3: [AI05-0024-1]

Replace paragraph 14.4: [AI05-0024-1; AI05-0051-1; AI05-0066-1]

by:

Replace paragraph 15: [AI05-0014-1]

by:

Replace paragraph 19: [AI05-0051-1; AI05-0082-1; AI05-0142-4; AI05-0148-1]

by:

Replace paragraph 26: [AI05-0008-1; AI05-0041-1]

by:

Replace paragraph 27.2: [AI05-0041-1]

by:

Replace paragraph 28: [AI05-0041-1]

by:

Insert after paragraph 32: [AI05-0188-1]

the new paragraphs:

3.11.1 Completions of Declarations

Replace paragraph 1: [AI05-0177-1]

by:




Section 4: Names and Expressions


4.1 Names

Replace paragraph 2: [AI05-0003-1]

by:

Replace paragraph 7: [AI05-0004-1]

by:

Replace paragraph 9: [AI05-0008-1]

by:

4.1.3 Selected Components

Replace paragraph 9.2: [AI05-0090-1]

by:

4.1.4 Attributes

Replace paragraph 3: [AI05-0004-1]

by:

Replace paragraph 9: [AI05-0006-1]

by:

4.3.1 Record Aggregates

Replace paragraph 15: [AI05-0016-1]

by:

Replace paragraph 16: [AI05-0199-1]

by:

4.3.2 Extension Aggregates

Insert after paragraph 5: [AI05-0067-1]

the new paragraph:

4.3.3 Array Aggregates

Replace paragraph 15: [AI05-0147-1]

by:

Replace paragraph 29: [AI05-0037-1]

by:

Replace paragraph 32: [AI05-0004-1]

by:

4.4 Expressions

Replace paragraph 1: [AI05-0147-1; AI05-0158-1; AI05-0176-1]

by:

Insert after paragraph 2: [AI05-0158-1]

the new paragraphs:

Replace paragraph 3: [AI05-0158-1]

by:

Replace paragraph 7: [AI05-0003-1; AI05-0176-1]

by:

4.5.2 Relational Operators and Membership Tests

Replace paragraph 3: [AI05-0158-1]

by:

Insert after paragraph 4: [AI05-0158-1]

the new paragraph:

Replace paragraph 9.3: [AI05-0020-1]

by:

Insert after paragraph 9.7: [AI05-0123-1]

the new paragraph:

Replace paragraph 14: [AI05-0123-1]

by:

Replace paragraph 15: [AI05-0123-1]

by:

Replace paragraph 24: [AI05-0123-1]

by:

Replace paragraph 27: [AI05-0158-1]

by:

Replace paragraph 28: [AI05-0158-1]

by:

Replace paragraph 29: [AI05-0158-1]

by:

Replace paragraph 30: [AI05-0158-1]

by:

Replace paragraph 30.2: [AI05-0149-1]

by:

4.5.5 Multiplying Operators

Replace paragraph 19.2: [AI05-0020-1; AI05-0209-1]

by:

4.5.6 Highest Precedence Operators

Replace paragraph 11: [AI05-0088-1]

by:

4.5.7 Conditional Expressions

Insert new clause: [AI05-0147-1; AI05-0188-1]

4.5.8 Quantified Expressions

Insert new clause: [AI05-0176-1]

4.6 Type Conversions

Replace paragraph 24.17: [AI05-0148-1]

by:

Replace paragraph 48: [AI05-0148-1]

by:

4.7 Qualified Expressions

Insert after paragraph 3: [AI05-0003-1]

the new paragraph:

4.8 Allocators

Insert after paragraph 2: [AI05-0104-1]

the new paragraph:

Replace paragraph 5.2: [AI05-0051-1]

by:

Replace paragraph 5.3: [AI05-0052-1; AI05-0157-1]

by:

Replace paragraph 6: [AI05-0041-1]

by:

Replace paragraph 10.1: [AI05-0024-1; AI05-0051-1]

by:

4.9 Static Expressions and Static Subtypes

Replace paragraph 11: [AI05-0158-1]

by:

Insert after paragraph 12: [AI05-0147-1; AI05-0188-1]

the new paragraph:

Replace paragraph 33: [AI05-0147-1; AI05-0158-1; AI05-0188-1]

by:

4.9.1 Statically Matching Constraints and Subtypes

Replace paragraph 4: [AI05-0086-1]

by:




Section 5: Statements


5.1 Simple and Compound Statements - Sequences of Statements

Replace paragraph 2: [AI05-0179-1]

by:

Insert after paragraph 12: [AI05-0179-1]

the new paragraph:

5.3 If Statements

Delete paragraph 3: [AI05-0147-1]

Delete paragraph 4: [AI05-0147-1]

5.4 Case Statements

Replace paragraph 2: [AI05-0188-1]

by:

Replace paragraph 4: [AI05-0188-1]

by:

Replace paragraph 6: [AI05-0188-1; AI05-0240-1]

by:

Replace paragraph 7: [AI05-0003-1; AI05-0188-1]

by:

Replace paragraph 8: [AI05-0188-1]

by:

Replace paragraph 9: [AI05-0188-1]

by:

Replace paragraph 11: [AI05-0188-1]

by:

Replace paragraph 12: [AI05-0188-1]

by:




Section 6: Subprograms


6.1 Subprogram Declarations

Replace paragraph 2: [AI05-0183-1]

by:

Replace paragraph 15: [AI05-0142-4]

by:

Replace paragraph 18: [AI05-0143-1]

by:

Replace paragraph 20: [AI05-0177-1]

by:

Insert after paragraph 23: [AI05-0142-4]

the new paragraph:

Replace paragraph 27.1: [AI05-0164-1]

by:

Replace paragraph 28.2: [AI05-0164-1]

by:

Replace paragraph 30: [AI05-0177-1]

by:

6.2 Formal Parameter Modes

Replace paragraph 3: [AI05-0142-4]

by:

Replace paragraph 7: [AI05-0096-1]

by:

Replace paragraph 10: [AI05-0142-4; AI05-0188-1]

by:

Replace paragraph 11: [AI05-0240-1]

by:

Replace paragraph 12: [AI05-0240-1]

by:

6.3.1 Conformance Rules

Replace paragraph 16: [AI05-0142-4; AI05-0207-1]

by:

Replace paragraph 18: [AI05-0046-1; AI05-0134-1]

by:

Replace paragraph 21.1: [AI05-0092-1]

by:

6.4.1 Parameter Associations

Replace paragraph 2: [AI05-0118-1]

by:

Replace paragraph 6: [AI05-0102-1; AI05-0142-4; AI05-0144-2]

by:

Replace paragraph 13: [AI05-0196-1]

by:

Insert after paragraph 15: [AI05-0142-4]

the new paragraph:

Insert after paragraph 17: [AI05-0008-1]

the new paragraph:

6.5 Return Statements

Replace paragraph 2.1: [AI05-0015-1; AI05-0053-1]

by:

Replace paragraph 5: [AI05-0015-1]

by:

Replace paragraph 5.2: [AI05-0032-1; AI05-0103-1]

by:

Insert after paragraph 5.3: [AI05-0032-1]

the new paragraph:

Replace paragraph 5.5: [AI05-0188-1]

by:

Replace paragraph 5.6: [AI05-0032-1; AI05-0051-1]

by:

Replace paragraph 5.7: [AI05-0015-1; AI05-0144-2]

by:

Replace paragraph 5.8: [AI05-0032-1]

by:

Replace paragraph 8: [AI05-0024-1; AI05-0032-1; AI05-0073-1]

by:

Replace paragraph 21: [AI05-0051-1]

by:

Replace paragraph 22: [AI05-0058-1]

by:

Replace paragraph 24: [AI05-0050-1]

by:

6.6 Overloading of Operators

Replace paragraph 3: [AI05-0143-1]

by:

Replace paragraph 6: [AI05-0128-1]

by:

6.7 Null Procedures

Replace paragraph 2: [AI05-0177-1; AI05-0183-1]

by:

Replace paragraph 3: [AI05-0177-1]

by:

Replace paragraph 5: [AI05-0177-1]

by:

6.8 Expression Functions

Insert new clause: [AI05-0177-1]




Section 7: Packages


7.1 Package Specifications and Declarations

Replace paragraph 3: [AI05-0183-1]

by:

7.3 Private Types and Private Extensions

Replace paragraph 2: [AI05-0183-1]

by:

Replace paragraph 3: [AI05-0183-1]

by:

Replace paragraph 10.1: [AI05-0004-1]

by:

7.3.1 Private Operations

Replace paragraph 3: [AI05-0029-1]

by:

Replace paragraph 6: [AI05-0029-1]

by:

7.4 Deferred Constants

Replace paragraph 6: [AI05-0062-1]

by:

Replace paragraph 10: [AI05-0004-1]

by:

7.5 Limited Types

Replace paragraph 2.1: [AI05-0147-1]

by:

Insert after paragraph 2.8: [AI05-0177-1]

the new paragraph:

Replace paragraph 3: [AI05-0178-1]

by:

Insert after paragraph 4: [AI05-0087-1]

the new paragraph:

Insert after paragraph 6: [AI05-0178-1]

the new paragraph:

Insert after paragraph 8: [AI05-0052-1; AI05-0217-1]

the new paragraphs:

Delete paragraph 8.1: [AI05-0067-1]

Replace paragraph 9: [AI05-0067-1]

by:

7.6 User-Defined Assignment and Finalization

Replace the title: [AI05-0067-1]

by:

Replace paragraph 9.3: [AI05-0092-1]

by:

Replace paragraph 9.4: [AI05-0013-1; AI05-0026-1]

by:

Replace paragraph 16: [AI05-0067-1]

by:

Insert after paragraph 17: [AI05-0067-1]

the new paragraphs:

Delete paragraph 17.1: [AI05-0067-1]

Replace paragraph 18: [AI05-0067-1]

by:

Replace paragraph 19: [AI05-0067-1]

by:

Replace paragraph 20: [AI05-0067-1]

by:

Replace paragraph 21: [AI05-0067-1]

by:

7.6.1 Completion and Finalization

Replace paragraph 6: [AI05-0099-1]

by:

Replace paragraph 7: [AI05-0099-1]

by:

Replace paragraph 8: [AI05-0099-1]

by:

Replace paragraph 9: [AI05-0099-1]

by:

Replace paragraph 11: [AI05-0051-1]

by:

Replace paragraph 13: [AI05-0066-1; AI05-0142-4]

by:

Replace paragraph 13.1: [AI05-0066-1]

by:

Delete paragraph 17.1: [AI05-0064-1]

Insert after paragraph 20: [AI05-0107-1]

the new paragraph:




Section 8: Visibility Rules


8.3 Visibility

Insert after paragraph 17: [AI05-0205-1]

the new paragraph:

8.3.1 Overriding Indicators

Replace paragraph 3: [AI05-0177-1]

by:

8.4 Use Clauses

Replace paragraph 4: [AI05-0150-1]

by:

Replace paragraph 8: [AI05-0150-1]

by:

8.5.1 Object Renaming Declarations

Replace paragraph 5: [AI05-0008-1]

by:

8.5.4 Subprogram Renaming Declarations

Replace paragraph 8: [AI05-0123-1]

by:

8.6 The Context of Overload Resolution

Insert after paragraph 25: [AI05-0149-1]

the new paragraph:

Insert after paragraph 27: [AI05-0102-1; AI05-0149-1]

the new paragraph:

Replace paragraph 29: [AI05-0149-1]

by:




Section 9: Tasks and Synchronization


9.1 Task Units and Task Objects

Replace paragraph 2: [AI05-0183-1]

by:

Replace paragraph 3: [AI05-0183-1]

by:

Replace paragraph 9.2: [AI05-0042-1]

by:

Replace paragraph 9.5: [AI05-0090-1]

by:

9.2 Task Execution - Task Activation

Replace paragraph 6: [AI05-0045-1]

by:

9.4 Protected Units and Protected Objects

Replace paragraph 2: [AI05-0183-1]

by:

Replace paragraph 3: [AI05-0183-1]

by:

Replace paragraph 11.1: [AI05-0042-1]

by:

Replace paragraph 11.4: [AI05-0090-1]

by:

9.5 Intertask Communication

Insert after paragraph 9: [AI05-0030-2]

the new paragraphs:

9.5.2 Entries and Accept Statements

Replace paragraph 2: [AI05-0183-1]

by:

9.5.4 Requeue Statements

Replace paragraph 2: [AI05-0030-2]

by:

Replace paragraph 3: [AI05-0030-2]

by:

Replace paragraph 5: [AI05-0030-2]

by:

Replace paragraph 6: [AI05-0030-2]

by:

Replace paragraph 7: [AI05-0030-2]

by:

Replace paragraph 12: [AI05-0030-2]

by:

9.6 Delay Statements, Duration, and Time

Replace paragraph 6: [AI05-0092-1]

by:

Replace paragraph 8: [AI05-0092-1]

by:

Replace paragraph 22: [AI05-0092-1]

by:

9.10 Shared Variables

Replace paragraph 1: [AI05-0009-1]

by:

Replace paragraph 6.1: [AI05-0072-1]

by:




Section 10: Program Structure and Compilation Issues


10.1.1 Compilation Units - Library Units

Replace paragraph 12.2: [AI05-0129-1]

by:

Replace paragraph 12.3: [AI05-0108-1; AI05-0129-1]

by:

Replace paragraph 17: [AI05-0004-1]

by:

10.1.2 Context Clauses - With Clauses

Replace paragraph 12: [AI05-0077-1; AI05-0122-1]

by:

Replace paragraph 20: [AI05-0040-1]

by:

Replace paragraph 21: [AI05-0077-1]

by:

Replace paragraph 22: [AI05-0077-1]

by:

10.1.3 Subunits of Compilation Units

Replace paragraph 10: [AI05-0004-1]

by:

10.1.5 Pragmas and Program Units

Replace paragraph 7: [AI05-0132-1]

by:

10.2.1 Elaboration Control

Replace paragraph 9: [AI05-0028-1]

by:

Replace paragraph 10.1: [AI05-0028-1]

by:

Replace paragraph 11: [AI05-0034-1]

by:

Replace paragraph 11.2: [AI05-0028-1]

by:

Replace paragraph 11.4: [AI05-0028-1]

by:

Replace paragraph 11.7: [AI05-0028-1]

by:

Replace paragraph 15.1: [AI05-0035-1]

by:

Replace paragraph 15.4: [AI05-0035-1]

by:

Replace paragraph 15.5: [AI05-0035-1]

by:

Replace paragraph 17: [AI05-0034-1; AI05-0035-1]

by:

Replace paragraph 18: [AI05-0219-1]

by:




Section 11: Exceptions


Replace paragraph 2: [AI05-0043-1]

by:

11.1 Exception Declarations

Replace paragraph 2: [AI05-0183-1]

by:

11.4.1 The Package Exceptions

Replace paragraph 10.1: [AI05-0043-1]

by:




Section 12: Generic Units


12.1 Generic Declarations

Replace paragraph 3: [AI05-0183-1]

by:

12.3 Generic Instantiation

Replace paragraph 2: [AI05-0183-1]

by:

Replace paragraph 7: [AI05-0004-1]

by:

Replace paragraph 9: [AI05-0118-1]

by:

12.4 Formal Objects

Replace paragraph 2: [AI05-0183-1]

by:

12.5 Formal Types

Replace paragraph 2: [AI05-0183-1]

by:

Replace paragraph 8: [AI05-0029-1]

by:

12.5.1 Formal Private and Derived Types

Replace paragraph 5.1: [AI05-0087-1]

by:

Replace paragraph 21: [AI05-0029-1]

by:

Replace paragraph 23.1: [AI05-0071-1]

by:

12.6 Formal Subprograms

Replace paragraph 2.1: [AI05-0183-1]

by:

Replace paragraph 2.2: [AI05-0183-1]

by:

Replace paragraph 10: [AI05-0071-1]

by:

12.7 Formal Packages

Replace paragraph 2: [AI05-0183-1]

by:

Insert after paragraph 4: [AI05-0025-1]

the new paragraph:




Section 13: Representation Issues


13.1 Representation Items

Replace the title: [AI05-0183-1]

by:

Replace paragraph 8: [AI05-0112-1]

by:

Insert after paragraph 9.1: [AI05-0106-1]

the new paragraph:

Replace paragraph 15: [AI05-0009-1]

by:

13.2 Pragma Pack

Replace paragraph 9: [AI05-0009-1]

by:

13.3 Representation Attributes

Replace paragraph 5: [AI05-0183-1]

by:

Replace paragraph 8.1: [AI05-0092-1]

by:

Replace paragraph 9: [AI05-0191-1]

by:

Insert after paragraph 11: [AI05-0095-1]

the new paragraph:

Replace paragraph 13: [AI05-0009-1]

by:

Insert before paragraph 29: [AI05-0116-1]

the new paragraph:

Insert after paragraph 73: [AI05-0191-1]

the new paragraphs:

Replace paragraph 75: [AI05-0092-1]

by:

Replace paragraph 76: [AI05-0113-1]

by:

13.3.1 Aspect Specifications

Insert new clause: [AI05-0183-1]

13.3.2 Preconditions and Postconditions

Insert new clause: [AI05-0145-2; AI05-0230-1]

13.3.3 Type Invariants

Insert new clause: [AI05-0146-1]

13.9 Unchecked Type Conversions

Replace paragraph 7: [AI05-0078-1]

by:

13.9.1 Data Validity

Replace paragraph 13: [AI05-0054-2]

by:

13.11 Storage Management

Replace paragraph 16: [AI05-0107-1; AI05-0116-1]

by:

Insert after paragraph 21: [AI05-0107-1; AI05-0116-1; AI05-0193-1]

the new paragraphs:

Insert after paragraph 25.2: [AI05-0051-1]

the new paragraph:

13.11.1 The Max_Size_In_Storage_Elements Attribute

Replace the title: [AI05-0193-1]

by:

Replace paragraph 1: [AI05-0193-1]

by:

Replace paragraph 2: [AI05-0193-1]

by:

Replace paragraph 3: [AI05-0193-1]

by:

13.11.2 Unchecked Storage Deallocation

the new paragraph:

Insert before paragraph 4: [AI05-0157-1]

Replace paragraph 9: [AI05-0107-1]

by:

Replace paragraph 16: [AI05-0033-1]

by:

the new paragraph:

Insert after paragraph 17: [AI05-0157-1]

13.12 Pragma Restrictions

Replace paragraph 8: [AI05-0013-1]

by:

13.13.2 Stream-Oriented Attributes

Insert after paragraph 9: [AI05-0023-1]

the new paragraph:

Replace paragraph 27: [AI05-0023-1]

by:

Replace paragraph 34: [AI05-0109-1]

by:

Replace paragraph 38: [AI05-0039-1]

by:

Replace paragraph 51: [AI05-0007-1]

by:

Replace paragraph 52: [AI05-0065-1]

by:

Replace paragraph 55: [AI05-0092-1]

by:

Replace paragraph 56: [AI05-0023-1; AI05-0092-1]

by:

13.14 Freezing Rules

Insert after paragraph 2: [AI05-0019-1]

the new paragraph:

Replace paragraph 3: [AI05-0017-1; AI05-0019-1]

by:

Replace paragraph 8.1: [AI05-0019-1]

by:

Insert after paragraph 10: [AI05-0019-1; AI05-0177-1]

the new paragraphs:

Replace paragraph 14: [AI05-0019-1]

by:

Replace paragraph 15.1: [AI05-0019-1]

by:




Annex A: Predefined Language Environment


Insert after paragraph 3: [AI05-0048-1]

the new paragraph:

Insert after paragraph 4: [AI05-0060-1]

the new paragraph:

A.1 The Package Standard

In paragraph 35 replace: [AI05-0181-1]

by:

A.3.1 Packages Characters, Wide_Characters, and Wide_Wide_Characters

Replace paragraph 7: [AI05-0185-1]

by:

A.3.2 The Package Characters.Handling

Replace paragraph 4: [AI05-0185-1]

by:

Insert after paragraph 32: [AI05-0185-1]

the new paragraphs:

Insert after paragraph 59: [AI05-0114-1]

the new paragraph:

A.3.3 The Package Characters.Latin_1

In paragraph 21 replace: [AI05-0181-1]

by:

A.3.5 The Package Wide_Characters.Handling

Insert new clause: [AI05-0185-1]

A.3.6 The Package Wide_Wide_Characters.Handling

Insert new clause: [AI05-0185-1]

A.4.3 Fixed-Length String Handling

Insert before paragraph 16: [AI05-0031-1]

the new paragraph:

Replace paragraph 56.2: [AI05-0056-1]

by:

Insert before paragraph 67: [AI05-0031-1]

the new paragraphs:

Replace paragraph 68: [AI05-0031-1]

by:

A.4.4 Bounded-Length String Handling

Insert before paragraph 51: [AI05-0031-1]

the new paragraph:

A.4.5 Unbounded-Length String Handling

Insert before paragraph 46: [AI05-0031-1]

the new paragraph:

A.4.6 String-Handling Sets and Mappings

Insert after paragraph 7: [AI05-0114-1]

the new paragraph:

A.4.7 Wide_String Handling

Insert after paragraph 28: [AI05-0223-1]

the new paragraph:

A.4.8 Wide_Wide_String Handling

Insert after paragraph 28: [AI05-0223-1]

the new paragraph:

A.4.9 String Hashing

Replace paragraph 8: [AI05-0001-1]

by:

Replace paragraph 11: [AI05-0001-1]

by:

A.4.10 String Comparison

Insert new clause: [AI05-0001-1]

A.4.11 String Encoding

Insert new clause: [AI05-0137-2]

A.10.5 Operations on Columns, Lines, and Pages

Replace paragraph 37: [AI05-0038-1]

by:

A.10.7 Input-Output of Characters and Strings

Replace paragraph 8: [AI05-0038-1]

by:

Replace paragraph 10: [AI05-0038-1]

by:

Replace paragraph 12: [AI05-0038-1]

by:

A.10.8 Input-Output for Integer Types

Replace paragraph 10: [AI05-0038-1]

by:

Delete paragraph 24: [AI05-0038-1]

A.11 Wide Text Input-Output and Wide Wide Text Input-Output

Replace paragraph 4: [AI05-0004-1; AI05-0092-1]

by:

by:

A.16 The Package Directories

Insert after paragraph 20: [AI05-0049-1]

the new paragraphs:

Replace paragraph 44: [AI05-0092-1]

by:

Replace paragraph 59: [AI05-0231-1]

by:

Replace paragraph 67: [AI05-0231-1]

by:

Replace paragraph 68: [AI05-0092-1]

by:

Insert after paragraph 82: [AI05-0049-1]

the new paragraphs:

Replace paragraph 104: [AI05-0092-1]

by:

Replace paragraph 112: [AI05-0092-1]

by:

Replace paragraph 125: [AI05-0231-1]

by:

A.16.1 The Package Directories.Hierarchical_File_Names

Insert new clause: [AI05-0049-1]

A.18 Containers

Insert after paragraph 4: [AI05-0001-1; AI05-0044-1]

the new paragraph:

A.18.1 The Package Containers

Insert after paragraph 5: [AI05-0001-1]

the new paragraph:

A.18.2 The Generic Package Containers.Vectors

Replace paragraph 6: [AI05-0084-1]

by:

Insert after paragraph 34: [AI05-0001-1]

the new paragraphs:

Insert after paragraph 88: [AI05-0001-1]

the new paragraph:

Insert after paragraph 89: [AI05-0001-1]

the new paragraph:

Insert after paragraph 93: [AI05-0001-1]

the new paragraph:

Replace paragraph 115: [AI05-0001-1]

by:

Replace paragraph 139: [AI05-0021-1]

by:

Insert after paragraph 147: [AI05-0001-1]

the new paragraphs:

Replace paragraph 149: [AI05-0001-1]

by:

Replace paragraph 189: [AI05-0092-1]

by:

Replace paragraph 231: [AI05-0044-1]

by:

Replace paragraph 237: [AI05-0021-1]

by:

Insert after paragraph 239: [AI05-0022-1; AI05-0027-1]

the new paragraph:

Insert after paragraph 249: [AI05-0160-1]

the new paragraph:

Replace paragraph 251: [AI05-0160-1]

by:

A.18.3 The Generic Package Containers.Doubly_Linked_Lists

Replace paragraph 5: [AI05-0084-1]

by:

Insert after paragraph 17: [AI05-0001-1]

the new paragraphs:

Insert after paragraph 60: [AI05-0001-1]

the new paragraph:

Insert after paragraph 65: [AI05-0001-1]

the new paragraph:

Replace paragraph 83: [AI05-0021-1]

by:

Insert after paragraph 86: [AI05-0001-1]

the new paragraphs:

Replace paragraph 88: [AI05-0001-1]

by:

Replace paragraph 102: [AI05-0021-1]

by:

Replace paragraph 145: [AI05-0044-1]

by:

Replace paragraph 151: [AI05-0021-1]

by:

Insert after paragraph 152: [AI05-0022-1; AI05-0027-1]

the new paragraphs:

Insert after paragraph 154: [AI05-0160-1]

the new paragraph:

Replace paragraph 156: [AI05-0160-1]

by:

A.18.4 Maps

Insert after paragraph 10: [AI05-0001-1]

the new paragraph:

Insert after paragraph 19: [AI05-0001-1]

the new paragraph:

Replace paragraph 38: [AI05-0021-1]

by:

Insert after paragraph 41: [AI05-0001-1]

the new paragraph:

Replace paragraph 43: [AI05-0001-1]

by:

Insert after paragraph 75: [AI05-0022-1; AI05-0027-1]

the new paragraphs:

Insert after paragraph 77: [AI05-0160-1]

the new paragraph:

Replace paragraph 79: [AI05-0160-1]

by:

A.18.5 The Generic Package Containers.Hashed_Maps

Replace paragraph 2: [AI05-0084-1]

by:

Insert after paragraph 17: [AI05-0001-1]

the new paragraphs:

Insert after paragraph 53: [AI05-0001-1]

the new paragraph:

A.18.6 The Generic Package Containers.Ordered_Maps

Replace paragraph 2: [AI05-0084-1]

by:

Insert after paragraph 16: [AI05-0001-1]

the new paragraphs:

Replace paragraph 56: [AI05-0044-1]

by:

Insert after paragraph 58: [AI05-0001-1]

the new paragraphs:

A.18.7 Sets

Insert after paragraph 10: [AI05-0001-1]

the new paragraph:

Insert after paragraph 18: [AI05-0001-1]

the new paragraph:

Replace paragraph 36: [AI05-0001-1; AI05-0021-1]

by:

Replace paragraph 38: [AI05-0001-1]

by:

Replace paragraph 58: [AI05-0004-1]

by:

Delete paragraph 79: [AI05-0004-1]

Insert after paragraph 82: [AI05-0004-1]

the new paragraph:

Insert after paragraph 96: [AI05-0022-1; AI05-0027-1]

the new paragraphs:

Insert after paragraph 98: [AI05-0160-1]

the new paragraph:

Replace paragraph 100: [AI05-0160-1]

by:

A.18.8 The Generic Package Containers.Hashed_Sets

Replace paragraph 2: [AI05-0084-1]

by:

Insert after paragraph 17: [AI05-0001-1]

the new paragraphs:

Insert after paragraph 66: [AI05-0044-1]

the new paragraph:

Insert after paragraph 75: [AI05-0001-1]

the new paragraph:

A.18.9 The Generic Package Containers.Ordered_Sets

Replace paragraph 2: [AI05-0084-1]

by:

Insert after paragraph 16: [AI05-0001-1]

the new paragraphs:

Replace paragraph 79: [AI05-0044-1]

by:

Insert after paragraph 81: [AI05-0001-1]

the new paragraphs:

A.18.10 The Generic Package Containers.Multiway_Trees

Insert new clause: [AI05-0136-1]

A.18.11 The Generic Package Containers.Indefinite_Vectors

Replace paragraph 2: [AI05-0092-1]

by:

A.18.12 The Generic Package Containers.Indefinite_Doubly_Linked_Lists

Replace paragraph 2: [AI05-0092-1]

by:

A.18.13 The Generic Package Containers.Indefinite_Hashed_Maps

Replace paragraph 2: [AI05-0092-1]

by:

A.18.14 The Generic Package Containers.Indefinite_Ordered_Maps

Replace paragraph 2: [AI05-0092-1]

by:

A.18.15 The Generic Package Containers.Indefinite_Hashed_Sets

Replace paragraph 2: [AI05-0092-1]

by:

A.18.16 The Generic Package Containers.Indefinite_Ordered_Sets

Replace paragraph 2: [AI05-0092-1]

by:

A.18.17 The Generic Package Containers.Indefinite_Multiway_Trees

Insert new clause: [AI05-0136-1]

A.18.18 The Generic Package Containers.Indefinite_Holders

Insert new clause: [AI05-0001-1; AI05-0069-1; AI05-0084-1]

A.18.19 The Generic Package Containers.Bounded_Vectors

Insert new clause: [AI05-0001-1; AI05-0160-1; AI05-0184-1]

A.18.20 The Generic Package Containers.Bounded_Doubly_Linked_Lists

Insert new clause: [AI05-0001-1; AI05-0160-1; AI05-0184-1]

A.18.21 The Generic Package Containers.Bounded_Hashed_Maps

Insert new clause: [AI05-0001-1; AI05-0160-1; AI05-0184-1]

A.18.22 The Generic Package Containers.Bounded_Ordered_Maps

Insert new clause: [AI05-0001-1; AI05-0160-1; AI05-0184-1]

A.18.23 The Generic Package Containers.Bounded_Hashed_Sets

Insert new clause: [AI05-0001-1; AI05-0160-1; AI05-0184-1]

A.18.24 The Generic Package Containers.Bounded_Ordered_Sets

Insert new clause: [AI05-0001-1; AI05-0160-1; AI05-0184-1]

A.18.25 The Generic Package Containers.Bounded_Multiway_Trees

Insert new clause: [AI05-0136-1; AI05-0184-1]

A.18.26 Array Sorting

Replace paragraph 1: [AI05-0001-1]

by:

Replace paragraph 5: [AI05-0044-1]

by:

Replace paragraph 9: [AI05-0001-1; AI05-0044-1]

by:

A.18.27 The Generic Package Containers.Synchronized_Queue_Interfaces

A.18.28 The Generic Package Containers.Unbounded_Synchronized_Queues

Insert new clause: [AI05-0159-1]

A.18.29 The Generic Package Containers.Bounded_Synchronized_Queues

Insert new clause: [AI05-0159-1]

A.18.30 The Generic Package Containers.Unbounded_Priority_Queues

Insert new clause: [AI05-0159-1]

A.18.31 The Generic Package Containers.Bounded_Priority_Queues

Insert new clause: [AI05-0159-1]

A.18.32 Indefinite Synchronized Queues

Insert new clause: [AI05-0159-1]

A.19 The Package Locales

Insert new clause: [AI05-0127-2; AI05-0233-1]




Annex B: Interface to Other Languages


B.1 Interfacing Pragmas

Replace paragraph 17: [AI05-0002-1]

by:

B.3 Interfacing with C and C++

Insert after paragraph 62: [AI05-0002-1]

the new paragraphs:

Replace paragraph 71.1: [AI05-0002-1]

by:

B.3.3 Pragma Unchecked_Union

Replace paragraph 9: [AI05-0026-1]

by:

Replace paragraph 10: [AI05-0026-1]

by:




Annex C: Systems Programming


C.3.1 Protected Procedure Handlers

Replace paragraph 7: [AI05-0033-1]

by:

Delete paragraph 8: [AI05-0033-1]

C.6 Shared Variable Control

Replace paragraph 2: [AI05-0009-1]

by:

Insert after paragraph 4: [AI05-0009-1]

the new paragraph:

Insert after paragraph 6: [AI05-0009-1]

the new paragraph:

Replace paragraph 9: [AI05-0009-1]

by:

Replace paragraph 12: [AI05-0142-4]

by:

Insert after paragraph 13: [AI05-0009-1]

the new paragraphs:

Insert after paragraph 14: [AI05-0009-1]

the new paragraph:

Replace paragraph 16: [AI05-0117-1]

by:

C.7.1 The Package Task_Identification

Replace paragraph 3: [AI05-0189-1]

by:

Replace paragraph 4: [AI05-0189-1]

by:

Insert after paragraph 8: [AI05-0189-1]

the new paragraph:

Insert after paragraph 10: [AI05-0189-1]

the new paragraph:

Replace paragraph 17: [AI05-0004-1]

by:




Annex D: Real-Time Systems


D.2.1 The Task Dispatching Model

Replace paragraph 1.2: [AI05-0166-1]

by:

Insert after paragraph 6: [AI05-0166-1]

the new paragraph:

D.2.4 Non-Preemptive Dispatching

Insert after paragraph 2: [AI05-0166-1]

the new paragraphs:

Replace paragraph 9: [AI05-0166-1]

by:

D.2.6 Earliest Deadline First Dispatching

Replace paragraph 26: [AI05-0055-1]

by:

D.5.1 Dynamic Priorities for Tasks

Replace paragraph 18: [AI05-0092-1]

by:

D.7 Tasking Restrictions

Replace paragraph 3: [AI05-0013-1; AI05-0216-1]

by:

Replace paragraph 4: [AI05-0013-1]

by:

Replace paragraph 5: [AI05-0211-1]

by:

Replace paragraph 10: [AI05-0013-1; AI05-0211-1]

by:

Replace paragraph 10.1: [AI05-0013-1]

by:

Replace paragraph 10.2: [AI05-0013-1]

by:

Replace paragraph 10.4: [AI05-0211-1]

by:

Replace paragraph 10.7: [AI05-0211-1]

by:

Replace paragraph 10.8: [AI05-0013-1]

by:

Insert after paragraph 19.1: [AI05-0189-1]

the new paragraphs:

D.9 Delay Accuracy

Replace paragraph 6: [AI05-0004-1]

by:

D.10 Synchronous Task Control

the new paragraph:

the new paragraphs:

Insert after paragraph 10: [AI05-0168-1]

the new paragraph:

Insert after paragraph 11: [AI05-0168-1]

the new paragraph:

D.10.1 Synchronous Barriers

Insert new clause: [AI05-0174-1]

D.13.1 The Ravenscar Profile

Replace paragraph 4: [AI05-0171-1]

by:

D.14 Execution Time

Insert after paragraph 9: [AI05-0170-1]

the new paragraphs:

Replace paragraph 11: [AI05-0170-1]

by:

Insert after paragraph 13: [AI05-0170-1]

the new paragraph:

Insert after paragraph 18: [AI05-0170-1]

the new paragraph:

D.14.2 Group Execution Time Budgets

Replace paragraph 3: [AI05-0169-1]

by:

Replace paragraph 4: [AI05-0092-1; AI05-0169-1]

by:

Replace paragraph 21: [AI05-0092-1; AI05-0169-1]

by:

D.14.3 Execution Time of Interrupt Handlers

Insert new clause: [AI05-0170-1]

D.15 Timing Events

Replace paragraph 15: [AI05-0094-1]

by:

Replace paragraph 24: [AI05-0210-1]

by:

D.16 Multiprocessor Implementation

Insert new clause: [AI05-0171-1]




Annex E: Distributed Systems


E.2.2 Remote Types Library Units

Replace paragraph 9: [AI05-0060-1]

by:

Replace paragraph 9.2: [AI05-0060-1]

by:

Replace paragraph 14: [AI05-0060-1; AI05-0101-1]

by:

Insert after paragraph 16: [AI05-0101-1]

the new paragraph:

Insert after paragraph 18: [AI05-0060-1]

the new paragraphs:

E.2.3 Remote Call Interface Library Units

Replace paragraph 14: [AI05-0101-1]

by:

E.4 Remote Subprogram Calls

Replace paragraph 7: [AI05-0101-1]

by:




Annex F: Information Systems


No changes in this section.




Annex G: Numerics


G.2.2 Model-Oriented Attributes of Floating Point Types

Replace paragraph 11: [AI05-0092-1]

by:

G.3.1 Real Vectors and Matrices

Replace paragraph 78: [AI05-0047-1]

by:

Insert after paragraph 90: [AI05-0047-1]

the new paragraph:

G.3.2 Complex Vectors and Matrices

Replace paragraph 16: [AI05-0047-1]

by:

Replace paragraph 75: [AI05-0047-1]

by:

Replace paragraph 146: [AI05-0047-1]

by:

Insert after paragraph 160: [AI05-0047-1]

the new paragraph:




Annex H: Safety and Security


H.4 Safety and Security Restrictions

Insert after paragraph 8: [AI05-0152-1]

the new paragraph:

Replace paragraph 23.3: [AI05-0189-1]

by:




Annex J: Obsolescent Features


J.1 Renamings of Library Units

Replace the title: [AI05-0004-1]

by:

J.8 Mod Clauses

Replace paragraph 3: [AI05-0092-1]

by:




Annex M: Implementation-Defined Characteristics


No changes in this section.




Annex N: Glossary


No changes in this section.




Annex Q: Language-Defined Entities


No changes in this section.