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,FREEMAIL_FROM autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: a07f3367d7,7a3b1c6915ea1273 X-Google-Attributes: gida07f3367d7,public,usenet X-Google-NewGroupId: yes X-Google-Language: ENGLISH,ASCII Received: by 10.204.132.71 with SMTP id a7mr176394bkt.6.1326486299022; Fri, 13 Jan 2012 12:24:59 -0800 (PST) Path: cj8ni93461bkb.0!nntp.google.com!news2.google.com!postnews.google.com!a11g2000vbz.googlegroups.com!not-for-mail From: Blady Newsgroups: comp.lang.ada Subject: Re: How many Ada compiler bugs are here? Date: Fri, 13 Jan 2012 12:06:37 -0800 (PST) Organization: http://groups.google.com Message-ID: <0980607c-df6d-4769-bf6c-288c5666b40f@a11g2000vbz.googlegroups.com> References: <01dd6341-9c3c-4dcb-90f8-6ac66c65eb66@z1g2000vbx.googlegroups.com> NNTP-Posting-Host: 90.54.28.36 Mime-Version: 1.0 X-Trace: posting.google.com 1326486099 30528 127.0.0.1 (13 Jan 2012 20:21:39 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Fri, 13 Jan 2012 20:21:39 +0000 (UTC) Complaints-To: groups-abuse@google.com Injection-Info: a11g2000vbz.googlegroups.com; posting-host=90.54.28.36; posting-account=94GLqQoAAABRDKJ5vWVBzCDWAEq47F5V User-Agent: G2/1.0 X-Google-Web-Client: true X-Google-Header-Order: HUARLECNK X-HTTP-UserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/534.52.7 (KHTML, like Gecko) Version/5.1.2 Safari/534.52.7,gzip(gfe) Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Date: 2012-01-13T12:06:37-08:00 List-Id: On 13 jan, 01:21, "Randy Brukardt" wrote: > "Maciej Sobczak" wrote in message > > news:01dd6341-9c3c-4dcb-90f8-6ac66c65eb66@z1g2000vbx.googlegroups.com... > ... > > > 1. Adjust should not be allowed to be declared (it is a *limited* > > type). But I have defined it to trace the remaining bugs: > > There's nothing wrong with defining "Adjust" (you can define any named > subprogram you want, of course), but (A) "overriding" shouldn't be allowe= d > on it, and (B) it shouldn't be called automatically if it is defined with= out > "overriding", because it is not special for a limited type. > 8< ... >8 > > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 = =A0 =A0 =A0 =A0 =A0 =A0 Randy. Hello, back to point 1), assuming GNAT is used, the private spec of Ada.Finalization is package SFR renames System.Finalization_Root; type Controlled is abstract new SFR.Root_Controlled with null record; -- In order to simplify the implementation, the mechanism in Process_Full_ -- View ensures that the full view is limited even though the parent type -- is not. type Limited_Controlled is abstract new SFR.Root_Controlled with null record; and type Root_Controlled is tagged null record; procedure Adjust (Object : in out Root_Controlled); procedure Finalize (Object : in out Root_Controlled); procedure Initialize (Object : in out Root_Controlled); So with GNAT Adjust is part of Limited_Controlled primitives, isn't it? Best, Pascal.