From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 44558 invoked by alias); 21 Sep 2018 18:17:59 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 44542 invoked by uid 89); 21 Sep 2018 18:17:59 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-1.9 required=5.0 tests=BAYES_00,SPF_HELO_PASS autolearn=ham version=3.3.2 spammy= X-HELO: mx1.redhat.com Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 21 Sep 2018 18:17:58 +0000 Received: from smtp.corp.redhat.com (int-mx12.intmail.prod.int.phx2.redhat.com [10.5.11.27]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id BD49930001E7; Fri, 21 Sep 2018 18:17:56 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-116-63.ams2.redhat.com [10.36.116.63]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 0658773EFF; Fri, 21 Sep 2018 18:17:55 +0000 (UTC) From: Florian Weimer To: Segher Boessenkool Cc: gcc-patches@gcc.gnu.org Subject: Re: [PATCH] middle-end/81035: Mention that noreturn suppresses tail call optimization References: <87h8ijktf4.fsf@oldenburg.str.redhat.com> <20180921181135.GI23155@gate.crashing.org> Date: Fri, 21 Sep 2018 18:29:00 -0000 In-Reply-To: <20180921181135.GI23155@gate.crashing.org> (Segher Boessenkool's message of "Fri, 21 Sep 2018 13:11:35 -0500") Message-ID: <87y3bu90ky.fsf@oldenburg.str.redhat.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-IsSubscribed: yes X-SW-Source: 2018-09/txt/msg01255.txt.bz2 * Segher Boessenkool: > On Fri, Sep 21, 2018 at 12:59:27PM +0200, Florian Weimer wrote: >> 2018-09-21 Florian Weimer >> >> 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. Thanks, Florian