Next: , Previous: File Naming Control, Up: Switches for gcc

3.2.13 Subprogram Inlining Control

The n here is intended to suggest the first syllable of the word “inline”. GNAT recognizes and processes Inline pragmas. However, for the inlining to actually occur, optimization must be enabled. To enable inlining of subprograms specified by pragma Inline, you must also specify this switch. In the absence of this switch, GNAT does not attempt inlining and does not need to access the bodies of subprograms for which pragma Inline is specified if they are not in the current unit.

If you specify this switch the compiler will access these bodies, creating an extra source dependency for the resulting object file, and where possible, the call will be inlined. For further details on when inlining is possible see Inlining of Subprograms.

The front end inlining activated by this switch is generally more extensive, and quite often more effective than the standard -gnatn inlining mode. It will also generate additional dependencies. Note that -gnatN automatically implies -gnatn so it is not necessary to specify both options.