|[ < ]||[ > ]||[ << ]||[ Up ]||[ >> ]||[Top]||[Contents]||[Index]||[ ? ]|
The extent to which suggestions made by using the
registerstorage-class specifier are effective (C90 6.5.1, C99 6.7.1).
registerspecifier affects code generation only in these ways:
- When used as part of the register variable extension, see Variables in Specified Registers.
When ‘-O0’ is in use, the compiler allocates distinct stack
memory for all variables that do not have the
registerstorage-class specifier; if
registeris specified, the variable may have a shorter lifespan than the code would indicate and may never be placed in memory.
On some rare x86 targets,
setjmpdoesn't save the registers in all circumstances. In those cases, GCC doesn't allocate any variables in registers unless they are marked
The extent to which suggestions made by using the inline function
specifier are effective (C99 6.7.4).
GCC will not inline any functions if the ‘-fno-inline’ option is used or if ‘-O0’ is used. Otherwise, GCC may still be unable to inline a function for many reasons; the ‘-Winline’ option may be used to determine if a function has not been inlined and why not.