CVS difference for arm/source/11.mss

Differences between 1.17 and version 1.18
Log of other versions for file arm/source/11.mss

--- arm/source/11.mss	2000/08/11 00:09:15	1.17
+++ arm/source/11.mss	2000/08/12 00:40:17	1.18
@@ -1,10 +1,10 @@
 @Part(11, Root="ada.mss")
 
-@Comment{$Date: 2000/08/11 00:09:15 $}
+@Comment{$Date: 2000/08/12 00:40:17 $}
 @LabeledSection{Exceptions}
 
 @Comment{$Source: e:\\cvsroot/ARM/Source/11.mss,v $}
-@Comment{$Revision: 1.17 $}
+@Comment{$Revision: 1.18 $}
 
 @begin{Intro}
 @redundant[This section defines the facilities for dealing with errors or other
@@ -48,7 +48,7 @@
 or by the failure of a language-defined check.
 When an exception arises, control can be transferred to a
 user-provided @nt{exception_handler} at the end of a
-@nt{handled_sequence_of_statements},
+@nt{handled_@!sequence_of_@!statements},
 or it can be propagated to a dynamically enclosing execution.]
 @end{Intro}
 
@@ -84,6 +84,9 @@
 the @nt{exception_declaration}s implicitly generated by
 different instantiations of the generic unit refer to distinct
 exceptions (but all have the same @nt{defining_identifier}).
+The particular exception denoted by an exception name is determined at
+compilation time and is the same regardless of how many times the
+@nt{exception_declaration} is elaborated.
 @begin{Reason}
 We considered removing this requirement
 inside generic bodies,
@@ -92,10 +95,6 @@
 In the end, it was decided that it
 would introduce too much implementation dependence.
 @end{Reason}
-The particular
-exception denoted by an exception name is determined at compilation
-time and is the same regardless of how many times the
-@nt{exception_declaration} is elaborated.
 @begin{Ramification}
 Hence, if an @nt{exception_declaration} occurs in a recursive
 subprogram, the exception name denotes the same exception for all
@@ -217,9 +216,9 @@
 @SynI{exception_}@nt{name} @i{covers} the named exception.
 A choice with @key{others} covers all exceptions
 not named by previous choices of the same
-@nt{handled_sequence_of_statements}.
+@nt{handled_@!sequence_of_@!statements}.
 Two choices in different @nt<exception_handler>s of the same
-@nt{handled_sequence_of_statements} shall not cover the same
+@nt{handled_@!sequence_of_@!statements} shall not cover the same
 exception.
 @begin{Ramification}
   Two @nt<choice>s of the same @nt<exception_handler> may cover
@@ -261,9 +260,9 @@
 @begin{RunTime}
 @PDefn2{Term=[execution], Sec=(handled_sequence_of_statements)}
 The execution of a @nt<handled_sequence_of_statements> consists
-of the execution of the @nt<sequence_of_statements>.
+of the execution of the @nt<sequence_of_@!statements>.
 @Redundant[The optional handlers are used to handle any exceptions
-that are propagated by the @nt{sequence_of_statement}s.]
+that are propagated by the @nt{sequence_of_@!statement}s.]
 @end{RunTime}
 
 @begin{Examples}
@@ -516,7 +515,7 @@
 @begin{Notes}
 Note that exceptions raised in a @nt{declarative_part} of a body
 are not handled by the handlers of the
-@nt{handled_sequence_of_statements} of that body.
+@nt{handled_@!sequence_of_@!statements} of that body.
 @end{Notes}
 
 @LabeledSubClause{The Package Exceptions}
@@ -537,11 +536,13 @@
     @key[type] Exception_Occurrence_Access @key[is] @key[access] @key[all] Exception_Occurrence;
     @AdaDefn{Null_Occurrence} : @key[constant] Exception_Occurrence;
 
-    @key[procedure] @AdaSubDefn{Raise_Exception}(E : @key[in] Exception_Id; Message : @key[in] String := "");
+    @key[procedure] @AdaSubDefn{Raise_Exception}(E : @key[in] Exception_Id;
+                              Message : @key[in] String := "");
     @key[function] @AdaSubDefn{Exception_Message}(X : Exception_Occurrence) @key[return] String;
     @key[procedure] @AdaSubDefn{Reraise_Occurrence}(X : @key[in] Exception_Occurrence);
 
-    @key[function] @AdaSubDefn{Exception_Identity}(X : Exception_Occurrence) @key[return] Exception_Id;
+    @key[function] @AdaSubDefn{Exception_Identity}(X : Exception_Occurrence)
+                                @key[return] Exception_Id;
     @key[function] @AdaSubDefn{Exception_Name}(X : Exception_Occurrence) @key[return] String;
         --@RI{ Same as Exception_Name(Exception_Identity(X)).}
     @key[function] @AdaSubDefn{Exception_Information}(X : Exception_Occurrence) @key[return] String;
@@ -628,7 +629,7 @@
 exception, in upper case,
 starting with a root library unit.
 For an exception declared immediately within package Standard,
-the @nt{defining_identifier} is returned.
+the @nt{defining_@!identifier} is returned.
 The result is implementation defined if the exception is declared within
 an unnamed @nt{block_statement}.
 @begin{Ramification}
@@ -705,7 +706,7 @@
 @begin{ImplPerm}
 An implementation of Exception_Name in a space-constrained
 environment may return the
-@nt{defining_identifier} instead of the full expanded name.
+@nt{defining_@!identifier} instead of the full expanded name.
 
 
 The string returned by Exception_Message may be truncated (to no less
@@ -1011,7 +1012,7 @@
 @PDefn2{Term=[configuration pragma], Sec=(Suppress)}
 @PDefn2{Term=[pragma, configuration], Sec=(Suppress)}
 A @nt{pragma} Suppress is allowed only immediately within a
-@nt{declarative_part}, immediately within a @nt{package_specification},
+@nt{declarative_part}, immediately within a @nt{package_@!specification},
 or as a configuration pragma.
 @end{SyntaxText}
 @end{Syntax}
@@ -1032,7 +1033,7 @@
 A @nt{pragma} Suppress gives permission to an implementation to omit the
 named check from the place of the @nt{pragma} to the end of the
 innermost enclosing declarative region, or,
-if the @nt{pragma} is given in a @nt{package_specification}
+if the @nt{pragma} is given in a @nt{package_@!specification}
 and includes a @nt<name>,
 to the end of the scope of the named entity.
 If the @nt{pragma} includes a @nt{name},
@@ -1053,15 +1054,19 @@
 @Leading@Keepnext@;The following are the language-defined checks:
 @begin{Itemize}
 @Defn2{Term=[Constraint_Error],Sec=(raised by failure of run-time check)}
-@Redundant[The following checks correspond to situations in which the
+@Leading@Redundant[The following checks correspond to situations in which the
 exception Constraint_Error is raised upon failure.]
 @begin{Description}
+@ChgRef{Version=[1],Kind=[Revised],Ref=[8652/0036]}
 @RootDefn{Access_Check}
 Access_Check @\@Redundant[When evaluating a dereference (explicit
 or implicit),
 check that the value of the @nt{name} is not @key{null}.
 When passing an actual parameter to a formal access parameter,
-check that the value of the actual parameter is not @key{null}.]
+check that the value of the actual parameter is not @key{null}.
+@Chg{New=[When evaluating a @nt{discriminant_association} for an access
+discriminant, check that the value of the discriminant is not @key{null}.],
+Old=[]}]
 
 @RootDefn{Discriminant_Check}
 Discriminant_Check @\@Redundant[Check that the discriminants of a
@@ -1117,7 +1122,7 @@
 @end{Description}
 
 @Defn2{Term=[Program_Error],Sec=(raised by failure of run-time check)}
-@Redundant[The following checks correspond to situations in which the
+@Leading@Redundant[The following checks correspond to situations in which the
 exception Program_Error is raised upon failure.]
 @begin{Description}
 @RootDefn{Elaboration_Check}
@@ -1128,13 +1133,12 @@
 of the corresponding unit has already been elaborated.]
 
 @RootDefn{Accessibility_Check}
-
 Accessibility_Check @\@Redundant[Check the accessibility level of an
 entity or view.]
 
 @end{Description}
 
-@Redundant[The following check corresponds to situations in which the
+@Leading@Redundant[The following check corresponds to situations in which the
 exception Storage_Error is raised upon failure.]
 @begin{Description}
 @RootDefn{Storage_Check}
@@ -1155,7 +1159,7 @@
 @end{Reason}
 @end{Description}
 
-@Redundant[The following check corresponds to all situations in which
+@Leading@Redundant[The following check corresponds to all situations in which
 any predefined exception is raised.]
 @begin{Description}
 @RootDefn{All_Checks}

Questions? Ask the ACAA Technical Agent