From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: More over-engineering Date: Mon, 30 Nov 2015 22:04:51 +0200 Message-ID: <83poyrl0d8.fsf@gnu.org> References: <565A3516.5000001@cs.ucla.edu> Reply-To: Eli Zaretskii NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: QUOTED-PRINTABLE X-Trace: ger.gmane.org 1448913916 4521 80.91.229.3 (30 Nov 2015 20:05:16 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 30 Nov 2015 20:05:16 +0000 (UTC) Cc: aurelien.aptel+emacs@gmail.com, eggert@cs.ucla.edu, emacs-devel@gnu.org To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Nov 30 21:05:05 2015 Return-path: Envelope-to: ged-emacs-devel@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 1a3Uh7-0001CP-0C for ged-emacs-devel@m.gmane.org; Mon, 30 Nov 2015 21:05:05 +0100 Original-Received: from localhost ([::1]:43033 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a3Uh6-0008Ir-Fu for ged-emacs-devel@m.gmane.org; Mon, 30 Nov 2015 15:05:04 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:48027) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a3Uh3-0008IB-7J for emacs-devel@gnu.org; Mon, 30 Nov 2015 15:05:02 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1a3Ugz-0002hD-W8 for emacs-devel@gnu.org; Mon, 30 Nov 2015 15:05:01 -0500 Original-Received: from mtaout26.012.net.il ([80.179.55.182]:38343) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a3Ugz-0002gp-JP for emacs-devel@gnu.org; Mon, 30 Nov 2015 15:04:57 -0500 Original-Received: from conversion-daemon.mtaout26.012.net.il by mtaout26.012.net.il (HyperSendmail v2007.08) id <0NYN001008U42K00@mtaout26.012.net.il> for emacs-devel@gnu.org; Mon, 30 Nov 2015 22:07:40 +0200 (IST) Original-Received: from HOME-C4E4A596F7 ([84.94.185.246]) by mtaout26.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NYN00OY898S8V20@mtaout26.012.net.il>; Mon, 30 Nov 2015 22:07:40 +0200 (IST) In-reply-to: X-012-Sender: halo1@inter.net.il X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 80.179.55.182 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:195643 Archived-At: > From: Stefan Monnier > Date: Mon, 30 Nov 2015 14:40:02 -0500 > Cc: Aur=E9lien Aptel , > =09Emacs development discussions >=20 > > I agree. Although I'm a fan of --with-wide-int, I don't think it= should > > force this extra complication in modules. >=20 > I managed to make it work for --with-wide-int without having to > re-compile the modules (those rare 64bit values which can't be cram= med > into 32bit go through an extra proxy object). I get compilation warnings with those changes: emacs-module.c: In function 'value_to_lisp': emacs-module.c:853:19: warning: cast from pointer to integer of dif= ferent size [-Wpointer-to-int-cast] EMACS_INT tmp =3D (EMACS_INT)v; =09=09 ^ emacs-module.c:859:7: warning: passing argument 1 of 'make_lisp_ptr= ' makes pointer from integer without a cast [enabled by default] =09 o =3D make_lisp_ptr ((tmp - tag) >> GCTYPEBITS, tag); break; =09 ^ In file included from emacs-module.c:30:0: lisp.h:1095:1: note: expected 'void *' but argument is of type 'EMA= CS_INT' make_lisp_ptr (void *ptr, enum Lisp_Type type) ^ emacs-module.c:861:26: warning: cast to pointer from integer of dif= ferent size [-Wint-to-pointer-cast] =09 o =3D make_lisp_ptr ((void*)(tmp - tag), tag); =09=09=09 ^ emacs-module.c: In function 'lisp_to_value': emacs-module.c:895:32: warning: cast to pointer from integer of dif= ferent size [-Wint-to-pointer-cast] =09 if (val =3D=3D (EMACS_UINT)(emacs_value)val) =09=09=09=09 ^ emacs-module.c:895:20: warning: cast from pointer to integer of dif= ferent size [-Wpointer-to-int-cast] =09 if (val =3D=3D (EMACS_UINT)(emacs_value)val) =09=09 ^ emacs-module.c:897:29: warning: cast to pointer from integer of dif= ferent size [-Wint-to-pointer-cast] =09 emacs_value v =3D (emacs_value) ((val << GCTYPEBITS) | tag)= ; =09=09=09 ^ emacs-module.c:907:14: warning: cast from pointer to integer of dif= ferent size [-Wpointer-to-int-cast] =09 if (((EMACS_UINT)ptr) & ((1 << GCTYPEBITS) - 1)) =09=09^ emacs-module.c:913:40: warning: cast from pointer to integer of dif= ferent size [-Wpointer-to-int-cast] =09 emacs_value v =3D (emacs_value)(((EMACS_UINT) ptr) | tag); =09=09=09=09=09 ^ emacs-module.c:913:25: warning: cast to pointer from integer of dif= ferent size [-Wint-to-pointer-cast] =09 emacs_value v =3D (emacs_value)(((EMACS_UINT) ptr) | tag); =09=09=09 ^