This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Ada system.fat_lflt.fat_long_float.scaling problem analysis


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]