Rationale for Ada 2012

John Barnes
Contents   Index   References   Search   Previous   Next 

6.1 Overview of changes: General improvements

The areas mentioned in this chapter are not specifically mentioned in the WG9 guidance document [1] other than under the request to remedy shortcomings and improve the functionality of access types and dynamic storage management.
The following Ada Issues cover the relevant changes and are described in detail in this chapter:
6
Nominal subtypes for all names
71
Class-wide operations for formal subprograms
95
Address of intrinsic subprograms
100
Placement of pragmas
111
Subpools, allocators & control of finalization
119
Package Calendar, Daylight Saving Time and UTC_Offset
123
Composability of equality
139
Syntactic sugar for access, containers & iterators
148
Accessibility of anonymous access stand-alone object
149
Access type conversion and membership
152
Restriction No_Anonymous_Allocators
163
Pragmas in place of null
173
Testing of tags representing abstract types
179
Labels at end of a sequence of statements
189
Restriction No_Standard_Allocators_After_Elaboration
190
Global storage pool control
193
Alignment of allocators
212
Accessors and iterators for Ada.Containers
241
Aspect-related restrictions
242
No_Implementation_Units restriction
246
Restrictions No_Implementation_Identifiers and Profile No_Implementation_Extensions
252
Questions on subpools
253
Accessibility of allocators for anonymous access of an object
255
User-defined iterators and quantified expressions
272
Pragma and attribute restrictions
292
Terminology: indexable type is confusing 
These changes can be grouped as follows.
First there are some minor changes to elementary matters such as the placement of pragmas, labels and null statements (100, 163, 179).
An important addition is the introduction of more user-friendly mechanisms for iterating over structures such as arrays and containers (139, 212, 255, 292).
Further flexibility for storage management is provided by the introduction of subpools of storage pools (111, 190, 252). A number of issues concerning anonymous access types and allocators are also resolved (148, 149, 193, 253).
A number of new Restrictions identifiers have been added. They include No_Standard_Allocators_After_Elaboration, No_Anonymous_Allocators, No_Implementation_Units, and No_Implementation_Identifiers. A blanket new profile covering a number of restrictions, No_Implementation_Extensions, is also added (152, 189, 241, 242, 246, 272).
Finally, there are a number of minor unrelated improvements. Four are actually classed as binding interpretations and so apply to Ada 2005 as well; they concern nominal subtypes (6), address of intrinsic subprograms (95), time in the package Calendar (119), and class wide operations on formal generic subprograms (71). The other miscellaneous issues concern the composability of equality (123), and tags of abstract types (173).

Contents   Index   References   Search   Previous   Next 
© 2011, 2012, 2013 John Barnes Informatics.
Sponsored in part by:
The Ada Resource Association:

    ARA
  AdaCore:


    AdaCore
and   Ada-Europe:

Ada-Europe