CVS difference for ai12s/ai12-0003-1.txt
--- ai12s/ai12-0003-1.txt 2015/02/03 03:30:33 1.18
+++ ai12s/ai12-0003-1.txt 2015/02/21 01:04:07 1.19
@@ -1,4 +1,4 @@
-!standard 8.2(11) 15-02-02 AI12-0003-1/10
+!standard 8.2(11) 15-02-23 AI12-0003-1/11
!standard 13.11.3(1/3)
!standard 13.11.3(3.1/3)
!standard 13.11.3(4/3)
@@ -8,6 +8,8 @@
!standard 13.11.3(6.3/3)
!class binding interpretation 15-01-28
!status Corrigendum 2015 15-01-28
+!status ARG Approved by Letter Ballot (9-1-1) 15-02-23
+!status work item 15-02-03
!status ARG Approved 8-0-1 15-01-28
!status work item 11-06-19
!status received 11-03-21
@@ -40,13 +42,13 @@
The immediate scope of a pragma which is not used
as a configuration pragma is defined to be the
region extending from immediately after the pragma
- to end of the the declarative region immediately enclosing the pragma.
+ to the end of the declarative region immediately enclosing the pragma.
Replace the deleted 13.11.3(1/3):
Redundant[Pragma and aspect Default_Storage_Pool specify the storage pool that
will be used in the absence of an explicit specification of a storage pool or
- size for an access type.]
+ storage size for an access type.]
Modify 13.11.3(3.1/3):
@@ -57,11 +59,11 @@
The Standard storage_pool_indicator is an identifier specific to a
pragma (see 2.8) and does not denote any declaration. If the
storage_pool_indicator is Standard, then there shall not be a
- declaration with defining identifier Standard that is immediately
+ declaration with defining_identifier Standard that is immediately
visible at the point of the pragma, other than package Standard
itself.
-AARM Reason: We considering having the Standard storage_pool_indicator
+AARM Reason: We considered having the Standard storage_pool_indicator
resolve to package Standard rather than being an identifier specific to a
pragma. That would eliminate the need for a special check. But it would
be bizarre to have something that could resolve to either an object or a
@@ -73,9 +75,9 @@
No declaration of Standard can ever be use-visible, as the language-defined
non-overloadable definition of Standard will hide any use-visible declarations.
- Thus we need only concern ourselves with immediately visible declarations
- with the defining identifier Standard; that eliminates any possible
- confusion.
+ Thus we need only concern ourselves with eliminating any possible confusion
+ with regard to immediately visible declarations with the defining_identifier
+ Standard.
End AARM Reason.
Modify 13.11.3 (4.1/3):
@@ -95,12 +97,14 @@
The language-defined aspect Default_Storage_Pool may be specified for a
generic instance; it defines the default pool for access types within an
- instance. {The Default_Storage_Pool aspect may be specified as Standard,
+ instance.{
+
+ The Default_Storage_Pool aspect may be specified as Standard,
which is an identifier specific to an aspect (see 13.1.1) and
- defines the default pool to be Standard. When the Default_Storage_Pool aspect
- is specified as Standard, then there shall not be a declaration with defining
- identifier Standard that is immediately visible at the point of the aspect
- specification, other than package Standard itself.
+ defines the default pool to be Standard. In this case, then there shall not
+ be a declaration with defining_identifier Standard that is immediately
+ visible at the point of the aspect specification, other than package
+ Standard itself.
Otherwise, the} [The] expected type for the Default_Storage_Pool aspect is
Root_Storage_Pool'Class[. The]{and the} aspect_definition {shall}[must] be a
@@ -147,7 +151,7 @@
The immediate scope of a pragma which is not used
as a configuration pragma is defined to be the
region extending from immediately after the pragma
-to end of the declarative region immediately enclosing the pragma.
+to the end of the declarative region immediately enclosing the pragma.
!corrigendum 13.11.3(1/3)
@@ -156,7 +160,7 @@
@dby
Pragma and aspect Default_Storage_Pool specify the storage pool that
will be used in the absence of an explicit specification of a storage pool or
-size for an access type.
+storage size for an access type.
!corrigendum 13.11.3(3.1/3)
@@ -173,7 +177,7 @@
The Standard @fa<storage_pool_indicator> is an identifier specific to a
pragma (see 2.8) and does not denote any declaration. If the
@fa<storage_pool_indicator> is Standard, then there shall not be a
-declaration with defining identifier Standard that is immediately
+declaration with @fa<defining_identifier> Standard that is immediately
visible at the point of the pragma, other than package Standard
itself.
@@ -213,13 +217,14 @@
@dby
The language-defined aspect Default_Storage_Pool may be specified for a
generic instance; it defines the default pool for access types within an
-instance. The Default_Storage_Pool aspect may be specified as Standard,
-which is an identifier specific to an aspect (see 13.1.1) and
-defines the default pool to be Standard. When the Default_Storage_Pool aspect
-is specified as Standard, then there shall not be a declaration with defining
-identifier Standard that is immediately visible at the point of the aspect
-specification, other than package Standard itself.
+instance.
+The Default_Storage_Pool aspect may be specified as Standard, which is an
+identifier specific to an aspect (see 13.1.1) and defines the default pool to
+be Standard. In this case, then there shall not be a declaration with
+@fa<defining_identifier> Standard that is immediately visible at the point of
+the aspect specification, other than package Standard itself.
+
Otherwise, the expected type for the Default_Storage_Pool aspect is
Root_Storage_Pool'Class and the @fa<aspect_definition> shall be a
@fa<name> that denotes a variable. This aspect overrides any Default_Storage_Pool
@@ -2459,6 +2464,23 @@
Anyway, I didn't make a change here because it seems to fall directly into the
"foolish consistency" category -- since it wouldn't be that consistent either
way.
+
+****************************************************************
+
+From: Tucker Taft
+Sent: Monday, February 2, 2015 10:10 PM
+
+Interesting consistent inconsistency! ;-)
+
+****************************************************************
+
+From: Tucker Taft
+Sent: Wednesday, February 4, 2015 11:40 AM
+
+For what it is worth, some of the earlier implementation concerns about this
+pragma might be reduced by the current formulation, where using "Standard" is
+essentially merely canceling any outer Default_Storage_Pool specification,
+rather than implying that there is a single "standard" storage pool object.
****************************************************************
Questions? Ask the ACAA Technical Agent