diff options
Diffstat (limited to 'gcc/doc')
-rw-r--r-- | gcc/doc/extend.texi | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi index cc6ea2d..f71c520 100644 --- a/gcc/doc/extend.texi +++ b/gcc/doc/extend.texi @@ -1523,7 +1523,7 @@ attributes when making a declaration. This keyword is followed by an attribute specification inside double parentheses. The following attributes are currently defined for functions on all targets: @code{noreturn}, @code{returns_twice}, @code{noinline}, @code{always_inline}, -@code{pure}, @code{const}, @code{nothrow}, @code{sentinel}, +@code{flatten}, @code{pure}, @code{const}, @code{nothrow}, @code{sentinel}, @code{format}, @code{format_arg}, @code{no_instrument_function}, @code{section}, @code{constructor}, @code{destructor}, @code{used}, @code{unused}, @code{deprecated}, @code{weak}, @code{malloc}, @@ -1566,6 +1566,14 @@ Generally, functions are not inlined unless optimization is specified. For functions declared inline, this attribute inlines the function even if no optimization level was specified. +@cindex @code{flatten} function attribute +@item flatten +Generally, inlining into a function is limited. For a function marked with +this attribute, every call inside this function will be inlined, if possible. +Whether the function itself is considered for inlining depends on its size and +the current inlining parameters. The @code{flatten} attribute only works +reliably in unit-at-a-time mode. + @item cdecl @cindex functions that do pop the argument stack on the 386 @opindex mrtd |