CVS difference for arm/source/03a.mss

Differences between 1.24 and version 1.25
Log of other versions for file arm/source/03a.mss

--- arm/source/03a.mss	2000/08/30 00:23:08	1.24
+++ arm/source/03a.mss	2000/08/31 04:55:59	1.25
@@ -1,10 +1,10 @@
 @Part(03, Root="ada.mss")
 
-@Comment{$Date: 2000/08/30 00:23:08 $}
+@Comment{$Date: 2000/08/31 04:55:59 $}
 @LabeledSection{Declarations and Types}
 
 @Comment{$Source: e:\\cvsroot/ARM/Source/03a.mss,v $}
-@Comment{$Revision: 1.24 $}
+@Comment{$Revision: 1.25 $}
 
 @begin{Intro}
 This section describes the types in the language and the rules
@@ -1039,6 +1039,7 @@
 @end{Examples}
 
 @begin{Incompatible83}
+@Defn{incompatibilities with Ada 83}
 In Ada 95, all @nt<range_constraint>s cause freezing of their type.
 Hence, a type-related representation item for a scalar type has to
 precede any @nt<range_constraint>s whose type is the scalar type.
@@ -1157,6 +1158,7 @@
 @end{StaticSem}
 
 @begin{Incompatible83}
+@Defn{incompatibilities with Ada 83}
 The attribute S'Base is no longer defined for
 non-scalar subtypes. Since this was only permitted
 as the prefix of another attribute, and there are no
@@ -1166,6 +1168,7 @@
 @end{Incompatible83}
 
 @begin{Extend83}
+@Defn{extensions to Ada 83}
 The primitive subprograms (derivable subprograms) include
 subprograms declared in the private part of a package
 specification as well, and those that override implicitly declared
@@ -1344,6 +1347,7 @@
 @end{Notes}
 
 @begin{Extend83}
+@Defn{extensions to Ada 83}
 There are additional kinds of objects (choice parameters and
 entry indices of entry bodies).
 
@@ -1715,6 +1719,7 @@
 @end{Examples}
 
 @begin{Extend83}
+@Defn{extensions to Ada 83}
 The syntax rule for @nt{object_declaration} is modified to allow the
 @key{aliased} reserved word.
 
@@ -1820,6 +1825,7 @@
 @end{Examples}
 
 @begin{Extend83}
+@Defn{extensions to Ada 83}
 We now allow a static expression of any numeric type
 to initialize a named
 number. For integer types, it was possible in Ada 83
@@ -2291,6 +2297,7 @@
 @end{Examples}
 
 @begin{Inconsistent83}
+@Defn{inconsistencies with Ada 83}
 When deriving from a (nonprivate, nonderived) type in the same
 visible part in which it is defined, if a predefined
 operator had been overridden prior to the derivation,
@@ -2302,6 +2309,7 @@
 @end{Inconsistent83}
 
 @begin{Incompatible83}
+@Defn{incompatibilities with Ada 83}
 @Leading@;When deriving from a (nonprivate, nonderived) type in the same
 visible part in which it is defined, a primitive subprogram of the
 parent type declared before the derived type will be inherited by the
@@ -2328,6 +2336,7 @@
 @end{Incompatible83}
 
 @begin{Extend83}
+@Defn{extensions to Ada 83}
 The syntax for a @nt{derived_type_definition} is amended to
 include an optional @nt{record_extension_part}
 (see @RefSecNum(Type Extensions)).
@@ -3208,6 +3217,7 @@
 
 @begin{Incompatible83}
 @ChgRef{Version=[1],Kind=[Revised]}@ChgNote{To be consistent with 8652/0006}
+@Defn{incompatibilities with Ada 83}
 S'Base is no longer defined for nonscalar types.
 One conceivable existing use of S'Base for nonscalar types is
 S'Base'Size where S is a generic formal private type.
@@ -3227,6 +3237,7 @@
 @end{Incompatible83}
 
 @begin{Extend83}
+@Defn{extensions to Ada 83}
 The attribute S'Base for a scalar subtype is now permitted
 anywhere a @nt{subtype_mark} is permitted.
 S'Base'First .. S'Base'Last
@@ -3492,6 +3503,7 @@
 @end{Examples}
 
 @begin{Inconsistent83}
+@Defn{inconsistencies with Ada 83}
 The declaration of Wide_Character in package Standard hides
 use-visible declarations with the same defining identifier.
 In the unlikely event that an Ada 83 program had depended on
