1
Subprograms may be expanded in line at the call site.
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});
4
The pragma shall apply to one or more callable entities or generic subprograms.
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.
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.
NOTES
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.