International Standard ISO/IEC 8652:1995


Information technology -- Programming languages -- Ada
AMENDMENT 1 (Draft 12)



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


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


© 2005, 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.



Introduction

International Standard ISO/IEC 8652:1995 defines the Ada programming language.

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.

Disclaimer:

This document is a draft of a possible 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.




Foreword and Introduction


Introduction

Replace paragraph 3: [AI95-00387-01]

by:

Replace paragraph 5: [AI95-00387-01]

by:

Replace paragraph 6: [AI95-00387-01]

by:

Replace paragraph 32: [AI95-00285-01; AI95-00387-01]

by:

Replace paragraph 34: [AI95-00285-01; AI95-00387-01]

by:

Insert after paragraph 38: [AI95-00387-01]

the new paragraph:

Replace paragraph 41: [AI95-00387-01]

by:

Replace paragraph 42: [AI95-00387-01]

by:

Replace paragraph 44: [AI95-00387-01]

by:

Replace paragraph 45: [AI95-00387-01]

by:

Replace paragraph 46: [AI95-00387-01]

by:

Replace paragraph 47: [AI95-00387-01]

by:

Replace paragraph 48: [AI95-00387-01]

by:

Replace paragraph 49: [AI95-00387-01]

by:

Replace paragraph 50: [AI95-00387-01]

by:

Replace paragraph 51: [AI95-00387-01]

by:

Replace paragraph 57: [AI95-00387-01]

by:




Section 1: General


1.1.2 Structure

Replace paragraph 13: [AI95-00347-01]

by:

1.1.4 Method of Description and Syntax Notation

Replace paragraph 9: [AI95-00433-01]

by:

Insert after paragraph 14: [AI95-00285-01]

the new paragraph:

Insert before paragraph 15: [AI95-00395-01]

the new paragraph:

1.2 Normative References

Replace paragraph 3: [AI95-00415-01]

by:

Replace paragraph 4: [AI95-00415-01]

by:

Insert after paragraph 5: [AI95-00351-01]

the new paragraph:

Replace paragraph 7: [AI95-00415-01]

by:

Replace paragraph 8: [AI95-00285-01; AI95-00376-01]

by:

1.3 Definitions

Replace paragraph 1: [AI95-00415-01]

by:




Section 2: Lexical Elements


2.1 Character Set

Replace paragraph 1: [AI95-00285-01; AI95-00395-01]

by:

Delete paragraph 2: [AI95-00285-01]

Replace paragraph 3: [AI95-00285-01; AI95-00395-01]

by:

Replace paragraph 4: [AI95-00285-01; AI95-00395-01]

by:

Replace paragraph 5: [AI95-00285-01]

by:

Replace paragraph 6: [AI95-00285-01]

by:

Delete paragraph 7: [AI95-00285-01]

Replace paragraph 8: [AI95-00285-01]

by:

Replace paragraph 9: [AI95-00285-01]

by:

Replace paragraph 10: [AI95-00285-01]

by:

Replace paragraph 11: [AI95-00285-01]

by:

Replace paragraph 12: [AI95-00285-01]

by:

Replace paragraph 13: [AI95-00285-01]

by:

Replace paragraph 14: [AI95-00285-01; AI95-00395-01]

by:

Replace paragraph 15: [AI95-00285-01]

by:

Delete paragraph 16: [AI95-00285-01]

Replace paragraph 17: [AI95-00285-01]

by:

2.2 Lexical Elements, Separators, and Delimiters

Replace paragraph 2: [AI95-00285-01]

by:

Replace paragraph 3: [AI95-00285-01]

by:

Replace paragraph 4: [AI95-00285-01]

by:

Replace paragraph 5: [AI95-00285-01]

by:

Replace paragraph 8: [AI95-00285-01]

by:

2.3 Identifiers

Replace paragraph 2: [AI95-00285-01; AI95-00395-01]

by:

Replace paragraph 3: [AI95-00285-01; AI95-00395-01]

by:

Replace paragraph 4: [AI95-00395-01]

by:

Replace paragraph 5: [AI95-00285-01; AI95-00395-01]

by:

Replace paragraph 6: [AI95-00285-01; AI95-00395-01]

by:

Replace paragraph 8: [AI95-00433-01]

by:

2.4.1 Decimal Literals

Insert after paragraph 5: [AI95-00285-01]

the new paragraph:

2.5 Character Literals

Replace paragraph 5: [AI95-00433-01]

by:

2.6 String Literals

