register
storage-class specifier are effective (C90 6.5.1, C99 and C11 6.7.1).
The register
specifier affects code generation only in these ways:
register
storage-class specifier; if register
is specified, the variable
may have a shorter lifespan than the code would indicate and may never
be placed in memory.
setjmp
doesn’t save the registers in
all circumstances. In those cases, GCC doesn’t allocate any variables
in registers unless they are marked register
.
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.