inline_recursion
The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.
The latest version of this topic can be found at inline_recursion. Controls the inline expansion of direct or mutually recursive function calls.
Syntax
#pragma inline_recursion
( [{on | off}] )
Remarks
Use this pragma to control functions marked as inline and __inline or functions that the compiler automatically expands under the /Ob2 option. Use of this pragma requires an /Ob compiler option setting of either 1 or 2. The default state for inline_recursion
is off. This pragma takes effect at the first function call after the pragma is seen and does not affect the definition of the function.
The inline_recursion
pragma controls how recursive functions are expanded. If inline_recursion
is off, and if an inline function calls itself (either directly or indirectly), the function is expanded only one time. If inline_recursion
is on, the function is expanded multiple times until it reaches the value set with the inline_depth pragma, the default value for recursive functions that is defined by the inline_depth
pragma, or a capacity limit.
See Also
Pragma Directives and the __Pragma Keyword
inline_depth
/Ob (Inline Function Expansion)