From: Vincent Marciante <marciant@li.net>
Subject: Re: Export instances of procedures
Date: 2000/04/18
Date: 2000-04-18T00:00:00+00:00 [thread overview]
Message-ID: <38FD0E08.6C96@li.net> (raw)
In-Reply-To: 38FCBA00.992AA7A2@maths.unine.ch
Gautier wrote:
>
> Hi. GNAT 3.10-3.12 doesn't seem to want to export directly,
> i.e. without "renames", instances of procedures out of a package.
> Is there an Ada rule behind it ? No explanation found in the Manual.
>
> Example:
>
> 1) This works:
>
> package DMA is
> 48: procedure Read_8bit_AutoInit( linearAddressOfBuffer: unsigned_32;
> length: integer );
> end DMA;
At this point, Read_8bit_AutoInt(...) requires a completion.
A subprogram renaming declaration (RM 8.5.4) can act as a completion but
an instantiation can't.
Other valid completions are: a body, a body stub and an import pragma.
I don't remember where in the RM a list of all valid completions is
listed.
>
> package body DMA is
> generic
> dmaCommand: Unsigned_8;
> procedure Program_DMA( linearAddressOfBuffer: unsigned_32;
> length: integer );
>
> procedure Program_DMA( linearAddressOfBuffer: unsigned_32;
> length: integer ) is
> ...
> end Program_DMA;
>
> procedure R8AI is new Program_DMA( 16#58# );
>
> procedure Read_8bit_AutoInit( linearAddressOfBuffer: unsigned_32;
> length: integer )
> renames R8AI;
> end DMA;
>
> 2) But, if I put: "procedure Read_8bit_AutoInit is new Program_DMA( 16#58# );"
> I get: "Read_8bit_Autoinit" conflicts with declaration at line 48
> and of course: missing body for "Read_8bit_AutoInit" declared at line 48
>
> Strange, isn't it ?
>
> ______________________________________________________
> Gautier -- http://members.xoom.com/gdemont/gsoft.htm
next prev parent reply other threads:[~2000-04-18 0:00 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2000-04-18 0:00 Export instances of procedures Gautier
2000-04-18 0:00 ` Vincent Marciante [this message]
2000-04-25 0:00 ` Gautier
2000-04-25 0:00 ` Robert Dewar
2000-04-26 0:00 ` Gautier
2000-04-25 0:00 ` Vincent Marciante
2000-04-26 0:00 ` Tucker Taft
2000-04-19 0:00 ` Jean-Pierre Rosen
2000-04-19 0:00 ` Pascal Obry
2000-04-19 0:00 ` Jean-Pierre Rosen
2000-04-19 0:00 ` Pascal Obry
2000-04-20 0:00 ` Gautier
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox