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:
Florian Weimer 2018-09-21 21:49:36 +02:00 committed by Florian Weimer
parent 382955736e
commit 2e3f6531bf
2 changed files with 9 additions and 0 deletions

View file

@ -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

View file

@ -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.