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=-0.9 required=5.0 tests=BAYES_00,FORGED_GMAIL_RCVD, FREEMAIL_FROM autolearn=no autolearn_force=no version=3.4.4 X-Google-Thread: 103376,f428ff2031155951 X-Google-NewGroupId: yes X-Google-Attributes: gida07f3367d7,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII Path: g2news1.google.com!postnews.google.com!l22g2000pre.googlegroups.com!not-for-mail From: Maciej Sobczak Newsgroups: comp.lang.ada Subject: Re: Equivalent of dynamic_cast (downcast) for tagged types Date: Fri, 28 Jan 2011 14:04:18 -0800 (PST) Organization: http://groups.google.com Message-ID: <4155ecd0-182c-428c-94bc-2371ff6ce46f@l22g2000pre.googlegroups.com> References: <375fb596-ab12-4cb0-a190-53d62b94b2e4@e9g2000vbi.googlegroups.com> <510d779c-d15b-4fc1-b831-bfc578ecdb4b@z3g2000prz.googlegroups.com> <0dec16be-da2b-4b9e-afb8-285e8e6d8acb@g19g2000yqi.googlegroups.com> NNTP-Posting-Host: 85.1.172.35 Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Trace: posting.google.com 1296252258 16357 127.0.0.1 (28 Jan 2011 22:04:18 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Fri, 28 Jan 2011 22:04:18 +0000 (UTC) Complaints-To: groups-abuse@google.com Injection-Info: l22g2000pre.googlegroups.com; posting-host=85.1.172.35; posting-account=bMuEOQoAAACUUr_ghL3RBIi5neBZ5w_S User-Agent: G2/1.0 X-HTTP-UserAgent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.2.10) Gecko/20100914 Firefox/3.6.10,gzip(gfe) Xref: g2news1.google.com comp.lang.ada:16779 Date: 2011-01-28T14:04:18-08:00 List-Id: On Jan 28, 6:47=A0pm, Robert A Duff wrote: > Sorry, but AdaCore does not take bug reports from comp.lang.ada. I knew this will pop up. :-) You see - if this happened to me, it might as well happen in the future to anybody else, including their Most Valuable Customer (tm) and that future might be next year or next week. Silently calling the wrong operation is not something that I would like to see in a critical system and I can imagine that the Most Valuable Customer (tm) can get really pissed if this happens. It is therefore in the best interest of AdaCore to have the fix ready *before* that time, so they can prove their excellent support by reacting instantly. Seems like a good strategy to me. I don't expect AdaCore to ship updated GPL version out of their calendar just because I wrote some rant on comp.lang.ada. Far from it - I anyway appreciate that I get something for free as in free beer. But if they are proactive in their care about their own business, they should do the homework before this problem hits them the hard way. In other words: I, as a person, can have very low priority for them. But the BUG in their product must have a very high priority, no matter who is reporting it. Last but not least: the only reason why I don't submit a separate bugzilla report for this is that I do not have the minimal reproducible test case. But I'm willing to provide all necessary information and assistance on request. > There seems to be a fairly easy workaround in your case: > Don't declare an Adjust procedure on limited controlled > types. I didn't - and that's why I got Program_Error from the Adjust operation that is in s_finroo.adb:45. I have declared Adjust for my own type only as part of my investigations and in fact this allowed me to gather some interesting observations that I described already. BTW - I *never* declare Adjust in normal code, because I never use non- limited Controlled types. -- Maciej Sobczak * http://www.inspirel.com