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, MSGID_RANDY autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,60dd4fe7723c0ef X-Google-Attributes: gid103376,public From: Robert Dewar Subject: Re: Ada Core Technologies announces GNATCOM Date: 2000/04/12 Message-ID: <8d0ru2$arc$1@nnrp1.deja.com>#1/1 X-Deja-AN: 609940297 References: <8coc5e$do2$1@nnrp1.deja.com> X-Http-Proxy: 1.0 x42.deja.com:80 (Squid/1.1.22) for client 205.232.38.14 Organization: Deja.com - Before you buy. X-Article-Creation-Date: Wed Apr 12 03:52:40 2000 GMT X-MyDeja-Info: XMYDJUIDrobert_dewar Newsgroups: comp.lang.ada X-Http-User-Agent: Mozilla/4.61 [en] (OS/2; I) Date: 2000-04-12T00:00:00+00:00 List-Id: In article , tmoran@bix.com wrote: > > ... in fact we copied the definition > > of C_Pass_By_Copy from the Intermetrics compiler (even though > > we really dislike the design, especially since it is fixing > > a clear error in the RM in a kludgy way :-) > It does seem strange to designate a *type* as C_Pass_By_Copy > when of course it's a particular parameter to a particular > function that needs to be passed by value. Is that your > complaint, or a different one. What would be your > preferred solution? Fix the RM! The RM is plain wrong, just due to misunderstanding of C. It is obvious that a record passed as an IN parameter should map to a C struct passed as a value parameter. But it's too late now for that (that was our initial solution in GNAT, and perhaps we should have stuck with it). The worst feature of C_Pass_By_Copy is the form with a byte count giving the cutoff. A bit of a mess here ... Sent via Deja.com http://www.deja.com/ Before you buy.