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.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,1676be4fafed1dbb X-Google-Attributes: gid103376,public X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!news2.google.com!news1.google.com!news.glorb.com!border1.nntp.dca.giganews.com!border2.nntp.dca.giganews.com!nntp.giganews.com!wn11feed!worldnet.att.net!bgtnsc04-news.ops.worldnet.att.net.POSTED!53ab2750!not-for-mail From: "Arthur Schwarz" Newsgroups: comp.lang.ada References: <35f054ea.0410140733.5f250e6f@posting.google.com> <1427975.D57Qmkl0pE@linux1.krischik.com> <416F1EA4.5080700@acm.org> <6545303.EbTl0XcSZp@linux1.krischik.com> Subject: Re: Semantics of Inline vs non-Inline X-Newsreader: Microsoft Outlook Express 6.00.2800.1437 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1441 Message-ID: Date: Fri, 15 Oct 2004 16:40:54 GMT NNTP-Posting-Host: 12.72.61.253 X-Complaints-To: abuse@worldnet.att.net X-Trace: bgtnsc04-news.ops.worldnet.att.net 1097858454 12.72.61.253 (Fri, 15 Oct 2004 16:40:54 GMT) NNTP-Posting-Date: Fri, 15 Oct 2004 16:40:54 GMT Organization: AT&T Worldnet Xref: g2news1.google.com comp.lang.ada:5278 Date: 2004-10-15T16:40:54+00:00 List-Id: "Martin Krischik" wrote in message news:6545303.EbTl0XcSZp@linux1.krischik.com... > Arthur Schwarz wrote: > > > Martin Krischik wrote: > > > >> skidmarks wrote: > function Push( Datum : access Datum_Type ) return List.Cell_Ptr is > LM_Datum : List.Datum_Type; > for LM_Datum'Address use Datum.all'Address; > begin -- Push > return List.Push(LM_Datum); > end Push; > pragma inline( Push ); > > By passing an access you force the compiler to make sure an address is > available. A clue, a clue. Thank you. This (and the other suggestions by you and the other comp.lang.ada respondent) will be tried. Does this mean that I pass an access type or indicate, to the compiler, that the compiler should generate code such that a valid address is available? > > The non inlined version only works because you where luck. However, there is > just one thing where you should go back to your verndor and insist on a bug > to be fixed: PROGRAM_ERROR should have been raised. And most compilers > issue a warning when the code for PROGRAM_ERROR is generated. The vendor is in a state of denial. They deny that this is a bug (as, sigh, do you) and may well not see that if it is not a bug, then the application is due a diagnostic message. Sic caveat emptor. > > With Regards > > Martin Thank you. I don't like your answer (drat) but I'm equally sure it is correct. And you have provided fruitful ways for me to explore the underside of Ada and perhaps repair this error. (And I do apologize for misspelling, missgrammer, and all other miss's). art