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, WEIRD_PORT autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII X-Google-Thread: 103376,5c7d6dc1ca496e51 X-Google-Attributes: gid103376,public From: Tucker Taft Subject: Re: GNAT bug? Date: 1999/02/10 Message-ID: <36C1AA73.D29EF34A@averstar.com>#1/1 X-Deja-AN: 442852535 Content-Transfer-Encoding: 8bit Sender: news@inmet.camb.inmet.com (USENET news) X-Nntp-Posting-Host: houdini.burl.averstar.com References: <79ptl3$jdp$1@nnrp1.dejanews.com> <79rlnt$qrf$1@cf01.edf.fr> Content-Type: text/plain; charset=iso-8859-1 Organization: AverStar (formerly Intermetrics) Burlington, MA USA Mime-Version: 1.0 Newsgroups: comp.lang.ada Date: 1999-02-10T00:00:00+00:00 List-Id: Pascal Obry wrote: > > Juergen.Hoyng@ri.dasa.de a �crit dans le message > <79ptl3$jdp$1@nnrp1.dejanews.com>... > >Hello! > > > >The followings compilation units can be compiled with the Ada83 compiler > VADS > >6.2.3(c) (Solaris 2.5.1) and Alsys 5.5.4 (HP_UX 10.20). > > > > [code removed] > > > > >When trying to compile these compilation units with gnat-3.11p (Solaris > 2.5.1) > >I got the error message: > >x.adb:6:15: expected private type "My_Foo_Type" defined at x.ads:4 > >x.adb:6:15: found type "My_Foo_Type" defined at x.ads:4 > > > >Is this an Ada95/Ada83 incompatibility or a GNAT bug? > > > > Your program is wrong : > > Firstly Foo_Op is not visible. The X is defined as a new type so you must > do a type convertion. I don't agree. The declaration of My_Foo_Type causes an implicit declaration of another "Foo_Op" which takes My_Foo_Type parameters. > ... The offending line should read : > > My_Foo.Foo_Op (My_Foo.Foo_Type (X), My_Foo.Foo_Type (Y)); > > You can avoid the type convertion by using subtype instead of type for > My_Foo_Type > in package X. This is not necessary. Derived type definitions produce implicit declarations of all "primitive" operations, including Foo_Op in this case. > Pascal. -- -Tucker Taft stt@averstar.com http://www.averstar.com/~stt/ Technical Director, Distributed IT Solutions (www.averstar.com/tools) AverStar (formerly Intermetrics, Inc.) Burlington, MA USA