From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Paul Eggert Newsgroups: gmane.emacs.devel Subject: Re: bookkeeping to prepare for a 64-bit EMACS_INT on 32-bit hosts Date: Mon, 02 May 2011 12:23:40 -0700 Organization: UCLA Computer Science Department Message-ID: <4DBF04BC.1010201@cs.ucla.edu> References: <4DBA71FB.5090900@cs.ucla.edu> <83mxj97889.fsf@gnu.org> <4DBA7F87.5040609@cs.ucla.edu> <4DBB67E2.1040202@cs.ucla.edu> <4DBED72D.9070207@cs.ucla.edu> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Trace: dough.gmane.org 1304364233 27736 80.91.229.12 (2 May 2011 19:23:53 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Mon, 2 May 2011 19:23:53 +0000 (UTC) Cc: Eli Zaretskii , emacs-devel@gnu.org To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon May 02 21:23:49 2011 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([140.186.70.17]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1QGyij-0003Cq-2l for ged-emacs-devel@m.gmane.org; Mon, 02 May 2011 21:23:49 +0200 Original-Received: from localhost ([::1]:35344 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QGyii-0007vo-H7 for ged-emacs-devel@m.gmane.org; Mon, 02 May 2011 15:23:48 -0400 Original-Received: from eggs.gnu.org ([140.186.70.92]:45077) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QGyif-0007vY-Cq for emacs-devel@gnu.org; Mon, 02 May 2011 15:23:46 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QGyie-0004je-7R for emacs-devel@gnu.org; Mon, 02 May 2011 15:23:45 -0400 Original-Received: from smtp.cs.ucla.edu ([131.179.128.62]:58480) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QGyic-0004jQ-IJ; Mon, 02 May 2011 15:23:42 -0400 Original-Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id 72FFB39E80F8; Mon, 2 May 2011 12:23:41 -0700 (PDT) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Original-Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id nEJHUdJziTgm; Mon, 2 May 2011 12:23:40 -0700 (PDT) Original-Received: from [131.179.64.200] (Penguin.CS.UCLA.EDU [131.179.64.200]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id C97B439E8083; Mon, 2 May 2011 12:23:40 -0700 (PDT) User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.15) Gecko/20110307 Fedora/3.1.9-0.39.b3pre.fc14 Thunderbird/3.1.9 In-Reply-To: X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-Received-From: 131.179.128.62 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 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-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:138987 Archived-At: On 05/02/11 11:12, Stefan Monnier wrote: > Given that > > #define checked_cast(t,x) ({ t v = (x); v}) > > can't be written in ISO C (AFAIK), I either form will be suboptimal, > so there's no need to change the code. How about the following idea instead? Put this into lisp.h: static inline EMACS_INTPTR to_EMACS_INTPTR (EMACS_INTPTR a) { return a; } Then, instead of this: EMACS_INTPTR ii = i; gpointer gi = (gpointer) ii; (which is verbose) or this: gpointer gi = (gpointer) (EMACS_INTPTR) i; (which misses some silly mistakes) we can write this: gpointer gi = (gpointer) to_EMACS_INTPTR (i); (which has neither problem).