https://gcc.gnu.org/g:4a46ba2d905ed40116fb7e7a34809307dc8e37be

commit r15-2180-g4a46ba2d905ed40116fb7e7a34809307dc8e37be
Author: Andi Kleen <a...@gcc.gnu.org>
Date:   Sat Jul 20 16:09:41 2024 -0700

    Revert "Add documentation for musttail attribute"
    
    This reverts commit 56f824cc206ff00d466aaeb11211d8005c4668bc.

Diff:
---
 gcc/doc/extend.texi | 25 ++-----------------------
 1 file changed, 2 insertions(+), 23 deletions(-)

diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi
index b0273927b256..4b77599380b5 100644
--- a/gcc/doc/extend.texi
+++ b/gcc/doc/extend.texi
@@ -9921,7 +9921,7 @@ same manner as the @code{deprecated} attribute.
 @section Statement Attributes
 @cindex Statement Attributes
 
-GCC allows attributes to be set on statements.  @xref{Attribute Syntax},
+GCC allows attributes to be set on null statements.  @xref{Attribute Syntax},
 for details of the exact syntax for using attributes.  Other attributes are
 available for functions (@pxref{Function Attributes}), variables
 (@pxref{Variable Attributes}), labels (@pxref{Label Attributes}), enumerators
@@ -9978,25 +9978,6 @@ foo (int x, int y)
 @code{y} is not actually incremented and the compiler can but does not
 have to optimize it to just @code{return 42 + 42;}.
 
-@cindex @code{musttail} statement attribute
-@item musttail
-
-The @code{gnu::musttail} or @code{clang::musttail} attribute
-can be applied to a @code{return} statement with a return-value expression
-that is a function call.  It asserts that the call must be a tail call that
-does not allocate extra stack space, so it is safe to use tail recursion
-to implement long running loops.
-
-@smallexample
-[[gnu::musttail]] return foo();
-@end smallexample
-
-If the compiler cannot generate a @code{musttail} tail call it will report
-an error. On some targets tail calls may never be supported.
-Tail calls cannot reference locals in memory, which may affect
-builds without optimization when passing small structures, or passing
-or returning large structures. Enabling -O1 or -O2 can improve
-the success of tail calls.
 @end table
 
 @node Attribute Syntax
@@ -10120,9 +10101,7 @@ the constant expression, if present.
 
 @subsubheading Statement Attributes
 In GNU C, an attribute specifier list may appear as part of a null
-statement. The attribute goes before the semicolon.
-Some attributes in new style syntax are also supported
-on non-null statements.
+statement.  The attribute goes before the semicolon.
 
 @subsubheading Type Attributes

Reply via email to