Next: , Previous: 6.3.1, Up: 6.3


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.

     NOTES

7

 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.