From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,71dcb452eafb5045 X-Google-Attributes: gid103376,public From: "Samuel T. Harris" Subject: Re: Ada enumerations Date: 1997/12/12 Message-ID: <34917961.B3D25079@hso.link.com>#1/1 X-Deja-AN: 297609750 References: <348EDDC9.794B@hso.link.com> <34901D71.FD118790@elca-matrix.ch> Organization: Hughes Training Inc. - Houston Operations Newsgroups: comp.lang.ada Date: 1997-12-12T00:00:00+00:00 List-Id: Mats Weber wrote: > > Robert Dewar wrote: > > > My own feeling is that unchecked conversion is adequate. In practice it > > should work fine in any reasonable compiler to just do a conversion to the > > largest unsigned type, even if the sizes do not match (I can't imah=gine a > > compiler not doing the "right" thing there). > > Are you sure this will work if the machine is big endian ? > > Isn't Unchecked_Conversion approximately like doing > > X : Enum; > I : Integer; > > for I'Address use X'Address; Approximately yes, but the small difference can kill you! Whereas unchecked_conversion can be expected to do the "right" thing when the sizes don't exactly match, the above can only be expected to cause problems if the programmer doesn't make sure the sizes are right. Remember, Stanley's problem involves supporting a generic facility on any enumeration type. Sizes will vary. While Robert's suggestiong, while compiler specific, might apply to Stanley's situation, the above use of and address rep clauses will certainly not work for Stanley. -- Samuel T. Harris, Senior Engineer Hughes Training, Inc. - Houston Operations 2224 Bay Area Blvd. Houston, TX 77058-2099 "If you can make it, We can fake it!"