@@ -3501,6 +3513,7 @@
 @end{Inconsistent83}
 
 @begin{Incompatible83}
+@Defn{incompatibilities with Ada 83}
 The presence of Wide_Character in package Standard means that
 an expression such as
 @begin(Example)
@@ -3518,6 +3531,7 @@
 @end{Incompatible83}
 
 @begin{Extend83}
+@Defn{extensions to Ada 83}
 The type Character has been extended to have 256 positions,
 and the type Wide_Character has been added.
 Note that this change was already approved by the ARG
@@ -3958,6 +3972,7 @@
 @end{Examples}
 
 @begin{Extend83}
+@Defn{extensions to Ada 83}
 An implementation is allowed to support any number of distinct
 base ranges for integer types, even if fewer
 integer types are explicitly declared in Standard.
@@ -4118,6 +4133,7 @@
 @end{Examples}
 
 @begin{Extend83}
+@Defn{extensions to Ada 83}
 The attributes S'Succ, S'Pred, S'Width, S'Image, and S'Value have
 been generalized to apply to real types as well
 (see @RefSec{Scalar Types}).
@@ -4475,6 +4491,7 @@
 @end{Examples}
 
 @begin{Inconsistent83}
+@Defn{inconsistencies with Ada 83}
 No Range_Checks, only Overflow_Checks, are performed on
 variables (or parameters) of an
 unconstrained floating point subtype. This is upward
@@ -4531,10 +4548,10 @@
   is of the type @i(universal_integer).]}
 The requested decimal precision of the base subtype of a floating
 point type @i{T} is defined to be the largest value of @i{d} for which
-@chg{New=[@*
-ceiling(@i{d} * log(10) / log(T'Machine_Radix)) + @i{g} <= T'Model_Mantissa@*
-where g is 0 if Machine_Radix is a positive power of 10 and 1 otherwise.],
-Old=[ceiling(@i{d} * log(10) / log(T'Machine_Radix)) + 1 <= T'Model_Mantissa.]}
+@chg{New=[@*],Old=[]}
+ceiling(@i{d} * log(10) / log(T'Machine_Radix)) + @Chg{New=[@i{g}],Old=[1]}
+<= T'Model_Mantissa@Chg{New=[@*
+where g is 0 if Machine_Radix is a positive power of 10 and 1 otherwise],Old=[]}.
 @end(description)
 @EndPrefixType{}
 @end{StaticSem}
@@ -4718,13 +4735,13 @@
 @key[type] D @key[is] @key[delta] 0.01 @key[digits] 7 @key[range] -0.00 .. 9999.99;
 @end{Example}
 
-  The compatibility rule implies that the
-  @nt{digits_constraint} "@key[digits] 6" specifies an implicit range of
-  "@en 99.9999 .. 99.9999". Thus, "@key[digits] 6" is not compatible
-  with the constraint of D, but "@key[digits] 6 range 0.00 .. 9999.99"
-  is compatible.
+  @ChgRef{Version=[1],Kind=[Revised]}@ChgNote{Presentation AI-00008}
+  The compatibility rule implies that the @nt{digits_constraint}
+  "@key[digits] 6" specifies an implicit range of
+  "@en@;@Chg{New=[9999.99],Old=[99.9999]} .. @Chg{New=[9999.99],Old=[99.9999]}".
+  Thus, "@key[digits] 6" is not compatible with the constraint of D, but
+  "@key[digits] 6 range 0.00 .. 9999.99" is compatible.
 
-
   A value of a scalar type
   belongs to a constrained subtype of the type if it belongs to the
   range of the subtype. Attributes like Digits and Delta have no
@@ -4817,6 +4834,7 @@
 @end{Examples}
 
 @begin{Inconsistent83}
+@Defn{inconsistencies with Ada 83}
 In Ada 95, S'Small always equals S'Base'Small,
 so if an implementation chooses a @i(small) for a fixed point type smaller
 than required by the @i(delta), the value of S'Small in Ada 95 might not be
@@ -4824,6 +4842,7 @@
 @end{Inconsistent83}
 
 @begin{Extend83}
+@Defn{extensions to Ada 83}
 Decimal fixed point types are new, though their
 capabilities are essentially similar to that available
 in Ada 83 with a fixed point type whose @i(small) equals its @i(delta) equals

Questions? Ask the ACAA Technical Agent