CVS difference for ai22s/ai22-0054-1.html

Differences between 1.3 and version 1.4
Log of other versions for file ai22s/ai22-0054-1.html

--- ai22s/ai22-0054-1.html	2023/01/21 09:32:06	1.3
+++ ai22s/ai22-0054-1.html	2023/04/22 06:19:57	1.4
@@ -1,25 +1,22 @@
-<html><head><meta content="text/html; charset=UTF-8" http-equiv="content-type"><title>AI22-0054-1/02</title>
+<html><head><meta content="text/html; charset=UTF-8" http-equiv="content-type"><title>AI22-0054-1/03</title>
 <style type="text/css">
 table td,table th{padding:0}
-.c13{border-right-style:solid;padding:5pt 5pt 5pt 5pt;border-bottom-color:#000000;border-top-width:0pt;border-right-width:0pt;border-left-color:#000000;vertical-align:top;border-right-color:#000000;border-left-width:0pt;border-top-style:solid;background-c
olor:#f0f0f0;border-left-style:solid;border-bottom-width:0pt;width:468pt;border-top-color:#000000;border-bottom-style:solid}
-.c7{border-spacing:0;border-collapse:collapse;margin-right:auto}
-.c16{background-color:#ffffff;max-width:468pt;padding:72pt 72pt 72pt 72pt}
-.c17{height:0pt}
+BODY.body{background-color:#ffffff; max-width:468pt; padding:72pt 72pt 72pt 72pt}
 P.head{margin-bottom:0; margin-top:0; margin-left:0; margin-right:0; padding-top:0pt; color:#000000; font-size:14pt; padding-bottom:0pt; font-family:"Arial","Liberation Sans",sans-serif; line-height:1.15; orphans:2; widows:2; text-align:left; font-weight:
400; text-decoration:none; vertical-align:baseline; font-style:normal}
 H2.head{margin-bottom:0; margin-top:0; margin-left:0; margin-right:0; padding-top:12pt; color:#000000; font-size:14pt; padding-bottom:6pt; font-family:"Arial","Liberation Sans",sans-serif; line-height:1.15; page-break-after:avoid; orphans:2; widows:2; tex
t-align:left; font-weight:400; text-decoration:none; vertical-align:baseline; font-style:normal}
 P.inst{margin-bottom:0; margin-top:0; margin-left:18pt; margin-right:0; padding-top:9pt; color:#000000; font-size:12pt; padding-bottom:6pt; font-family:"Arial","Liberation Sans",sans-serif;line-height:1.15; orphans:2; widows:2; text-align:left; font-weigh
t:400; text-decoration:none; vertical-align:baseline; font-style:normal}
 P.word{margin-bottom:0; margin-top:0; margin-left:36pt; margin-right:0; padding-top:0pt; color:#000000; font-size:11pt; padding-bottom:3pt; font-family:"Times New Roman","Times",serif; line-height:1.15; orphans:2; widows:2; text-align:left; font-weight:40
0; text-decoration:none; vertical-align:baseline; font-style:normal}
 P.wrds{margin-bottom:0; margin-top:0; margin-left:36pt; margin-right:0; padding-top:0pt; color:#000000; font-size:11pt; padding-bottom:12pt; font-family:"Times New Roman","Times",serif; line-height:1.15; orphans:2; widows:2; text-align:left; font-weight:4
00; text-decoration:none; vertical-align:baseline; font-style:normal}
-P.codt{margin-bottom:0; margin-top:0; margin-left:0; margin-right:0; padding-top:0pt; color:#000000; font-size:10pt; padding-bottom:0pt; font-family:"Courier New",monospace; line-height:1.15; text-align:left; background-color:#f0f0f0; font-weight:400; tex
t-decoration:none; vertical-align:baseline; font-style:normal}
+P.codb{margin-bottom:0; margin-top:0; margin-left:12pt; margin-right:0; padding-left:4pt; padding-top:4pt; color:#000000; font-size:10pt; padding-bottom:4pt; font-family:"Courier New",monospace; line-height:1.15; text-align:left; background-color:#f0f0f0;
 font-weight:400; text-decoration:none; vertical-align:baseline; font-style:normal}
 P.text{margin-bottom:0; margin-top:0; margin-left:0; margin-right:0; padding-top:0pt; color:#000000; font-size:11pt; padding-bottom:0pt; font-family:"Arial","Liberation Sans",sans-serif; line-height:1.15; text-align:left; font-weight:400; text-decoration:
none; vertical-align:baseline; font-style:normal}
 P.txts{margin-bottom:0; margin-top:0; margin-left:0; margin-right:0; padding-top:0pt; color:#000000; font-size:11pt; padding-bottom:11pt; font-family:"Arial","Liberation Sans",sans-serif; line-height:1.15; text-align:left; font-weight:400; text-decoration
:none; vertical-align:baseline; font-style:normal}
-SPAN.ins{color:#008800}
+SPAN.ins{color:#007700}
 SPAN.ntrm{font-family:"Arial","Liberation Sans",sans-serif}
-P.a1{margin-bottom:0; margin-top:0; margin-left:0; margin-right:0;color:#000000;font-size:26pt;font-family:"Arial","Liberation Sans",sans-serif; padding-top:0pt; padding-bottom:3pt; line-height:1.15; page-break-after:avoid; orphans:2; widows:2; text-align
:left; font-weight:400; text-decoration:none; vertical-align:baseline; font-style:normal}
+P.xee{margin-bottom:0; margin-top:0; margin-left:0; margin-right:0;color:#000000;font-size:26pt;font-family:"Arial","Liberation Sans",sans-serif; orphans:2; widows:2; padding-top:0pt; padding-bottom:3pt; line-height:1.15; page-break-after:avoid; text-alig
n:left; font-weight:400; text-decoration:none; vertical-align:baseline; font-style:normal}
 </style>
-</head><body class="c16 doc-content"><p class="a1">AI22-0054-1</p>
+</head><body class="body"><p class="xee">AI22-0054-1</p>
 <p class="head">!standard 4.1.4(6/5) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
-&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;23-01-23 &nbsp;AI22-0054-1/02</p>
+&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;23-04-21 &nbsp;AI22-0054-1/03</p>
 <p class="head">!class binding interpretation 22-10-28</p>
 <p class="head">!status Corrigendum 1-2022 &nbsp;23-01-20</p>
 <p class="head">!status ARG Approved 15-0-0 &nbsp;23-01-19</p>
@@ -30,18 +27,17 @@
 <p class="head">!qualifier Omission</p>
 <p class="head">!subject Ambiguous prefix for the Result attribute</p>
 <h2 class="head">!summary</h2>
-<p class="text">Attributes that are only allowed inside of the construct named in the prefix can
-use that limitation as a Name Resolution Rule.</p>
+<p class="text">Attributes that are only allowed inside the construct named in the prefix can use
+that limitation as a Name Resolution Rule.</p>
 <h2 class="head">!issue</h2>
 <p class="txts">Consider a package where multiple overloaded functions are declared:</p>
 
-<a id="t.63bfc9fce751d753094568eb8617c3b334f88202"></a><a id="t.0"></a><table class="c7"><tr class="c17"><td class="c13">
-<p class="codt">&nbsp; &nbsp;<b>package</b> Pkg <b>is</b><br>
- &nbsp; &nbsp; &nbsp;<b>function</b> F (X : Integer) <b>return</b> Integer;<br>
- &nbsp; &nbsp; &nbsp;<b>function</b> F (X : Float) <b>return</b> Integer <b>with</b> Post =&gt;
+<p class="codb">&nbsp; &nbsp;<b>package</b> Pkg <b>is</b><br>
+&nbsp; &nbsp; &nbsp; <b>function</b> F (X : Integer) <b>return</b> Integer;<br>
+&nbsp; &nbsp; &nbsp; <b>function</b> F (X : Float) <b>return</b> Integer <b>with</b> Post =&gt;
 F&#39;Result /= 0;<br>
- &nbsp; <b>end</b> Pkg;</p>
-</td></tr></table><p class="text">&nbsp;</p>
+&nbsp; &nbsp;<b>end</b> Pkg;</p>
+<p class="text">&nbsp;</p>
 <p class="txts">It appears that the prefix of the attribute Result is ambiguous, as attribute
 prefixes have to be resolved without any context.</p>
 
@@ -75,7 +71,7 @@
 
 <p class="word"><span class="ins">{AARM Discussion: Attributes that are subject to such &quot;may
 only be referenced from within&quot; requirements include the Caller and Result attributes. The
-Count attribute is not such an attribute; it only is required to be inside of the enclosing task
+Count attribute is not such an attribute; it only is required to be inside the enclosing task
 containing the prefix.}</span></p>
 <h2 class="head">!discussion</h2>
 <p class="txts">AARM 4.1.4(6.d-6.h) specifically talk about how attributes do not resolve even when
@@ -86,26 +82,25 @@
 context to be used for resolution. This affects only the Result and Caller attributes.</p>
 
 <p class="text">We had briefly thought that the Count attribute also would be affected, but it can
-be used outside of the entry that it names (it is only required to be inside of the enclosing
-task). This is good, since there is an Ada 83 ACATS test, specifically B87B26A (dated 1986), that
-requires that a Count attribute prefix is ambiguous if another declaration with the same name is
-visible. Presumably, all existing Ada compilers pass this test, so a change to the rule for the
-Count attribute would cause work for implementations (and for no obvious value).</p>
+be used outside the entry that it names (it is only required to be inside the enclosing task). This
+is good, since there is an Ada 83 ACATS test, specifically B87B26A (dated 1986), that requires that
+a Count attribute prefix is ambiguous if another declaration with the same name is visible.
+Presumably, all existing Ada compilers pass this test, so a change to the rule for the Count
+attribute would cause work for implementations (and for no obvious value).</p>
 <h2 class="head">!example</h2>
-<p class="txts">Note that this only applies to attributes that are required to be used inside of
-the construct that is named in the prefix. It does not apply just because the attribute is used
-inside of the construct named in the prefix. For instance, the following remains illegal as the
-prefix is ambiguous:</p>
+<p class="txts">Note that this only applies to attributes that are required to be used inside the
+construct that is named in the prefix. It does not apply just because the attribute is used inside
+the construct named in the prefix. For instance, the following remains illegal as the prefix is
+ambiguous:</p>
 
 <p class="text">&nbsp; </p>
-<a id="t.23b643f6453d8ff614a7319138629d0a5e16049d"></a><a id="t.1"></a><table class="c7"><tr class="c17"><td class="c13">
-<p class="codt">&nbsp; &nbsp;with&nbsp;System; <b>use</b> System;<br>
- &nbsp; <b>package</b> Pkg2 <b>is</b><br>
- &nbsp; &nbsp; &nbsp;<b>function</b> F (X : Integer) <b>return</b> Integer;<br>
- &nbsp; &nbsp; &nbsp;<b>function</b> F (X : Float) <b>return</b> Integer <b>with</b><br>
- &nbsp; &nbsp; &nbsp; &nbsp; Post =&gt; F&#39;Address /= Null_Address; -- <i>Illegal.</i><br>
- &nbsp; <b>end</b> Pkg2;</p>
-</td></tr></table><h2 class="head">!corrigendum 4.1.4(6/5)</h2>
+<p class="codb"><b>&nbsp; &nbsp;with</b> System; <b>use</b> System;<br>
+&nbsp; &nbsp;<b>package</b> Pkg2 <b>is</b><br>
+&nbsp; &nbsp; &nbsp; <b>function</b> F (X : Integer) <b>return</b> Integer;<br>
+&nbsp; &nbsp; &nbsp; <b>function</b> F (X : Float) <b>return</b> Integer <b>with</b><br>
+&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Post =&gt; F&#39;Address /= Null_Address; -- <i>Illegal.</i><br>
+&nbsp; &nbsp;<b>end</b> Pkg2;</p>
+<h2 class="head">!corrigendum 4.1.4(6/5)</h2>
 <p class="text">@drepl</p>
 <p class="text">In an @fa{attribute_reference} that is not a @fa{reduction_attribute_reference}, if
 the @fa{attribute_designator} is for an attribute defined for (at least some) objects of an access

Questions? Ask the ACAA Technical Agent