From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.5-pre1 (2020-06-20) on ip-172-31-74-118.ec2.internal X-Spam-Level: X-Spam-Status: No, score=-1.9 required=3.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.5-pre1 Date: 16 Dec 92 22:57:12 GMT From: agate!spool.mu.edu!umn.edu!The-Star.honeywell.com!saifr00.cfsat.honeywell .com!lam@ucbvax.Berkeley.EDU (Josh Lam) Subject: Novice Question on Record Representation Message-ID: <1992Dec16.225712.23791@saifr00.cfsat.honeywell.com> List-Id: There is a type in another package I need to use in a record in my package. Unfortunately, that type is private and I need to use record representation for my record. package Some_Package is type Some_Int is new integer; for Some_Int'size use 16; type Some_Type is private -- etc etc private type Some_Type is new integer; for Some_Type'size use 32; end Some_Package; with Some_Package; package My_Package is type My_Rec (Choice: Boolean := True) is record case Choice is when True => A : Some_Package.Some_Int; B : Some_Package.Some_Int; C : Some_Package.Some_Type; when False => D : Some_Package.Some_Int; end case; end record; for My_Rec use record A at 0 range 0..15; B at 0 range 16..31; C at 1 range 0..31; -- of course there is an error here! Choice at 2 range 0..31; D at 0 range 0..15; end record; -- etc etc end My_Package; I know that I cannot do the above cos C is of Some_Package.Some_Type which is a private type. So, other than yelling at the person and getting him to change his type to public, what are my alternatives given that I need to use record representation. Please also let me know some pros and cons (if any) to any alternative. Thanks in advance! -- Josh Lam Honeywell Inc lam@saifr00.cfsat.honeywell.com