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,7c0437014cb20f71 X-Google-Attributes: gid103376,public From: nababsi@earthlink.net Subject: Re: System.Address_to_Access_Conversions Date: 1998/07/26 Message-ID: <6pes7b$f88@drn.newsguy.com>#1/1 X-Deja-AN: 375006622 References: <6odddl$k94$1@nnrp1.dejanews.com> <35AB9C59.74E529E0@magic.fr> <6ofn8e$5ff$1@nnrp1.dejanews.com> <6ofqvs$alm@hacgate2.hac.com> <6ogieq$qlo@drn.newsguy.com> Organization: Newsguy News Service [http://www.newsguy.com] Newsgroups: comp.lang.ada Date: 1998-07-26T00:00:00+00:00 List-Id: In article , Matthew says... > >nabbasi@earthlink.net writes: > >> I read somewhere that the tag position within a record is always defined, >> it is the first element always, right? not sure what's its size, I assume >> it is an address to someother tag related information somewhere else, so its >> size is also known, right? > >This is all wrong. A compiler writer is free to use any implementation >he pleases. > there is a paper on www.gnat.com called "Ada 9x tagged types and their implementation in GNAT". by Crille COmer and Brett Porter. it says: "for many reasons, it turns out to be mandotary that any field in a tagged type keep the same location within the record in the any descendant type", then later on they say .."this compoenent is inserted at the top of the record forcing the additional compoenents at the end".. and they show a digram showing the tag field at the top of the record as a pointer to dispatch table. nasser