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,8a019ea882aac73c X-Google-Attributes: gid103376,public From: tmoran@bix.com (Tom Moran) Subject: Re: GNAT's internal format for Discriminant Records? Date: 1998/06/20 Message-ID: <358c2547.16624162@SantaClara01.news.InterNex.Net>#1/1 X-Deja-AN: 364558560 References: <6meah3$3b$1@cronkite.sp.trw.com> Organization: InterNex Information Services 1-800-595-3333 Newsgroups: comp.lang.ada Date: 1998-06-20T00:00:00+00:00 List-Id: Discriminants are commonly placed in a record pretty much like any other component, and you should be able to use record rep clauses to force different compilers to all do what you want. Tags are (in my experience) 32 bits on the front and not movable. If the hardware gadget wants the data, but not the tag, how about type hardware_record is whatever : something; end record; type fancy is new some_tagged_type with record hardware_part : hardware_record; end record; Then you don't care where the tag winds up because you just pass the hardware_part to the hardware.