Inline Expansion of Library Functions

By default, the compiler automatically expands (inlines) a number of standard and math library functions at the point of the call to that function, which usually results in faster computation.

However, the inlined library functions do not set the errno variable when being expanded inline. In code that relies upon the setting of the errno variable, you should use the -nolib_inline option. Also, if one of your functions has the same name as one of the compiler-supplied library functions, then when this function is called, the compiler assumes that the call is to the library function and replaces the call with an inlined version of the library function.

So, if the program defines a function with the same name as one of the known library routines, you must use the -nolib_inline option to ensure that the user-supplied function is used.
-nolib_inline
disables inlining of all intrinsics.

Your results can vary slightly using the preceding optimizations.

 Note
Automatic inline expansion of library functions is not related to the inline expansion that the compiler does during interprocedural optimizations. For example, the following command compiles the program sum.f without expanding the math library functions:

IA-32 applications:

prompt>ifc -ip -nolib_inline sum.f

Itanium(TM)-based applications:

prompt>efc -ip -nolib_inline sum.f

For information on the Intel-provided intrinsic functions, see Additional Intrinsic Functions in the Reference section.