6.3.2 Inline Expansion of Subprograms
1
Subprograms may be expanded in line at the call site.
Syntax
2
The
form of a
pragma Inline, which is a program
unit pragma (see
10.1.5), is as follows:
3
pragma Inline(
name
{,
name});
Legality Rules
4
The pragma shall apply
to one or more callable entities or generic subprograms.
Static Semantics
5
If a pragma Inline applies
to a callable entity, this indicates that inline expansion is desired
for all calls to that entity. If a pragma
Inline applies to a generic subprogram, this indicates that inline expansion
is desired for all calls to all instances of that generic subprogram.
Implementation Permissions
6
For each call, an implementation is free to follow
or to ignore the recommendation expressed by the pragma.
6.1/2
An implementation may allow a pragma
Inline that has an argument which is a direct_name
denoting a subprogram_body of the same declarative_part.
7
6 The name in
a pragma Inline can denote more than one entity
in the case of overloading. Such a pragma
applies to all of the denoted entities.