summaryrefslogtreecommitdiff
path: root/gcc/ada/s-auxdec-vms_64.ads
diff options
context:
space:
mode:
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2006-02-15 09:43:32 +0000
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2006-02-15 09:43:32 +0000
commitf087e44b6decd694dc9ed018714018a6e2ad23b3 (patch)
treeb486981914086663ea983b83e69a47991aed6a1a /gcc/ada/s-auxdec-vms_64.ads
parent9c48514ace72dd1d813a568b34b2eabe17d6f98f (diff)
downloadgcc-f087e44b6decd694dc9ed018714018a6e2ad23b3.tar.gz
2006-02-13 Douglas Rupp <rupp@adacore.com>
* s-auxdec-vms_64.ads (Short_Address): Wrap it in a type. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111087 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/s-auxdec-vms_64.ads')
-rw-r--r--gcc/ada/s-auxdec-vms_64.ads10
1 files changed, 8 insertions, 2 deletions
diff --git a/gcc/ada/s-auxdec-vms_64.ads b/gcc/ada/s-auxdec-vms_64.ads
index 3bf7a5b69b5..87b7819383e 100644
--- a/gcc/ada/s-auxdec-vms_64.ads
+++ b/gcc/ada/s-auxdec-vms_64.ads
@@ -37,15 +37,21 @@
-- 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