CVS difference for ai12s/ai12-0062-1.txt

Differences between 1.2 and version 1.3
Log of other versions for file ai12s/ai12-0062-1.txt

--- ai12s/ai12-0062-1.txt	2013/05/09 01:39:14	1.2
+++ ai12s/ai12-0062-1.txt	2013/07/03 20:54:52	1.3
@@ -1,5 +1,7 @@
-!standard 11.3(4/3)                              13-01-31    AI12-0062-1/01
+!standard 11.3(4/2)                              13-07-03    AI12-0062-1/02
 !class ramification 13-01-31
+!status Amendment 202x 13-01-14
+!status ARG Approved 9-0-0  13-06-15
 !status work item 13-01-31
 !status received 13-01-27
 !priority Low
@@ -19,12 +21,12 @@
 
 !response
 
-11.3(4/3) says:
+11.3(4/2) says:
 
 "If a string_expression is present, the expression is evaluated and its value
 is associated with the exception occurrence."
 
-Note: This sentence is marked as Redundant, but it's not completely redundant
+This sentence is marked as Redundant, but it's not completely redundant
 because it is the only text that talks about when the string_expression is
 evaluated. In any case, "Redundant" is not normative, so this wording controls
 the effect whether we intended it to or not.
@@ -45,25 +47,34 @@
 and the equivalent call to Ada.Exceptions.Raise_Exception have precisely the
 same semantics.
 
-For the case of the special rule added by AI12-0054-1, the string_expression
-is not evaluated, and thus it cannot propagate any exceptions.
-
 !wording
 
-Add an AARM Ramification after 11.3(4.a):
+Add a NOTE after 11.3(4/2):
 
     If the evaluation of a string_expression raises an exception, that exception
     is propagated rather than the one denoted by the exception_name of the
     raise_statement or raise_expression.
 
-Add an AARM Ramification after 11.3(4.d/4): [From AI12-0054-1]
-
-    Note that this means that the optional string_expression of the
-    raise_expression is not evaluated (thus it cannot propagate any exceptions).
-
 !discussion
 
 None needed.
+
+!corrigendum 11.3(4/2)
+
+@dinsa
+To @i<raise an exception> is to raise a new occurrence of that exception, as
+explained in 11.4. For the execution of a @fa<raise_statement> with an
+@i<exception_>@fa<name>, the named exception is raised. If a
+@i<string_>@fa<expression> is present, the @fa<expression> is evaluated and its
+value is associated with the exception occurrence. For the execution of a
+re-raise statement, the exception occurrence that caused transfer of control to
+the innermost enclosing handler is raised again.
+@dinst
+@xindent<@s9<NOTES@hr
+1  If the evaluation of a @i<string_>@fa<expression> raises an exception, that
+exception is propagated rather than the one denoted by the @i<exception_>@fa<name>
+of the @fa<raise_statement> or @fa<raise_expression>.>>
+
 
 !ASIS
 

Questions? Ask the ACAA Technical Agent