Insert after paragraph 7: [AI95-00285-01]

the new paragraph:

Replace paragraph 9: [AI95-00433-01]

by:

2.8 Pragmas

Replace paragraph 29: [AI95-00433-01]

by:

2.9 Reserved Words

In paragraph 2 replace: [AI95-00284-02; AI95-00395-01]

by:

In the list in paragraph 2, add: [AI95-00284-02; AI95-00395-01]




Section 3: Declarations and Types


3.1 Declarations

Replace paragraph 3: [AI95-00348-01]

by:

3.2 Types and Subtypes

Replace paragraph 4: []

by:

Replace paragraph 5: [AI95-00326-01]

by:

Replace paragraph 6: [AI95-00366-01]

by:

Replace paragraph 7: [AI95-00231-01]

by:

Replace paragraph 8: [AI95-00231-01; AI95-00415-01]

by:

Replace paragraph 12: [AI95-00345-01]

by:

Replace paragraph 13: [AI95-00345-01]

by:

3.2.1 Type Declarations

Replace paragraph 4: [AI95-00251-01]

by:

Replace paragraph 7: [AI95-00230-01]

by:

Replace paragraph 8: [AI95-00230-01; AI95-00326-01]

by:

3.2.2 Subtype Declarations

Replace paragraph 3: [AI95-00231-01]

by:

Replace paragraph 15: [AI95-00433-01]

by:

3.2.3 Classification of Operations

Replace paragraph 1: [AI95-00416-01]

by:

Insert after paragraph 6: [AI95-00335-01]

the new paragraph:

Replace paragraph 7: [AI95-00200-01]

by:

3.3 Objects and Named Numbers

Replace paragraph 10: [AI95-00416-01]

by:

3.3.1 Object Declarations

Replace paragraph 2: [AI95-00385-01; AI95-00406-01]

by:

Replace paragraph 5: [AI95-00287-01]

by:

Replace paragraph 8: [AI95-00373-01; AI95-00385-01]

by:

Replace paragraph 9: [AI95-00363-01]

by:

Replace paragraph 16: [AI95-00385-01]

by:

Replace paragraph 18: [AI95-00373-01]

by:

Delete paragraph 19: [AI95-00373-01]

Replace paragraph 20: [AI95-00373-01]

by:

Replace paragraph 27: [AI95-00433-01]

by:

Replace paragraph 29: [AI95-00433-01]

by:

Replace paragraph 31: [AI95-00433-01]

by:

Replace paragraph 33: [AI95-00433-01]

by:

3.4 Derived Types and Classes

Replace paragraph 1: [AI95-00401-01; AI95-00419-01]

by:

Replace paragraph 2: [AI95-00251-01; AI95-00419-01]

by:

Replace paragraph 3: [AI95-00251-01; AI95-00401-01; AI95-00419-01]

by:

Replace paragraph 5: [AI95-00401-01; AI95-00419-01]

by:

Insert after paragraph 6: [AI95-00231-01]

the new paragraph:

Replace paragraph 8: [AI95-00251-01; AI95-00401-01]

by:

Delete paragraph 15: [AI95-00419-01]

Replace paragraph 17: [AI95-00401-01]

by:

Replace paragraph 18: [AI95-00401-01]

by:

Replace paragraph 22: [AI95-00401-01]

by:

Replace paragraph 23: [AI95-00251-01; AI95-00401-01]

by:

Replace paragraph 27: [AI95-00391-01; AI95-00401-01]

by:

Insert after paragraph 35: [AI95-00251-01; AI95-00345-01; AI95-00401-01]

the new paragraphs:

3.4.1 Derivation Classes

Replace paragraph 2: [AI95-00251-01; AI95-00401-01]

by:

Replace paragraph 6: [AI95-00230-01]

by:

Replace paragraph 10: [AI95-00230-01; AI95-00251-01]

by:

3.5 Scalar Types

Insert after paragraph 27: [AI95-00285-01]

the new paragraphs:

Replace paragraph 30: [AI95-00285-01]

by:

Delete paragraph 31: [AI95-00285-01]

Delete paragraph 32: [AI95-00285-01]

Delete paragraph 33: [AI95-00285-01]

Delete paragraph 34: [AI95-00285-01]

Replace paragraph 37: [AI95-00285-01]

by:

Insert after paragraph 39: [AI95-00285-01]

the new paragraphs:

Replace paragraph 43: [AI95-00285-01]

by:

