Rationale for Ada 2012
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:
Nominal subtypes for all names
Class-wide operations for formal subprograms
Address of intrinsic subprograms
Placement of pragmas
Subpools, allocators & control of finalization
Package Calendar, Daylight Saving Time and
UTC_Offset
Composability of equality
Syntactic sugar for access, containers & iterators
Accessibility of anonymous access stand-alone object
Access type conversion and membership
Restriction No_Anonymous_Allocators
Pragmas in place of null
Testing of tags representing abstract types
Labels at end of a sequence of statements
Restriction No_Standard_Allocators_After_Elaboration
Global storage pool control
Alignment of allocators
Accessors and iterators for Ada.Containers
Aspect-related restrictions
No_Implementation_Units restriction
Restrictions No_Implementation_Identifiers
and Profile No_Implementation_Extensions
Questions on subpools
Accessibility of allocators for anonymous access of an object
User-defined iterators and quantified expressions
Pragma and attribute restrictions
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).
© 2011, 2012, 2013 John Barnes Informatics.
Sponsored in part by: