Disabling the inlining of functions can help to improve the debug experience.
The compiler attempts to automatically inline functions at optimization levels
-O3. When these levels are used with
automatic inlining is disabled.
When optimization levels
-O1 are used with
-fno-inline-functions, no automatic
inlining is attempted, and only functions that are tagged with
__attribute__((always_inline)) are inlined.