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.