> On Sep 21, 2018, at 2:17 PM, Florian Weimer <fwei...@redhat.com> wrote:
> 
> * Segher Boessenkool:
> 
>> On Fri, Sep 21, 2018 at 12:59:27PM +0200, Florian Weimer wrote:
>>> 2018-09-21  Florian Weimer  <fwei...@redhat.com>
>>> 
>>>     PR middle-end/81035
>>>     * doc/extend.texi (Common Function Attributes): Mention that
>>>     noreturn suppresses tail call optimization.
>> 
>>> +In order to preserve backtraces, GCC will never turn calls to
>>> +@code{noreturn} functions into tail calls.
>> 
>> Should we document this?  Shouldn't we fix it, instead?
> 
> Fix how?  What is currently broken?
> 
> For things like assertion failures, we do not want to replace the
> current stack frame with that of __assert_fail, I think.

I agree.  Also, tailcalls are optimizations.  Speed optimizing noreturn calls 
is obviously not interesting.  Calls to noreturn functions are short, and 
turning them into a jump probably makes no difference in size, or if it does, 
not enough to matter.

        paul

Reply via email to