CVS difference for ai12s/ai12-0272-1.txt
--- ai12s/ai12-0272-1.txt 2018/04/14 04:02:04 1.2
+++ ai12s/ai12-0272-1.txt 2018/07/15 00:25:58 1.3
@@ -1,11 +1,13 @@
-!standard 6.1.1(1/5) 18-04-09 AI12-0272-1/01
-!standard 6.1.1(40/5)
+!standard 6.1.1(1/5) 18-07-11 AI12-0272-1/02
+!standard 6.1.1(39/5)
!standard 7.3.3(1/5)
!standard 7.3.3(2/5)
!standard 7.3.3(8/5)
!standard 7.3.4(5/5)
!standard F.1(1)
!class Amendment 18-04-09
+!status Amendment 1-2012 18-07-11
+!status ARG Approved 10-0-1 18-06-23
!status work item 18-04-09
!status received 18-04-05
!priority Low
@@ -40,7 +42,7 @@
!wording
-Modify 6.1.1(1/5):
+Modify 6.1.1(1/5): [from AI12-0220-1]
For a noninstance subprogram{ (including a generic formal subprogram)}, a
generic subprogram, or an entry, or an access-to-subprogram type, the
@@ -50,9 +52,9 @@
AARM Proof: A generic formal subprogram is a subprogram, and there are no
rules to prevent such use.
-Add after 6.1.1(40/5):
+Add after 6.1.1(39/5): [from AI12-0220-1]
-Redundant[For a call on generic formal subprogram, precondition and
+Redundant[For a call on a generic formal subprogram, precondition and
postcondition checks performed are as determined by the subprogram or entry
denoted by the actual subprogram, along with any specific precondition
and specific postcondition of the formal subprogram itself.]
@@ -73,7 +75,7 @@
This aspect shall be specified by an expression, called a *default initial
condition expression*. Default_Initial_Condition may be specified on a
-private_type_declaration{,}[ o]r a private_extension_declaration{, a
+private_type_declaration{,}[ or] a private_extension_declaration{, a
formal_private_type_definition, or formal_derived_type_definition}.
Add after 7.3.3(8/5): [from AI12-0265-1]
@@ -96,7 +98,7 @@
Modify F.1(1)
-{Representation attribute }Machine_Radix may be specified for a decimal first
+{The representation attribute }Machine_Radix may be specified for a decimal first
subtype (see 3.5.9) via an attribute_definition_clause; the expression of
such a clause shall be static, and its value shall be 2 or 10. A value of 2
implies a binary base range; a value of 10 implies a decimal base range.
@@ -149,7 +151,7 @@
---
-Note that AI12-0064-2 unintentially allowed aspects that are neither
+Note that AI12-0064-2 allowed (unintentially?) aspects that are neither
operational nor representation to be used on generic formal parameters. So
we just need wording to reinforce that is meant on these aspects. We also need
to check that other aspects aren't allowed on formal parameters. Here's the
@@ -184,8 +186,60 @@
this, but thinking about it just makes my head hurt.
+!corrigendum 6.1.1(1/5)
+@drepl
+For a noninstance subprogram, a generic subprogram, an entry, or an
+access-to-subprogram type, the
+following language-defined aspects may be specified with
+an @fa<aspect_specification> (see 13.1.1):
+@dby
+For a noninstance subprogram (including a generic formal subprogram), a
+generic subprogram, an entry, or an access-to-subprogram type, the
+following language-defined aspects may be specified with
+an @fa<aspect_specification> (see 13.1.1):
+
+!corrigendum 6.1.1(39/5)
+
+@dinsa
+For a call via an access-to-subprogram value, precondition and postcondition
+checks performed are as determined by the subprogram or entry denoted by the
+prefix of the Access attribute reference that produced the value. In addition,
+a precondition check of any precondition expression associated with the
+access-to-subprogram type is performed. Similarly, a postcondition check of
+any postcondition expression associated with the access-to-subprogram type is
+performed.
+@dinst
+For a call on a generic formal subprogram, precondition and
+postcondition checks performed are as determined by the subprogram or entry
+denoted by the actual subprogram, along with any specific precondition
+and specific postcondition of the formal subprogram itself.
+
+!corrigendum 7.3.3(0)
+@dinsc
+Just enough to force a conflict. The actual text is found in the conflict
+file.
+
+!corrigendum 7.3.4(0)
+
+@dinsc
+Just enough to force a conflict. The actual text is found in the conflict
+file.
+
+!corrigendum F.1(1)
+
+@drepl
+Machine_Radix may be specified for a decimal first subtype (see 3.5.9) via
+an @fa<attribute_definition_clause>; the expression of such a clause shall
+be static, and its value shall be 2 or 10. A value of 2 implies a binary base
+range; a value of 10 implies a decimal base range.
+@dby
+The representation attribute Machine_Radix may be specified for a decimal
+first subtype (see 3.5.9) via an @fa<attribute_definition_clause>; the
+expression of such a clause shall be static, and its value shall be 2 or 10.
+A value of 2 implies a binary base range; a value of 10 implies a decimal
+base range.
!ASIS
Questions? Ask the ACAA Technical Agent