7.1.2 Library Creation

Use the following qualifiers to create a preprocessed library:

/inline_create=<library name>   [/incr]
/ipa_create=<library name>      [/ipacr]

To specify an existing library file to inline from, use the /inline_from_libraries= or the /ipa_from_ libraries= qualifier.

The default source for routines to put into the library is the current source file. If /inline_from... or /ipa_from... is specified, the routines in the listed files are the ones put into the library. This provides a method to combine or expand libraries - just include the old library(ies) in an /inline_from_libraries or /ipa_from_ libraries qualifier, along with an /inline_from_ files or /ipa_from_files qualifier giving source files containing any new subroutines and functions.

Routines are included in libraries in the order in which they appear in the input file(s). This is to make sure that if multiple routines with the same name are in the same source file, the one chosen for inlining will be the one that you expect from the algorithm under the /inline_from... qualifier.

A library created with /inline_create will work for inlining or IPA, because it is just partially reduced source code, but a library made with /ipa_create may not appear in an /inline_from= list. It is flagged with a Warning message.

If no library name is given, the name used is file.klib , where file is the input file name with any trailing .f, .for, or .ftn stripped off.

When creating a library, only one /inline_create (/ipa_ create) qualifier may be given. That is, only one library may be created per KAP run. If the library file existed prior to running KAP, it is overwritten.

When /inline_create (/ipa_create) is specified on the command line, no transformed code file will be generated.

See the description of the /inline_from_libraries and /ipa_from_libraries qualifiers for information about using libraries created with these qualifiers.

If no /inline (/ipa) qualifier is given, the default will be to include all the routines from the inlining universe in the library, if possible. If /inline=<name list> or /ipa=<name list> is specified, only the named routines will be included in the library. See Section 7.5 for a list of conditions that can prevent a routine from being inlined.

An example of inlining from the library created previously is included in Section 7.2.


Previous Page | Next Page | Contents | Index |
Command-Line Qualifiers