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.