From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Paul Eggert Newsgroups: gmane.emacs.devel Subject: Re: Bignum speedup patch causes crash at startup Date: Wed, 5 Sep 2018 08:40:05 -0700 Organization: UCLA Computer Science Department Message-ID: <00d18e5a-0040-bbf0-c3dd-61e3ac99be4e@cs.ucla.edu> References: <86h8j5f33t.fsf@gmail.com> <20300f3e-3061-2cf6-2431-bdd79d00820f@cs.ucla.edu> <83o9dcx9eh.fsf@gnu.org> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-Trace: blaine.gmane.org 1536161925 18636 195.159.176.226 (5 Sep 2018 15:38:45 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Wed, 5 Sep 2018 15:38:45 +0000 (UTC) User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 Cc: andrewjmoreton@gmail.com, emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Sep 05 17:38:41 2018 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fxZtA-0004kF-8a for ged-emacs-devel@m.gmane.org; Wed, 05 Sep 2018 17:38:40 +0200 Original-Received: from localhost ([::1]:56831 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fxZvG-0004Hp-MZ for ged-emacs-devel@m.gmane.org; Wed, 05 Sep 2018 11:40:50 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:33616) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fxZui-0003ys-LJ for emacs-devel@gnu.org; Wed, 05 Sep 2018 11:40:19 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fxZui-0003rp-0y for emacs-devel@gnu.org; Wed, 05 Sep 2018 11:40:16 -0400 Original-Received: from zimbra.cs.ucla.edu ([131.179.128.68]:34896) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1fxZua-0003bG-Dp; Wed, 05 Sep 2018 11:40:08 -0400 Original-Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id 7B4D2161700; Wed, 5 Sep 2018 08:40:06 -0700 (PDT) Original-Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id DvHtF3pbivOt; Wed, 5 Sep 2018 08:40:05 -0700 (PDT) Original-Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id B8679161703; Wed, 5 Sep 2018 08:40:05 -0700 (PDT) X-Virus-Scanned: amavisd-new at zimbra.cs.ucla.edu Original-Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id eng3EeItBw7w; Wed, 5 Sep 2018 08:40:05 -0700 (PDT) Original-Received: from [192.168.1.9] (cpe-23-242-74-103.socal.res.rr.com [23.242.74.103]) by zimbra.cs.ucla.edu (Postfix) with ESMTPSA id 93FC2161700; Wed, 5 Sep 2018 08:40:05 -0700 (PDT) In-Reply-To: <83o9dcx9eh.fsf@gnu.org> Content-Language: en-US X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 131.179.128.68 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:229300 Archived-At: Eli Zaretskii wrote: >>> C:/emacs/git/emacs/master/src/data.c:2962:12: note: 'accum' was declared here >>> intmax_t accum = XFIXNUM (val); >> GCC complains that 'accum' might be used uninitialized even though 'accum's >> declaration has an initializer? Looks like a clear GCC bug, and might be worth >> reporting there. > Maybe it's because eassert can abort? Possibly, if GCC is buggy. But if GCC is working properly, it can easily tell that the preceding eassume (or the eassert buried inside XFIXNUM) cannot possibly cause control flow to jump over the initialization and into a use of 'accum', because any signal must jump out of that block and therefore cannot use 'accum'.