comp.lang.ada
 help / color / mirror / Atom feed
From: "David C. Hoos, Sr." <david.c.hoos.sr@ada95.com>
Subject: Re: Problem with instantiating generic procedure
Date: 1999/07/18
Date: 1999-07-18T00:00:00+00:00	[thread overview]
Message-ID: <w3L8TwW0#GA.154@newstoo.hiwaay.net> (raw)
In-Reply-To: 7mqfcq$9og$1@pegasus.csx.cam.ac.uk


Markus Kuhn <mgk25@cl.cam.ac.uk> wrote in message
news:7mqfcq$9og$1@pegasus.csx.cam.ac.uk...
> Sorry, but after searching through the RM for almost an hour, I still
> haven't figured out what I do wrong here and how I should fix this.
> I declare in a package spec a procedure A and I want to implement the
> procedure body of A by instantiating a generic procedure G. The following
> is the shortest possible program that reproduces my problem:
>
> -- bug.ads --
> package Bug is
>
>    procedure A;
>
> end Bug;
> -- bug.adb --
> package body Bug is
>
>    generic
>    procedure G;
>
>    procedure G is
>    begin
>       null;
>    end G;
>
>    procedure A is new G;
>
> end Bug;
> -------------
>
> GNAT 3.11p on Linux insists on the following error message:
>
> bug.adb:1:14: missing body for "A" declared at bug.ads:3
> bug.adb:11:14: "A" conflicts with declaration at bug.ads:3
>
> What is wrong with simply implementing a procedure declared
> in the spec file in the body file by instantiating it from
> a generic procedure of the exact same signature? Both A and G
> have no parameters, so how can there be a conflict?
>
> It would be nice if GNAT wrote out explicitely the two conflicting
> sides, each time it uses the word "conflict" in an error message.
>
> Any idea what is wrong here?

What you have in the instantiation is the declaration of a spec for
procedure A which is a homograph of the declaration in bug.ads --
and, therefore, illegal, conflicting.






  parent reply	other threads:[~1999-07-18  0:00 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1999-07-17  0:00 Problem with instantiating generic procedure Markus Kuhn
1999-07-17  0:00 ` Vladimir Olensky
1999-07-17  0:00 ` Florian Weimer
1999-07-18  0:00   ` Markus Kuhn
1999-07-18  0:00     ` Chad R. Meiners
1999-07-18  0:00     ` Florian Weimer
1999-07-19  0:00       ` Robert Dewar
1999-07-19  0:00         ` Florian Weimer
1999-07-18  0:00 ` David C. Hoos, Sr. [this message]
1999-07-19  0:00 ` Tucker Taft
1999-07-19  0:00   ` Markus Kuhn
1999-07-23  0:00     ` Tucker Taft
1999-07-19  0:00 ` Robert A Duff
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox