10.6 __forceinline

The __forceinline keyword forces the compiler to compile a C or C++ function inline.

The semantics of __forceinline are exactly the same as those of the C++ inline keyword. The compiler attempts to inline a function qualified as __forceinline, regardless of its characteristics. However, the compiler does not inline a function if doing so causes problems. For example, a recursive function is inlined into itself only once.

__forceinline is a storage class qualifier. It does not affect the type of a function.


This keyword has the function attribute equivalent __attribute__((always_inline)).


__forceinline static int max(int x, int y)
    return x > y ? x : y; // always inline if possible
Related reference
10.32 __attribute__((always_inline)) function attribute
8.83 --forceinline
Non-Confidential PDF file icon PDF version ARM DUI0472J
Copyright © 2010-2013 ARM. All rights reserved.