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

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

--- ai22s/ai22-0059-1.html	2023/09/30 03:58:29	1.4
+++ ai22s/ai22-0059-1.html	2023/12/14 06:07:30	1.5
@@ -1,20 +1,28 @@
 <html><head><meta content="text/html; charset=UTF-8" http-equiv="content-type"><title>AI22-0059-1/02</title>
 <style type="text/css">
 table td,table th{padding:0}
+.c25{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}
+.c12{border-spacing:0;border-collapse:collapse;margin-right:auto}
+.c24{height:0pt}
 BODY.body{background-color:#ffffff; max-width:468pt; padding:72pt 72pt 72pt 72pt}
+DIV.box{border:1px solid black; margin:6pt; padding:4pt}
 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.wind{margin-bottom:0; margin-top:0; margin-left:60pt; 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.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:#007700}
 SPAN.del{color:#cc8888}
 SPAN.ntrm{font-family:"Arial","Liberation Sans",sans-serif}
 P.l3h{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-alig
n:left; font-weight:400; text-decoration:none; vertical-align:baseline; font-style:normal}
+SPAN.m2g{background-color:#f0f0f0; font-family:"Courier New",monospace; color:#880000; font-weight:700}
+SPAN.vjt{background-color:#f0f0f0; font-family:"Courier New",monospace;font-weight:700}
+SPAN.tcb{background-color:#f0f0f0; font-family:"Courier New",monospace}
+SPAN.af1{background-color:#f0f0f0; font-family:"Courier New",monospace; color:#880000}
+SPAN.adh{background-color:#f0f0f0; font-family:"Courier New",monospace; color:#888888}
 </style>
 </head><body class="body"><p class="l3h">AI22-0059-1</p>
 <p class="head">!standard 9.10.1(20/5) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
@@ -155,47 +163,98 @@
 warning if it were to detect such a situation.</p>
 <h2 class="head">!example</h2>
 
-<p class="codb"><b>type</b> Lim_I_F <b>is</b> <b>limited</b> <b>interface</b>;<br>
-<b>procedure</b> Update(X : <b>in</b> <b>out</b> Lim_I_F) <b>is</b> <b>abstract</b>;<br>
+<table class="c12"><tr class="c24"><td class="c25">
+<p class="text"><span class="vjt">type</span><span class="tcb"> </span><span class="af1">Lim_I_F
+</span><span class="vjt">is</span><span class="tcb">
+</span><span class="vjt">limited</span><span class="tcb">
+</span><span class="vjt">interface</span><span class="tcb">;<br>
+</span><span class="vjt">procedure</span><span class="tcb">
+</span><span class="m2g">Update</span><span class="tcb">(X :
+</span><span class="vjt">in</span><span class="tcb">
+</span><span class="vjt">out</span><span class="tcb">
+</span><span class="af1">Lim_I_F</span><span class="tcb">)
+</span><span class="vjt">is</span><span class="tcb">
+</span><span class="vjt">abstract</span><span class="tcb">;<br>
 <br>
-<b>generic</b><br>
-&nbsp; &nbsp;<b>type</b> Formal_Acc <b>is</b> <b>access</b> Integer<br>
-&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <b>with</b> Parallel_Calls;<br>
-&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; -- Actual type must have standard storage pool<br>
-&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; -- or have a user-defined storage pool with<br>
-&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; -- Allocate/Deallocate/Storage_Size with<br>
-&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; -- Parallel_Calls True.<br>
-&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br>
-&nbsp; &nbsp;<b>type</b> Formal_Lim <b>is</b> <b>limited</b> <b>new</b> Lim_I_F <b>with</b>
-<b>private</b><br>
-&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <b>with</b> Parallel_Calls;<br>
-&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; -- &nbsp;Actual type must be protected, task, or have a
-primitive<br>
-&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; -- &nbsp;Update with Parallel_Calls True.<br>
-&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br>
-<b>package</b> Gen <b>is</b><br>
-&nbsp; &nbsp;<b>function</b> New_Acc (X : Integer) <b>return</b> Formal_Acc<br>
-&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <b>with</b> Parallel_Calls;<br>
-&nbsp; &nbsp;<b>procedure</b> Double_Update (Y : <b>in</b> <b>out</b> Formal_Lim)<br>
-&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <b>with</b> Parallel_Calls;<br>
-<b>end</b> Gen;<br>
-&nbsp; &nbsp; <br>
-<b>package</b> <b>body</b> Gen <b>is</b><br>
-&nbsp; &nbsp;<b>function</b> New_Acc (X : Integer) <b>return</b> Formal_Acc<br>
-&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <b>is</b> (<b>new</b> Integer&#39;(X));<br>
-&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; -- &nbsp;This satisfies Parallel_Calls True because<br>
-&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; -- &nbsp;type Acc has Parallel_Calls True.<br>
-&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br>
-&nbsp; &nbsp;<b>procedure</b> Double_Update (Y : <b>in</b> <b>out</b> Formal_Lim) <b>is</b><br>
-&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; -- &nbsp;This satisfies Parallel_Calls True because<br>
-&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; -- &nbsp;either Y is a task or a protected object,<br>
-&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; -- &nbsp;or procedure Update has Parallel_Calls True.<br>
-&nbsp; &nbsp;<b>begin</b><br>
-&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Update (Y);<br>
-&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Update (Y);<br>
-&nbsp; &nbsp;<b>end</b> Double_Update;<br>
-<b>end</b> Gen;</p>
-<p class="text">&nbsp;</p>
+</span><span class="vjt">generic</span><span class="tcb"><br>
+ &nbsp; </span><span class="vjt">type</span><span class="tcb"> </span><span class="af1">Formal_Acc
+</span><span class="vjt">is</span><span class="tcb">
+</span><span class="vjt">access</span><span class="tcb"> Integer<br>
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span class="vjt">with</span><span class="tcb">
+Parallel_Calls;<br>
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span class="adh">-- </span><span class="adh">Actual type
+must have standard storage pool</span><span class="tcb"><br>
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span class="adh">-- or have a user-defined storage pool
+with</span><span class="tcb"><br>
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span class="adh">-- Allocate/Deallocate/Storage_Size
+with</span><span class="tcb"><br>
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span class="adh">-- Parallel_Calls
+True.</span><sup><a href="#cmnt1" name="cmnt_ref1">[a]</a></sup><span class="tcb"><br>
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br>
+ &nbsp; </span><span class="vjt">type</span><span class="tcb"> </span><span class="af1">Formal_Lim
+</span><span class="vjt">is</span><span class="tcb">
+</span><span class="vjt">limited</span><span class="tcb">
+</span><span class="vjt">new</span><span class="tcb"> Lim_I_F
+</span><span class="vjt">with</span><span class="tcb">
+</span><span class="vjt">private</span><span class="tcb"><br>
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span class="vjt">with</span><span class="tcb">
+Parallel_Calls;<br>
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span class="adh">-- &nbsp;Actual type must be protected,
+task, or have a primitive</span><span class="tcb"><br>
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span class="adh">-- &nbsp;Update with Parallel_Calls
+True.</span><span class="tcb"><br>
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br>
+</span><span class="vjt">package</span><span class="tcb"> </span><span class="m2g">Gen
+</span><span class="vjt">is</span><span class="tcb"><br>
+ &nbsp; </span><span class="vjt">function</span><span class="tcb">
+</span><span class="m2g">New_Acc</span><span class="tcb"> (X :
+</span><span class="af1">Integer</span><span class="tcb">)
+</span><span class="vjt">return</span><span class="tcb">
+</span><span class="af1">Formal_Acc</span><span class="tcb"><br>
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span class="vjt">with</span><span class="tcb">
+Parallel_Calls;<br>
+ &nbsp; </span><span class="vjt">procedure</span><span class="tcb">
+</span><span class="m2g">Double_Update</span><span class="tcb"> (Y :
+</span><span class="vjt">in</span><span class="tcb">
+</span><span class="vjt">out</span><span class="tcb">
+</span><span class="af1">Formal_Lim</span><span class="tcb">)<br>
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span class="vjt">with</span><span class="tcb">
+Parallel_Calls;<br>
+</span><span class="vjt">end</span><span class="tcb"> Gen;<br>
+ &nbsp; &nbsp;<br>
+</span><span class="vjt">package</span><span class="tcb">
+</span><span class="vjt">body</span><span class="tcb"> </span><span class="m2g">Gen
+</span><span class="vjt">is</span><span class="tcb"><br>
+ &nbsp; </span><span class="vjt">function</span><span class="tcb">
+</span><span class="m2g">New_Acc</span><span class="tcb"> (X :
+</span><span class="af1">Integer</span><span class="tcb">)
+</span><span class="vjt">return</span><span class="tcb">
+</span><span class="af1">Formal_Acc</span><span class="tcb"><br>
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span class="vjt">is</span><span class="tcb">
+(</span><span class="vjt">new</span><span class="tcb"> Integer&#39;(X));<br>
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span class="adh">-- &nbsp;This satisfies Parallel_Calls
+True because</span><span class="tcb"><br>
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span class="adh">-- &nbsp;type Acc has Parallel_Calls
+True.</span><span class="tcb"><br>
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br>
+ &nbsp; </span><span class="vjt">procedure</span><span class="tcb">
+</span><span class="m2g">Double_Update</span><span class="tcb"> (Y :
+</span><span class="vjt">in</span><span class="tcb">
+</span><span class="vjt">out</span><span class="tcb">
+</span><span class="af1">Formal_Lim</span><span class="tcb">)
+</span><span class="vjt">is</span><span class="tcb"><br>
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span class="adh">-- &nbsp;This satisfies Parallel_Calls
+True because</span><span class="tcb"><br>
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span class="adh">-- &nbsp;either Y is a task or a
+protected object,</span><span class="tcb"><br>
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span class="adh">-- &nbsp;or procedure Update has
+Parallel_Calls True.</span><span class="tcb"><br>
+ &nbsp; </span><span class="vjt">begin</span><span class="tcb"><br>
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Update (Y);<br>
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Update (Y);<br>
+ &nbsp; </span><span class="vjt">end</span><span class="tcb"> Double_Update;<br>
+</span><span class="vjt">end</span><span class="tcb"> Gen;</span></p>
+</td></tr></table><p class="text">&nbsp;</p>
 <h2 class="head">!ACATS test</h2>
 <p class="text">ACATS B- and C-Tests are needed to check that the new capabilities are
 supported.</p>
@@ -203,4 +262,10 @@
 <p class="txts">This AI was promoted from the held AI12-0415-1. The entire AI was moved here, with
 some improvements. There was no additional discussion.</p>
 
-</body></html> 
+<div class="box"><p class="text"><a href="#cmnt_ref1" name="cmnt1">[a]</a>This feels a little
+non-intuitive to me, as opposed to say, saying something about the storage pool for the type. ie.
+something like;</p>
+<p class="text">with Storage_Pool =&gt; Parallel_Calls, </p>
+<p class="text">I am not proposing that syntax, just questioning if something along these lines
+would be clearer to the reader?</p>
+</div></body></html> 

Questions? Ask the ACAA Technical Agent