4.29 Inline functions and debugging

The debug view generated for inline functions is generally good. However, it is sometimes useful to avoid inlining functions because in some situations, debugging is clearer if they are not inlined.

You can enable and disable the inlining of functions using the --no_inline, --inline, --autoinline and --no_autoinline command-line options.
The debug view can also be adversely affected by retaining both inline and out-of-line copies of a function when out-of-line copies are not required. Functions that are never called from outside a module can be declared as static functions to avoid an unnecessarily complicated debug view.
Related concepts
4.20 Inline functions
4.21 Compiler decisions on function inlining
4.22 Automatic function inlining and static functions
4.23 Inline functions and removal of unused out-of-line functions at link time
4.24 Automatic function inlining and multifile compilation
4.26 Compiler modes and inline functions
4.27 Inline functions in C++ and C90 mode
4.28 Inline functions in C99 mode
Related reference
4.25 Restriction on overriding compiler decisions about function inlining
7.11 --autoinline, --no_autoinline
7.66 --forceinline
9.6 __forceinline
9.8 __inline
7.87 --inline, --no_inline
Related information
--inline, --no_inline linker option
Non-ConfidentialPDF file icon PDF versionARM DUI0375F
Copyright © 2007, 2008, 2011, 2012, 2014 ARM. All rights reserved.