### Intrinsic Functions

IBM C and C++ Compilers inlines some functions instead of generating a function call for them. Some of these functions are always inlined; others are inlined only when you compile with the optimization option on.

Note: The optimization options are /O or /Oc.

Functions that Are Inlined when Optimization Is On
When optimization is on (/O+), IBM C and C++ Compilers by default inlines (generates code instead of a function call) the following C library functions:

_clear87 | _status87 | strncmp | wcslen
_control87 | strcat | strncpy | wcsncat
memchr | strchr | strrchr | wcsncmp
memcmp | strcmp | wcscat | wcsncpy
memcpy | strcpy | wcschr | wcsrchr
memmove | strlen | wcscmp |
memset | strncat | wcscpy |

The compiler inlines these functions when you include the appropriate header file that contains the function prototype and the #define and #pragma statements for the function.

If you program in C, you can override the inlining either by undefining the macro or by placing the name of the function in parentheses, thus disabling the preprocessor substitution. The function then remains a function call, and is not replaced by the code. The size of your object module is reduced, but your application program runs more slowly.

Note: The optimize-for-size compiler option (/Oc) also disables the inlining of non-intrinsic functions. It should be /O+ /Oc-.

Functions that Are Always Inlined
The following functions are built-in functions, meaning they do not have any backing library functions, and are always inlined:

abs | _fasin | _fyl2xp1 | _llrotr | _srotl
_alloca | _fcos | _f2xm1 | _lrotl | _srotr
_crotl | _fcossin | _inp | _lrotr | __sxchg
_crotr | _fpatan | _inpd | __lxchg |
__cxchg | _fptan | _inpw | _outp |
_disable | _fsin | _interrupt | _outpd |
_enable | _fsincos | labs | _outpw |
fabs | _fsqrt | llabs | _rotl |
_facos | _fyl2x | _llrotl | _rotr |

Do not parenthesize the names of these functions.

The built-in functions are all defined in <builtin.h>, in addition to the standard header definitions.