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.3 required=5.0 tests=BAYES_00, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,c80d4e18b9b4ba0 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2003-01-20 21:09:01 PST Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!logbridge.uoregon.edu!arclight.uoregon.edu!wn13feed!worldnet.att.net!bgtnsc04-news.ops.worldnet.att.net.POSTED!not-for-mail Reply-To: "James S. Rogers" From: "James S. Rogers" Newsgroups: comp.lang.ada References: <3e2cb563$0$33929$bed64819@news.gradwell.net> Subject: Re: compiler hangs on circular type dependency X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2800.1106 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1106 Message-ID: Date: Tue, 21 Jan 2003 05:09:01 GMT NNTP-Posting-Host: 12.86.39.225 X-Complaints-To: abuse@worldnet.att.net X-Trace: bgtnsc04-news.ops.worldnet.att.net 1043125741 12.86.39.225 (Tue, 21 Jan 2003 05:09:01 GMT) NNTP-Posting-Date: Tue, 21 Jan 2003 05:09:01 GMT Organization: AT&T Worldnet Xref: archiver1.google.com comp.lang.ada:33271 Date: 2003-01-21T05:09:01+00:00 List-Id: "Victor Porton" wrote in message news:3e2cb563$0$33929$bed64819@news.gradwell.net... > This is sent to report@gnat.com and duplicated in comp.lang.ada > > Gnat (both 3.14 and 3.15) hangs on compiling the following > (erraneous) stuff: > > package P is > type A is tagged null record; > type B is new A with private; > type C is new A with private; > private > type B is new C with null record; > type C is new B with null record; > end P; > > BTW, comp.lang.ada, what in Ada Standard deprecated such circularity? > Isn't it forgotten in the Standard itself? No, this is clearly covered in the standard: Section 3.4 paragraph 4 states: A type shall be completely defined (see 3.11.1) prior to being specified as the parent type in a derived_type_definition - the full_type_declarations for the parent type and any of its subcomponents have to precede the derived_type_definition. Your private definitions violate this rule. Jim Rogers