From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Glenn Morris Newsgroups: gmane.emacs.bugs Subject: bug#17681: 24.3.91; "Arithmetic Error" in hide-ifdef mode when using shift operators Date: Thu, 05 Jun 2014 18:26:15 -0400 Message-ID: References: <87zjhtn6xq.fsf@engster.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1402007239 19095 80.91.229.3 (5 Jun 2014 22:27:19 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 5 Jun 2014 22:27:19 +0000 (UTC) Cc: 17681@debbugs.gnu.org, David Engster To: luke.yx.lee@gmail.com Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Fri Jun 06 00:27:12 2014 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1Wsg7o-0001Pd-Pz for geb-bug-gnu-emacs@m.gmane.org; Fri, 06 Jun 2014 00:27:08 +0200 Original-Received: from localhost ([::1]:44029 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Wsg7o-0002Uo-Dq for geb-bug-gnu-emacs@m.gmane.org; Thu, 05 Jun 2014 18:27:08 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:51440) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Wsg7k-0002Sb-Jw for bug-gnu-emacs@gnu.org; Thu, 05 Jun 2014 18:27:05 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Wsg7i-0003Ch-OU for bug-gnu-emacs@gnu.org; Thu, 05 Jun 2014 18:27:04 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:47344) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Wsg7i-0003Cd-MP for bug-gnu-emacs@gnu.org; Thu, 05 Jun 2014 18:27:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1Wsg7i-00087j-7R for bug-gnu-emacs@gnu.org; Thu, 05 Jun 2014 18:27:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Glenn Morris Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 05 Jun 2014 22:27:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 17681 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 17681-submit@debbugs.gnu.org id=B17681.140200717931085 (code B ref 17681); Thu, 05 Jun 2014 22:27:02 +0000 Original-Received: (at 17681) by debbugs.gnu.org; 5 Jun 2014 22:26:19 +0000 Original-Received: from localhost ([127.0.0.1]:46221 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Wsg71-00085I-4O for submit@debbugs.gnu.org; Thu, 05 Jun 2014 18:26:19 -0400 Original-Received: from fencepost.gnu.org ([208.118.235.10]:36317 ident=Debian-exim) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Wsg6y-000858-Gc for 17681@debbugs.gnu.org; Thu, 05 Jun 2014 18:26:17 -0400 Original-Received: from rgm by fencepost.gnu.org with local (Exim 4.71) (envelope-from ) id 1Wsg6x-0006AJ-BR; Thu, 05 Jun 2014 18:26:15 -0400 X-Spook: Aladdin Mossad electronic surveillance Venezuela Verisign X-Ran: (yj##[>ya2v?0B)SR<-XVY.];No@,3eE5T~RAJ`>v0Zg2y`0"8qWua*Slg3.J=I!3L$8&Q X-Hue: magenta X-Attribution: GM In-Reply-To: <87zjhtn6xq.fsf@engster.org> (David Engster's message of "Tue, 03 Jun 2014 21:12:33 +0200") User-Agent: Gnus (www.gnus.org), GNU Emacs (www.gnu.org/software/emacs/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 140.186.70.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:90090 Archived-At: Luke, could you take a look at this report please? http://debbugs.gnu.org/17681 An artificial but smaller example might be: #if 1 / FOO #endif David Engster wrote: > Recipe: > > - Create a file "test.h" containing the following (this is from > the file 'jiffies.h' in the Linux kernel): > > #if !((((NSEC_PER_SEC << 2) / TICK_NSEC) << (SEC_JIFFIE_SC - 2)) & 0x80000000) > #endif > > - emacs -Q > > - Load the file, activate hide-ifdef-mode > > - C-c @ h (hide-ifdefs) > > The minibuffer will show "Arithmetic Error". Here is the backtrace: > > Debugger entered--Lisp error: (arith-error) > hif-divide(0 nil) > (hif-shiftleft (hif-divide (hif-shiftleft (hif-lookup (quote NSEC_PER_SEC)) 2) (hif-lookup (quote TICK_NSEC))) (hif-minus (hif-lookup (quote SEC_JIFFIE_SC)) 2)) > (hif-logand (hif-shiftleft (hif-divide (hif-shiftleft (hif-lookup (quote NSEC_PER_SEC)) 2) (hif-lookup (quote TICK_NSEC))) (hif-minus (hif-lookup (quote SEC_JIFFIE_SC)) 2)) 2147483648.0) > (hif-not (hif-logand (hif-shiftleft (hif-divide (hif-shiftleft (hif-lookup (quote NSEC_PER_SEC)) 2) (hif-lookup (quote TICK_NSEC))) (hif-minus (hif-lookup (quote SEC_JIFFIE_SC)) 2)) 2147483648.0)) > eval((hif-not (hif-logand (hif-shiftleft (hif-divide (hif-shiftleft (hif-lookup (quote NSEC_PER_SEC)) 2) (hif-lookup (quote TICK_NSEC))) (hif-minus (hif-lookup (quote SEC_JIFFIE_SC)) 2)) 2147483648.0))) > hif-possibly-hide() > hide-ifdef-guts() > hide-ifdefs() > > Earlier Emacsen did not throw an error here (although it is very > possible that the above line wasn't calculated correctly). Still, this > probably qualifies as a regression.