Delete paragraph 44: [AI95-00285-01]

Delete paragraph 45: [AI95-00285-01]

Delete paragraph 46: [AI95-00285-01]

Delete paragraph 47: [AI95-00285-01]

Delete paragraph 48: [AI95-00285-01]

Delete paragraph 49: [AI95-00285-01]

Delete paragraph 50: [AI95-00285-01]

Delete paragraph 51: [AI95-00285-01]

Replace paragraph 55: [AI95-00285-01]

by:

Replace paragraph 56: [AI95-00285-01]

by:

Replace paragraph 59: [AI95-00285-01]

by:

3.5.2 Character Types

Replace paragraph 2: [AI95-00285-01]

by:

Replace paragraph 3: [AI95-00285-01; AI95-00395-01]

by:

Delete paragraph 4: [AI95-00285-01]

Delete paragraph 5: [AI95-00285-01]

3.5.4 Integer Types

Replace paragraph 16: [AI95-00340-01]

by:

3.5.9 Fixed Point Types

Replace paragraph 8: [AI95-00100-01]

by:

3.6 Array Types

Replace paragraph 7: [AI95-00230-01; AI95-00406-01]

by:

Delete paragraph 11: [AI95-00363-01]

Replace paragraph 22: [AI95-00230-01]

by:

Replace paragraph 30: [AI95-00433-01]

by:

3.6.2 Operations of Array Types

Replace paragraph 16: [AI95-00287-01]

by:

3.6.3 String Types

Replace paragraph 2: [AI95-00285-01]

by:

Replace paragraph 4: [AI95-00285-01]

by:

3.7 Discriminants

Replace paragraph 1: [AI95-00251-01; AI95-00326-01]

by:

Replace paragraph 5: [AI95-00231-01]

by:

Replace paragraph 8: [AI95-00251-01]

by:

Replace paragraph 9: [AI95-00231-01; AI95-00254-01]

by:

Replace paragraph 10: [AI95-00230-01; AI95-00402-01; AI95-00419-01]

by:

Delete paragraph 11: [AI95-00402-01]

Replace paragraph 27: [AI95-00230-01; AI95-00416-01]

by:

Replace paragraph 37: [AI95-00433-01]

by:

3.7.1 Discriminant Constraints

Replace paragraph 7: [AI95-00363-01]

by:

3.8 Record Types

Delete paragraph 8: [AI95-00287-01]

Replace paragraph 9: [AI95-00366-01]

by:

Insert before paragraph 14: [AI95-00318-02]

the new paragraph:

Replace paragraph 18: [AI95-00230-01]

by:

Replace paragraph 25: [AI95-00287-01]

by:

3.9 Tagged Types and Type Extensions

Replace paragraph 2: [AI95-00345-01]

by:

Replace paragraph 4: [AI95-00344-01]

by:

Replace paragraph 6: [AI95-00260-02; AI95-00362-01]

by:

Insert after paragraph 7: [AI95-00260-02; AI95-00344-01; AI95-00405-01]

the new paragraphs:

Insert after paragraph 9: [AI95-00260-02]

the new paragraph:

Replace paragraph 10: [AI95-00400-01]

by:

Insert after paragraph 11: [AI95-00417-01]

the new paragraph:

Replace paragraph 12: [AI95-00260-02; AI95-00279-01; AI95-00344-01; AI95-00405-01]

by:

Insert after paragraph 18: [AI95-00260-02]

the new paragraphs:

Replace paragraph 24: [AI95-00318-02]

by:

Insert after paragraph 25: [AI95-00260-02; AI95-00344-01; AI95-00405-01]

the new paragraphs:

Replace paragraph 26: [AI95-00279-01]

by:

Replace paragraph 30: [AI95-00260-02; AI95-00326-01]

by:

3.9.1 Type Extensions

Replace paragraph 3: [AI95-00344-01; AI95-00345-01; AI95-00419-01]

by:

Replace paragraph 4: [AI95-00344-01; AI95-00391-01]

by:

Replace paragraph 7: [AI95-00344-01]

by:

3.9.2 Dispatching Operations of Tagged Types

Replace paragraph 1: [AI95-00260-02]

by:

Replace paragraph 2: [AI95-00260-02; AI95-00416-01]

by:

Replace paragraph 4: [AI95-00416-01]

by:

Replace paragraph 5: [AI95-00416-01]

by:

Replace paragraph 6: [AI95-00416-01]

by:

Replace paragraph 10: [AI95-00430-01]

