This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Ada system.fat_lflt.fat_long_float.scaling problem analysis
- From: Laurent GUERBY <laurent at guerby dot net>
- To: Richard Kenner <kenner at vlsi1 dot ultra dot nyu dot edu>
- Cc: gcc at gcc dot gnu dot org
- Date: Sat, 18 Sep 2004 13:01:42 +0200
- Subject: Re: Ada system.fat_lflt.fat_long_float.scaling problem analysis
- References: <10409181049.AA14403@vlsi1.ultra.nyu.edu>
On Sat, 2004-09-18 at 12:49, Richard Kenner wrote:
> I not 100% sure I understand the exact Ada semantics there and need to do
> a little investigation of what that pragma Import is supposed to mean
> in the presence of the address clause. In other place I saw this, it
> seemed to be being uses precisely to define the external name.
It is mentionned in the annotated version 13.3.12.c
<<
13.3 {Operational and Representation Attributes} [Representation
Attributes]
[...]
12 {specifiable (of Address for stand-alone objects and for program units)
[partial]} {Address clause} Address may be specified for
stand-alone objects and for program units via an
attribute_definition_clause.
[...]
12.c If the Address of an object is specified, any explicit or implicit
initialization takes place as usual, unless a pragma Import is also
specified for the object (in which case any necessary initialization
is presumably done in the foreign language).
>>
Import is added here only to suppress the potential Ada language defined
initialization that would otherwise clobber memory at
the given address, not as a mean to specify an external symbol.
If an object has an address clause, no symbol need to be generated for
it (at least I don't see such a case).
Laurent