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=unavailable autolearn_force=no version=3.4.4 X-Received: by 10.224.215.68 with SMTP id hd4mr1014709qab.5.1370596768663; Fri, 07 Jun 2013 02:19:28 -0700 (PDT) X-Received: by 10.49.96.8 with SMTP id do8mr3058450qeb.30.1370596768642; Fri, 07 Jun 2013 02:19:28 -0700 (PDT) Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!news.eternal-september.org!news.eternal-september.org!mx05.eternal-september.org!feeder.eternal-september.org!usenet.blueworldhosting.com!npeer01.iad.highwinds-media.com!news.highwinds-media.com!feed-me.highwinds-media.com!p1no3545193qaj.0!news-out.google.com!y6ni1135qax.0!nntp.google.com!ch1no2989183qab.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Fri, 7 Jun 2013 02:19:28 -0700 (PDT) In-Reply-To: Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=109.164.241.65; posting-account=8t9pXQoAAADkxkCReU3jwSDl3ee1TY12 NNTP-Posting-Host: 109.164.241.65 References: User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: Subject: Re: ANN: Paraffin 4.2, Parallelism Generics From: volkert.barr@googlemail.com Injection-Date: Fri, 07 Jun 2013 09:19:28 +0000 Content-Type: text/plain; charset=ISO-8859-1 X-Received-Bytes: 3575 Xref: news.eternal-september.org comp.lang.ada:15713 Date: 2013-06-07T02:19:28-07:00 List-Id: Brad, thank you for the explanation. It compiles fine now ... BW, Volkert > Yes, I suspect you have just downloaded the new GNAT 2013, as I have. > > > > I am seeing the same issue. The 2012 GNAT did not complain and compiled > > the code, but the code actually should not have compiled. The 2013 GNAT > > is detecting the problem. > > > > The problem is because the package spec, parallel.ads has the > > Remote_Types pragma, but it also with's the package > > System.Multiprocessors, which is not a Remote_Types, Shared_Passive, or > > Pure package. A Remote_Types package spec can only depend on one of the > > above types of package specs. > > > > To fix the problem, delete (or comment out) the Remote Types pragma in > > parallel.ads. > > > > Your code should then compile. > > > > I was a bit mystified when I first saw the error message. > > > > I then remembered an AI > > http://www.ada-auth.org/cgi-bin/cvsweb.cgi/ai05s/ai05-0206-1.txt?rev=1.6 > > > > Which was one I was particularly involved with, where the rules were > > relaxed so that a Remote_Types package spec could depend on a > > preelaborated packages so long as the with clause that mentions the > > preelaborated package is a private with clause. > > > > The error message is suggesting that the with for System.Multiprocessors > > should be changed to be a private with, but that > > wouldn't work, because the public part of parallel.ads uses declarations > > from System.Multiprocessors. > > > > Hopefully Adacore will improve the error message for GNAT 2014, but it > > is reporting an actual error in the code. It is not a compiler bug. > > Ideally the error message would mention that the Remote_Types pragma is > > triggering the error. > > > > I also found another set of problems in the code. The 2013 compiler is > > now checking that the aliased keyword must be present on parameters of > > overriding subprograms if it was specified on a parameter of the > > interface. It wasn't doing that in 2012. > > > > I have checked in the changes onto sourceforge, which you can retrieve > > using git, but I have not yet created a new bugfix release, which I will > > do as soon as I get a chance. > > > > Thanks for reporting the error. > > > > Brad