J.15.5 Interfacing Pragmas
Syntax
An 
interfacing pragma is a representation pragma that is one of the 
pragmas Import, 
Export, or Convention. Their forms are as follows: 
 
For 
pragmas 
Import and Export, the argument for Link_Name shall not be given without 
the 
pragma_argument_identifier 
unless the argument for External_Name is given. 
 
Name Resolution Rules
 The expected 
type for an 
external_name_string_expression 
and a 
link_name_string_expression 
in an interfacing pragma is String. 
 
Legality Rules
The 
convention_identifier 
of an interfacing pragma shall be the name of a convention (see 
B.1).
 
 The 
local_name 
of each of these pragmas shall denote a declaration that may have the 
similarly named aspect specified. 
 
Static Semantics
 An interfacing pragma 
specifies various aspects of the entity denoted by the 
local_name 
as follows: 
 
A 
pragma 
Import specifies that the Import aspect (see 
B.1) 
is True.
 
A 
pragma 
Export specifies that the Export aspect (see 
B.1) 
is True.
 
For both 
pragma 
Import and Export, if an external name is given in the pragma, the External_Name 
aspect (see 
B.1) is specified to be 
external_name_string_expression. 
If a link name is given in the pragma, the Link_Name aspect (see 
B.1) 
is specified to be the 
link_name_string_expression. 
 
Ada 2005 and 2012 Editions sponsored in part by Ada-Europe