s-auxdec-vms_64.ads (Short_Address): Wrap it in a type.
authorDoug Rupp <rupp@adacore.com>
Wed, 15 Feb 2006 09:43:32 +0000 (10:43 +0100)
committerArnaud Charlet <charlet@gcc.gnu.org>
Wed, 15 Feb 2006 09:43:32 +0000 (10:43 +0100)
2006-02-13  Douglas Rupp  <rupp@adacore.com>

* s-auxdec-vms_64.ads (Short_Address): Wrap it in a type.

From-SVN: r111087

gcc/ada/s-auxdec-vms_64.ads

index 3bf7a5b69b5b33c6fad405fefb543bae8bd338f1..87b7819383ecde08b8b772080e4468ab4e072b3b 100644 (file)
 --  These definitions can be used directly by withing this package, or merged
 --  with System using pragma Extend_System (Aux_DEC)
 
---  This is the IPF VMS 64 bit version.
+--  This is the VMS 64 bit version.
 
 with Unchecked_Conversion;
 
 package System.Aux_DEC is
    pragma Preelaborate;
 
-   subtype Short_Address is Address
+   type Short_Integer_Address is
      range -2 ** (32 - 1) .. +2 ** (32 - 1) - 1;
+   --  Integer literals cannot appear naked in an address context, as a
+   --  result the bounds of Short_Address cannot be given simply as 2^32 etc.
+
+   subtype Short_Address is Address
+     range Address (Short_Integer_Address'First) ..
+           Address (Short_Integer_Address'Last);
    for Short_Address'Object_Size use 32;
    --  This subtype allows addresses to be converted from 64 bits to 32 bits
    --  with an appropriate range check. Note that since this is a subtype of