RAD Studio |  |

W8027: Functions containing 'statement' are not expanded inline (C++)

(Command-line option to suppress warning: -w-inl)

Where:

'statement' can be any of the following:

- Static variables
- Aggregate initializers
- Some return statements
- Local destructors
- Some if statements
- Local classes
- Missing return statements
- Disallowed reserved words listed under "Reserved words" below.

Reserved words

Functions containing any of these reserved words can't be expanded inline, even when specified as inline:

asm | except
break | finally
case | for
continue | goto
defaults | switch
do | while

The function is still perfectly legal, but will be treated as an ordinary static (not global) function.

A copy of the function will appear in each compilation unit where it is called.

Description

If an inline function becomes too complex, the compiler is unable to expand it inline. However, because the function is so complex, expanding it inline is unlikely to provide significant performance enhancements.

For local destructors

You've created an inline function for which the compiler turns off inlining. You can ignore this warning; the function will be generated out of line.

Copyright(C) 2009 Embarcadero Technologies, Inc. All Rights Reserved.
What do you think about this topic? Send feedback!