comp.lang.ada
 help / color / mirror / Atom feed
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




  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