by:

Replace paragraph 11: [AI95-00404-01; AI95-00416-01]

by:

Replace paragraph 17: [AI95-00196-01]

by:

Replace paragraph 18: [AI95-00196-01; AI95-00239-01]

by:

Replace paragraph 20: [AI95-00345-01]

by:

Replace paragraph 22: [AI95-00260-02]

by:

3.9.3 Abstract Types and Subprograms

Replace paragraph 1: [AI95-00345-01; AI95-00348-01]

by:

Replace paragraph 2: [AI95-00345-01]

by:

Replace paragraph 3: [AI95-00260-01; AI95-00348-01]

by:

Replace paragraph 4: [AI95-00251-01; AI95-00334-01]

by:

Replace paragraph 5: [AI95-00251-01; AI95-00334-01]

by:

Replace paragraph 6: [AI95-00391-01]

by:

Replace paragraph 11: [AI95-00260-01; AI95-00348-01]

by:

3.9.4 Interface Types

Insert new clause: [AI95-00251-01; AI95-00345-01; AI95-00419-01; AI95-00433-01]

3.10 Access Types

Replace paragraph 2: [AI95-00231-01]

by:

Replace paragraph 6: [AI95-00231-01; AI95-00254-01; AI95-00404-01]

by:

Replace paragraph 9: [AI95-00225-01; AI95-00363-01]

by:

Replace paragraph 12: [AI95-00230-01; AI95-00231-01; AI95-00254-01]

by:

Replace paragraph 13: [AI95-00230-01; AI95-00231-01]

by:

Insert after paragraph 14: [AI95-00231-01]

the new paragraph:

Replace paragraph 15: [AI95-00231-01]

by:

Replace paragraph 17: [AI95-00230-01; AI95-00254-01]

by:

Replace paragraph 22: [AI95-00433-01]

by:

3.10.1 Incomplete Type Declarations

Replace paragraph 2: [AI95-00326-01; AI95-00412-01]

by:

Replace paragraph 4: [AI95-00326-01]

by:

Replace paragraph 5: [AI95-00326-01]

by:

Replace paragraph 7: [AI95-00326-01; AI95-00412-01]

by:

Replace paragraph 8: [AI95-00326-01]

by:

Replace paragraph 9: [AI95-00326-01]

by:

Replace paragraph 10: [AI95-00217-06; AI95-00326-01]

by:

Delete paragraph 11: [AI95-00326-01]

Replace paragraph 19: [AI95-00433-01]

by:

Replace paragraph 20: [AI95-00433-01]

by:

Replace paragraph 21: [AI95-00433-01]

by:

3.10.2 Operations of Access Types

Replace paragraph 2: [AI95-00235-01]

by:

Replace paragraph 3: [AI95-00162-01]

by:

Replace paragraph 7: [AI95-00162-01; AI95-00416-01]

by:

Replace paragraph 9: [AI95-00416-01]

by:

Replace paragraph 10: [AI95-00318-02; AI95-00416-01]

by:

Replace paragraph 12: [AI95-00230-01; AI95-00416-01]

by:

Replace paragraph 13: [AI95-00162-01; AI95-00254-01; AI95-00318-02; AI95-00416-01]

by:

Replace paragraph 14: [AI95-00416-01]

by:

Insert after paragraph 16: [AI95-00416-01]

the new paragraph:

Replace paragraph 19: [AI95-00254-01]

by:

Replace paragraph 26: [AI95-00363-01]

by:

Replace paragraph 27: [AI95-00363-01]

by:

Replace paragraph 32: [AI95-00229-01; AI95-00254-01]

by:

Replace paragraph 34: [AI95-00230-01]

by:

Replace paragraph 37: [AI95-00254-01]

by:




Section 4: Names and Expressions


4.1 Names

Replace paragraph 11: [AI95-00415-01]

by:

4.1.3 Selected Components

Insert after paragraph 9: [AI95-00252-01; AI95-00407-01]

the new paragraph:

Insert after paragraph 13: [AI95-00252-01; AI95-00407-01]

the new paragraph:

In paragraph 17 replace: [AI95-00252-01; AI95-00407-01]

by:

4.1.4 Attributes

Replace paragraph 14: [AI95-00235-01]

by:

4.2 Literals

Delete paragraph 2: [AI95-00230-01]

Delete paragraph 7: [AI95-00230-01; AI95-00231-01]

Replace paragraph 8: [AI95-00230-01]

by:

4.3 Aggregates

Replace paragraph 3: [AI95-00287-01]

by:

4.3.1 Record Aggregates

Replace paragraph 4: [AI95-00287-01]

by:

Replace paragraph 8: [AI95-00287-01]

by:

Replace paragraph 16: [AI95-00287-01]

by:

Insert after paragraph 17: [AI95-00287-01]

the new paragraph:

Insert before paragraph 20: [AI95-00287-01]

the new paragraph:

Insert after paragraph 29: [AI95-00287-01]

the new paragraphs:

4.3.2 Extension Aggregates

Replace paragraph 4: [AI95-00287-01]

by:

Replace paragraph 5: [AI95-00306-01]

by:

4.3.3 Array Aggregates

Replace paragraph 3: [AI95-00287-01]

by:

Replace paragraph 5: [AI95-00287-01]

by:

Replace paragraph 7: [AI95-00287-01]

by:

Replace paragraph 11: [AI95-00318-02]

by:

Insert before paragraph 24: [AI95-00287-01]

the new paragraph:

Insert after paragraph 43: [AI95-00433-01]

the new paragraphs:

4.4 Expressions

Replace paragraph 15: [AI95-00433-01]

by:

4.5.2 Relational Operators and Membership Tests

Replace paragraph 3: [AI95-00251-01]

by:

Insert after paragraph 7: [AI95-00230-01]

the new paragraphs:

Insert after paragraph 9: [AI95-00230-01; AI95-00420-01]

the new paragraphs:

Replace paragraph 30: [AI95-00231-01]

by:

4.5.5 Multiplying Operators

Replace paragraph 20: [AI95-00230-01; AI95-00420-01]

by:

4.6 Type Conversions

Replace paragraph 5: [AI95-00330-01]

by:

Replace paragraph 8: [AI95-00251-01]

by:

Delete paragraph 9: [AI95-00246-01; AI95-00251-01]

Delete paragraph 10: [AI95-00251-01]

Delete paragraph 11: [AI95-00251-01]

Delete paragraph 12: [AI95-00246-01; AI95-00251-01; AI95-00392-01]

Delete paragraph 12.1: [AI95-00246-01; AI95-00251-01; AI95-00363-01]

Delete paragraph 13: [AI95-00230-01; AI95-00251-01]

Delete paragraph 14: [AI95-00251-01]

Delete paragraph 15: [AI95-00251-01]

Delete paragraph 16: [AI95-00251-01; AI95-00363-01; AI95-00384-01]

Delete paragraph 17: [AI95-00251-01]

Delete paragraph 18: [AI95-00230-01; AI95-00251-01]

Delete paragraph 19: [AI95-00251-01]

Delete paragraph 20: [AI95-00251-01]

Replace paragraph 21: [AI95-00251-01]

by:

Replace paragraph 23: [AI95-00251-01]

by:

Replace paragraph 24: [AI95-00230-01; AI95-00246-01; AI95-00251-01; AI95-00392-01]

by:

Insert after paragraph 39: [AI95-00392-01]

the new paragraph:

Replace paragraph 49: [AI95-00230-01; AI95-00231-01]

by:

Replace paragraph 51: [AI95-00231-01]

by:

Replace paragraph 61: [AI95-00230-01]

by:

4.8 Allocators

Replace paragraph 5: [AI95-00287-01; AI95-00344-01; AI95-00416-01]

by:

Replace paragraph 6: [AI95-00363-01]

by:

Replace paragraph 7: [AI95-00344-01; AI95-00373-01]

by:

Replace paragraph 8: [AI95-00373-01]

by:

Replace paragraph 10: [AI95-00373-01; AI95-00416-01]

by:

Replace paragraph 11: [AI95-00280-01]

by:

4.9 Static Expressions and Static Subtypes

Replace paragraph 26: [AI95-00263-01]

by:

Insert after paragraph 31: [AI95-00311-01]

the new paragraph:

Replace paragraph 35: [AI95-00269-01]

by:

Replace paragraph 36: [AI95-00269-01]

by:

Replace paragraph 37: [AI95-00269-01]

by:

Replace paragraph 38: [AI95-00268-01; AI95-00269-01]

by:

4.9.1 Statically Matching Constraints and Subtypes

Replace paragraph 1: [AI95-00311-01]

by:

Replace paragraph 2: [AI95-00231-01; AI95-00254-01]

by:




Section 5: Statements


Replace paragraph 2: [AI95-00318-02]

by:

5.1 Simple and Compound Statements - Sequences of Statements

Replace paragraph 4: [AI95-00318-02]

by:

Replace paragraph 5: [AI95-00318-02]

by:

Replace paragraph 14: [AI95-00318-02]

by:

5.2 Assignment Statements

Replace paragraph 4: [AI95-00287-01]

by:

Replace paragraph 5: [AI95-00287-01]

by:

Delete paragraph 16: [AI95-00363-01]




Section 6: Subprograms


6.1 Subprogram Declarations

Replace paragraph 2: [AI95-00218-03]

by:

Delete paragraph 3: [AI95-00218-03; AI95-00348-01]

Replace paragraph 4: [AI95-00348-01]

by:

Replace paragraph 10: [AI95-00395-01]

by:

Replace paragraph 13: [AI95-00231-01; AI95-00318-02]

by:

Replace paragraph 15: [AI95-00231-01]

by:

Replace paragraph 20: [AI95-00348-01]

by:

Replace paragraph 23: [AI95-00231-01; AI95-00318-02]

by:

Replace paragraph 24: [AI95-00231-01; AI95-00254-01; AI95-00318-02]

by:

Replace paragraph 27: [AI95-00254-01]

by:

Replace paragraph 28: [AI95-00231-01; AI95-00254-01; AI95-00318-02]

by:

Replace paragraph 30: [AI95-00218-01; AI95-00348-01]

by:

Replace paragraph 31: [AI95-00348-01]

by:

6.3 Subprogram Bodies

Replace paragraph 2: [AI95-00218-03]

by:

6.3.1 Conformance Rules

Replace paragraph 10: [AI95-00252-01; AI95-00407-01]

by:

Insert after paragraph 13: [AI95-00254-01; AI95-00409-01]

the new paragraph:

Replace paragraph 15: [AI95-00409-01]

by:

Replace paragraph 16: [AI95-00318-02; AI95-00409-01]

by:

Insert after paragraph 24: [AI95-00345-01; AI95-00397-01]

the new paragraph:

6.3.2 Inline Expansion of Subprograms

Insert after paragraph 6: [AI95-00309-01]

the new paragraph:

6.4 Subprogram Calls

Replace paragraph 8: [AI95-00310-01]

by:

Insert after paragraph 10: [AI95-00397-01; AI95-00407-01]

the new paragraphs:

Replace paragraph 11: [AI95-00318-02]

by:

Replace paragraph 12: [AI95-00231-01]

by:

6.5 Return Statements

Replace paragraph 1: [AI95-00318-02]

by:

Replace paragraph 2: [AI95-00318-02]

by:

Replace paragraph 3: [AI95-00318-02]

by:

Replace paragraph 4: [AI95-00318-02]

by:

Replace paragraph 5: [AI95-00318-02; AI95-00416-01]

by:

Replace paragraph 6: [AI95-00318-02; AI95-00416-01]

by:

Delete paragraph 7: [AI95-00318-02]

Replace paragraph 8: [AI95-00318-02]

by:

Delete paragraph 9: [AI95-00318-02]

Delete paragraph 10: [AI95-00318-02]

Delete paragraph 11: [AI95-00318-02]

Delete paragraph 12: [AI95-00318-02]

Delete paragraph 13: [AI95-00318-02]

Delete paragraph 14: [AI95-00318-02]

Delete paragraph 15: [AI95-00318-02]

Delete paragraph 16: [AI95-00318-02]

Delete paragraph 17: [AI95-00318-02]

Delete paragraph 18: [AI95-00162-01; AI95-00316-01; AI95-00318-02]

Delete paragraph 19: [AI95-00318-02]

Replace paragraph 20: [AI95-00318-02; AI95-00344-01; AI95-00402-01; AI95-00416-01]

by:

Delete paragraph 21: [AI95-00318-02]

Replace paragraph 22: [AI95-00318-02; AI95-00416-01]

by:

Replace paragraph 24: [AI95-00318-02]

by:

6.5.1 Pragma No_Return

Insert new clause: [AI95-00329-01; AI95-00414-01; AI95-00433-01]

6.7 Null Procedures

Insert new clause: [AI95-00348-01; AI95-00433-01]




Section 7: Packages


7.3 Private Types and Private Extensions

Replace paragraph 2: [AI95-00251-01; AI95-00419-01]

by:

Replace paragraph 6: [AI95-00419-01]

by:

Insert after paragraph 7: [AI95-00396-01]

the new paragraphs:

Insert after paragraph 8: [AI95-00419-01]

the new paragraph:

Insert after paragraph 10: [AI95-00419-01]

the new paragraph:

Replace paragraph 16: [AI95-00401-01]

by:

Replace paragraph 19: [AI95-00318-02]

by:

Insert after paragraph 20: [AI95-00401-01]

the new paragraph:

7.3.1 Private Operations

Replace paragraph 12: [AI95-00287-01]

by:

7.4 Deferred Constants

Replace paragraph 5: [AI95-00385-01]

by:

Replace paragraph 6: [AI95-00385-01]

by:

Replace paragraph 9: [AI95-00256-01]

by:

7.5 Limited Types

Replace paragraph 1: [AI95-00287-01]

by:

Replace paragraph 2: [AI95-00287-01; AI95-00318-02; AI95-00419-01]

by:

Replace paragraph 3: [AI95-00419-01]

by:

Replace paragraph 4: [AI95-00411-01; AI95-00419-01]

by:

Delete paragraph 5: [AI95-00419-01]

Replace paragraph 6: [AI95-00419-01]

the new paragraph:

Insert after paragraph 8: [AI95-00287-01; AI95-00318-02]

the new paragraph:

Replace paragraph 9: [AI95-00287-01; AI95-00318-02]

by:

Delete paragraph 10: [AI95-00287-01]

Delete paragraph 11: [AI95-00287-01]

Delete paragraph 12: [AI95-00287-01]

Delete paragraph 13: [AI95-00287-01]

Delete paragraph 14: [AI95-00287-01]

Delete paragraph 15: [AI95-00287-01]

7.6 User-Defined Assignment and Finalization

Replace paragraph 5: [AI95-00161-01]

by:

Replace paragraph 6: [AI95-00348-01]

by:

Replace paragraph 7: [AI95-00161-01]

by:

Replace paragraph 8: [AI95-00348-01]

by:

Replace paragraph 9: [AI95-00348-01; AI95-00360-01]

by:

Replace paragraph 10: [AI95-00373-01]

by:

Replace paragraph 11: [AI95-00373-01]

by:

Replace paragraph 17.1: [AI95-00318-02]

by:

Replace paragraph 21: [AI95-00147-01]

by:

7.6.1 Completion and Finalization

Replace paragraph 2: [AI95-00318-02]

by:

Replace paragraph 3: [AI95-00162-01; AI95-00416-01]

by:

Replace paragraph 9: [AI95-00416-01]

by:

Replace paragraph 11: [AI95-00280-01]

by:

Replace paragraph 12: [AI95-00256-01]

by:

Replace paragraph 13: [AI95-00162-01]

by:

Replace paragraph 13.1: [AI95-00162-01]

by:

Replace paragraph 16: [AI95-00256-01]

by:

Replace paragraph 18: [AI95-00318-02]

by:




Section 8: Visibility Rules


8.1 Declarative Region

Insert after paragraph 4: [AI95-00318-02]

the new paragraph:

8.2 Scope of Declarations

Insert after paragraph 10: [AI95-00408-01]

the new paragraph:

8.3 Visibility

Insert after paragraph 12: [AI95-00251-01]

the new paragraphs:

Replace paragraph 20: [AI95-00217-06; AI95-00412-01]

by:

Insert after paragraph 23: [AI95-00195-01; AI95-00408-01]

the new paragraph:

Replace paragraph 26: [AI95-00251-01; AI95-00377-01]

by:

8.3.1 Overriding Indicators

Insert new clause: [AI95-00218-01; AI95-00348-01; AI95-00397-01; AI95-00433-01]

8.4 Use Clauses

Replace paragraph 5: [AI95-00217-06]

by:

Insert after paragraph 7: [AI95-00217-06]

the new paragraph:

Replace paragraph 8: [AI95-00217-06]

by:

8.5.1 Object Renaming Declarations

Replace paragraph 2: [AI95-00230-01; AI95-00409-01; AI95-00423-01]

by:

Replace paragraph 3: [AI95-00230-01; AI95-00254-01; AI95-00409-01]

by:

Replace paragraph 4: [AI95-00231-01; AI95-00254-01; AI95-00409-01; AI95-00423-01]

by:

Replace paragraph 5: [AI95-00363-01]

by:

Replace paragraph 6: [AI95-00230-01; AI95-00409-01]

by:

8.5.3 Package Renaming Declarations

Insert after paragraph 3: [AI95-00217-06; AI95-00412-01]

the new paragraph:

Insert after paragraph 4: [AI95-00412-01]

the new paragraph:

8.5.4 Subprogram Renaming Declarations

Replace paragraph 2: [AI95-00218-03]

by:

Insert after paragraph 4: [AI95-00423-01]

the new paragraphs:

Insert after paragraph 5: [AI95-00228-01]

the new paragraph:

8.6 The Context of Overload Resolution

Replace paragraph 17: [AI95-00382-01]

by:

Replace paragraph 20: [AI95-00231-01]

by:

Replace paragraph 25: [AI95-00230-01; AI95-00231-01; AI95-00254-01; AI95-00409-01]

by:

Replace paragraph 27: [AI95-00332-01]

by:




Section 9: Tasks and Synchronization


9.1 Task Units and Task Objects

Replace paragraph 2: [AI95-00345-01]

by:

Replace paragraph 3: [AI95-00399-01]

by:

Delete paragraph 8: [AI95-00345-01]

Insert after paragraph 9.1: [AI95-00345-01; AI95-00397-01; AI95-00401-01; AI95-00419-01]

the new paragraphs:

Replace paragraph 19: [AI95-00382-01]

by:

Replace paragraph 21: [AI95-00287-01]

by:

Replace paragraph 24: [AI95-00433-01]

by:

9.2 Task Execution - Task Activation

Replace paragraph 2: [AI95-00416-01]

by:

Replace paragraph 3: [AI95-00416-01]

by:

Replace paragraph 4: [AI95-00416-01]

by:

9.3 Task Dependence - Termination of Tasks

Replace paragraph 2: [AI95-00162-01]

by:

Replace paragraph 3: [AI95-00162-01]

by:

Replace paragraph 7: [AI95-00415-01]

by:

9.4 Protected Units and Protected Objects

Replace paragraph 2: [AI95-00345-01]

by:

Replace paragraph 3: [AI95-00399-01]

by:

Delete paragraph 10: [AI95-00345-01]

Insert after paragraph 11: [AI95-00345-01; AI95-00397-01; AI95-00401-01; AI95-00419-01]

the new paragraphs:

Insert after paragraph 20: [AI95-00280-01]

the new paragraph:

Replace paragraph 21: [AI95-00382-01]

by:

Replace paragraph 23: [AI95-00287-01]

by:

9.5.1 Protected Subprograms and Protected Actions

Insert after paragraph 22: [AI95-00305-01]

the new paragraph:

9.5.2 Entries and Accept Statements

Replace paragraph 2: [AI95-00397-01]

by:

Insert after paragraph 10: [AI95-00397-01]

the new paragraph:

Insert after paragraph 13: [AI95-00397-01]

the new paragraphs:

Replace paragraph 29: [AI95-00318-02]

by:

9.6 Delay Statements, Duration, and Time

Replace paragraph 11: [AI95-00351-01]

by:

Replace paragraph 24: [AI95-00351-01]

by:

9.6.1 Formatting, Time Zones, and other operations for Time

Insert new clause: [AI95-00351-01; AI95-00427-01]

9.7.2 Timed Entry Calls

Replace paragraph 1: [AI95-00345-01]

by:

Replace paragraph 3: [AI95-00345-01]

by:

Replace paragraph 4: [AI95-00345-01]

by:

9.7.3 Conditional Entry Calls

Replace paragraph 1: [AI95-00345-01]

by:

9.7.4 Asynchronous Transfer of Control

Replace paragraph 4: [AI95-00345-01]

by:

Replace paragraph 6: [AI95-00345-01]

by:

9.8 Abort of a Task - Abort of a Sequence of Statements

Replace paragraph 3: [AI95-00345-01]

by:

9.9 Task and Entry Attributes

Replace paragraph 1: [AI95-00345-01]

by:

9.11 Example of Tasking and Synchronization

Replace paragraph 3: [AI95-00433-01]

by:

Replace paragraph 6: [AI95-00433-01]

by:

Replace paragraph 7: [AI95-00433-01]

by:

Replace paragraph 8: [AI95-00433-01]

by:

Replace paragraph 9: [AI95-00433-01]

by:

Replace paragraph 10: [AI95-00433-01]

by:




Section 10: Program Structure and Compilation Issues


10.1.1 Compilation Units - Library Units

Insert after paragraph 8: [AI95-00397-01]

the new paragraph:

Insert after paragraph 12: [AI95-00217-06; AI95-00326-01]