diff options
| -rw-r--r-- | gcc/ChangeLog | 5 | ||||
| -rw-r--r-- | gcc/doc/extend.texi | 11 |
2 files changed, 16 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3b8e28f..c60e891 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2008-02-08 Hans-Peter Nilsson <hp@axis.com> + + * doc/extend.texi (Function Attributes) <noinline>: Mention + asm ("") as method to keep calls. + 2008-02-07 Manuel Lopez-Ibanez <manu@gcc.gnu.org> PR other/32754 diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi index 7711e1f..b29e5b2 100644 --- a/gcc/doc/extend.texi +++ b/gcc/doc/extend.texi @@ -2519,6 +2519,17 @@ Functions with this attribute will not be so instrumented. @cindex @code{noinline} function attribute This function attribute prevents a function from being considered for inlining. +@c Don't enumerate the optimizations by name here; we try to be +@c future-compatible with this mechanism. +If the function does not have side-effects, there are optimizations +other than inlining that causes function calls to be optimized away, +although the function call is live. To keep such calls from being +optimized away, put +@smallexample +asm (""); +@end smallexample +(@pxref{Extended Asm}) in the called function, to serve as a special +side-effect. @item nonnull (@var{arg-index}, @dots{}) @cindex @code{nonnull} function attribute |
