From: Jeffrey Carter <jrcarter@acm.org>
Subject: Re: Placement of pragma Import
Date: Sun, 08 Dec 2002 18:44:54 GMT
Date: 2002-12-08T18:44:54+00:00 [thread overview]
Message-ID: <3DF39358.1020903@acm.org> (raw)
In-Reply-To: mailman.1039342442.1805.comp.lang.ada@ada.eu.org
Michal Nowak wrote:
> Hello all,
>
> I have a little question coming out of curiosity.
>
> I have an assembly routine (in fact it may be a C code,
> or something other, it does not matter).
> I'm importing this subroutine in a package. It is possible
> to place pragma Import in two (maybe more?) places:
>
> -- Possibility 1:
>
> package Import_Test is
>
> procedure Asm_Coded;
>
> pragma Import (Assembler, Asm_Coded, "donothing");
> pragma Linker_Options ("nothing_asm.s");
>
> end Import_Test;
>
> -- Possibility 2:
> package Import_Test is
>
> procedure Asm_Coded;
>
> private -- Imported in private section
>
> pragma Import (Assembler, Asm_Coded, "donothing");
> pragma Linker_Options ("nothing_asm.s");
>
> end Import_Test;
>
As far as I can see, it makes absolutely no difference. Things in the
private part are not visible to clients in the Ada sense, but clients
cannot refer to the pragmata even if they are visible. The human reader
can see the private part, so putting them there does not hide them in
any way.
If you could put them in the body, that would hide them from the human
reader, who should only have to refer to the spec to learn what the
package does and how to use it. But you can't do that, so it seems to
make no difference at all.
Perhaps putting them in the private part will signal to human readers
that the information is not needed to understand the package. That is
the only reason I can see to prefer one over the other.
--
Jeff Carter
"Death awaits you all, with nasty, big, pointy teeth!"
Monty Python & the Holy Grail
next prev parent reply other threads:[~2002-12-08 18:44 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-12-08 10:23 Placement of pragma Import Michal Nowak
2002-12-08 12:26 ` Simon Wright
2002-12-08 15:08 ` Michal Nowak
2002-12-08 18:46 ` Jeffrey Carter
2002-12-08 19:46 ` Dennis Lee Bieber
2002-12-08 21:08 ` James S. Rogers
2002-12-09 1:21 ` Jeffrey Carter
2002-12-09 4:47 ` Dennis Lee Bieber
2002-12-09 21:56 ` Michal Nowak
2002-12-08 22:40 ` Martin Dowie
2002-12-09 1:42 ` Jeffrey Carter
2002-12-09 7:00 ` Martin Dowie
2002-12-10 2:04 ` Randy Brukardt
2002-12-09 21:55 ` Michal Nowak
2002-12-10 1:32 ` Jeffrey Carter
2002-12-09 14:34 ` Wes Groleau
2002-12-09 21:56 ` Michal Nowak
2002-12-08 18:44 ` Jeffrey Carter [this message]
2002-12-09 21:55 ` Michal Nowak
[not found] <200212081123160930.0047D332@smtp-po.inetia.pl>
2002-12-08 11:12 ` David C. Hoos, Sr.
2002-12-08 18:49 ` tmoran
[not found] ` <053001c29eaa$ad9b72f0$6500000a@dhoos>
2002-12-08 15:07 ` Michal Nowak
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox