Document that attribute noreturn inhibits tail call optimization
PR middle-end/81035 * doc/extend.texi (Common Function Attributes): Mention that noreturn suppresses tail call optimization. From-SVN: r264490
This commit is contained in:
parent
382955736e
commit
2e3f6531bf
2 changed files with 9 additions and 0 deletions
|
@ -1,3 +1,9 @@
|
|||
2018-09-21 Florian Weimer <fweimer@redhat.com>
|
||||
|
||||
PR middle-end/81035
|
||||
* doc/extend.texi (Common Function Attributes): Mention that
|
||||
noreturn suppresses tail call optimization.
|
||||
|
||||
2018-09-21 David Malcolm <dmalcolm@redhat.com>
|
||||
|
||||
PR tree-optimization/87309
|
||||
|
|
|
@ -3157,6 +3157,9 @@ The @code{noreturn} keyword does not affect the exceptional path when that
|
|||
applies: a @code{noreturn}-marked function may still return to the caller
|
||||
by throwing an exception or calling @code{longjmp}.
|
||||
|
||||
In order to preserve backtraces, GCC will never turn calls to
|
||||
@code{noreturn} functions into tail calls.
|
||||
|
||||
Do not assume that registers saved by the calling function are
|
||||
restored before calling the @code{noreturn} function.
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue