Mercurial > emacs
changeset 111815:2278399d2eb9
Remove EXPLICIT_SIGN_EXTEND.
* lisp.h (union Lisp_Object): Explicitly declare signedness of
bit-field.
(XINT): Remove variant for EXPLICIT_SIGN_EXTEND.
* m/alpha.h (EXPLICIT_SIGN_EXTEND): Don't define.
* m/amdx86-64.h (EXPLICIT_SIGN_EXTEND): Likewise.
* m/ia64.h (EXPLICIT_SIGN_EXTEND): Likewise.
* m/ibms390.h (EXPLICIT_SIGN_EXTEND): Likewise.
* m/ibms390x.h (EXPLICIT_SIGN_EXTEND): Likewise.
* m/iris4d.h (EXPLICIT_SIGN_EXTEND): Likewise.
* m/m68k.h (EXPLICIT_SIGN_EXTEND): Likewise.
* m/sparc.h (EXPLICIT_SIGN_EXTEND): Likewise.
* m/template.h (EXPLICIT_SIGN_EXTEND): Likewise.
* m/hp800.h: Remove file.
* m/mips.h: Remove file.
* CPP-DEFINES (EXPLICIT_SIGN_EXTEND): Remove.
author | Andreas Schwab <schwab@linux-m68k.org> |
---|---|
date | Fri, 03 Dec 2010 21:55:23 +0100 |
parents | a8e337ba89d3 |
children | e567154bfaa7 5d38259ed51d |
files | admin/CPP-DEFINES admin/ChangeLog src/ChangeLog src/lisp.h src/m/alpha.h src/m/amdx86-64.h src/m/hp800.h src/m/ia64.h src/m/ibms390.h src/m/ibms390x.h src/m/iris4d.h src/m/m68k.h src/m/mips.h src/m/sparc.h src/m/template.h |
diffstat | 15 files changed, 27 insertions(+), 133 deletions(-) [+] |
line wrap: on
line diff
--- a/admin/CPP-DEFINES Fri Dec 03 09:40:46 2010 -0800 +++ b/admin/CPP-DEFINES Fri Dec 03 21:55:23 2010 +0100 @@ -62,7 +62,6 @@ SYSTEM_TYPE ** Machine specific macros, decribed in detail in src/m/template.h -EXPLICIT_SIGN_EXTEND LOAD_AVE_CVT LOAD_AVE_TYPE VIRT_ADDR_VARIES
--- a/admin/ChangeLog Fri Dec 03 09:40:46 2010 -0800 +++ b/admin/ChangeLog Fri Dec 03 21:55:23 2010 +0100 @@ -1,3 +1,7 @@ +2010-12-03 Andreas Schwab <schwab@linux-m68k.org> + + * CPP-DEFINES (EXPLICIT_SIGN_EXTEND): Remove. + 2010-10-12 Glenn Morris <rgm@gnu.org> * notes/nextstep: Move here from ../nextstep/DEV-NOTES.
--- a/src/ChangeLog Fri Dec 03 09:40:46 2010 -0800 +++ b/src/ChangeLog Fri Dec 03 21:55:23 2010 +0100 @@ -1,3 +1,20 @@ +2010-12-03 Andreas Schwab <schwab@linux-m68k.org> + + * lisp.h (union Lisp_Object): Explicitly declare signedness of + bit-field. + (XINT): Remove variant for EXPLICIT_SIGN_EXTEND. + * m/alpha.h (EXPLICIT_SIGN_EXTEND): Don't define. + * m/amdx86-64.h (EXPLICIT_SIGN_EXTEND): Likewise. + * m/ia64.h (EXPLICIT_SIGN_EXTEND): Likewise. + * m/ibms390.h (EXPLICIT_SIGN_EXTEND): Likewise. + * m/ibms390x.h (EXPLICIT_SIGN_EXTEND): Likewise. + * m/iris4d.h (EXPLICIT_SIGN_EXTEND): Likewise. + * m/m68k.h (EXPLICIT_SIGN_EXTEND): Likewise. + * m/sparc.h (EXPLICIT_SIGN_EXTEND): Likewise. + * m/template.h (EXPLICIT_SIGN_EXTEND): Likewise. + * m/hp800.h: Remove file. + * m/mips.h: Remove file. + 2010-12-03 Jan Djärv <jan.h.d@swipnet.se> * nsterm.m (ns_dumpglyphs_image): If drawing cursor, fill background
--- a/src/lisp.h Fri Dec 03 09:40:46 2010 -0800 +++ b/src/lisp.h Fri Dec 03 21:55:23 2010 +0100 @@ -267,7 +267,9 @@ struct { - EMACS_INT val : VALBITS; + /* Use explict signed, the signedness of a bit-field of type + int is implementation defined. */ + signed EMACS_INT val : VALBITS; enum Lisp_Type type : GCTYPEBITS; } s; struct @@ -290,7 +292,9 @@ struct { enum Lisp_Type type : GCTYPEBITS; - EMACS_INT val : VALBITS; + /* Use explict signed, the signedness of a bit-field of type + int is implementation defined. */ + signed EMACS_INT val : VALBITS; } s; struct { @@ -447,20 +451,8 @@ #endif #define XHASH(a) ((a).i) - #define XTYPE(a) ((enum Lisp_Type) (a).u.type) - -#ifdef EXPLICIT_SIGN_EXTEND -/* Make sure we sign-extend; compilers have been known to fail to do so. - We additionally cast to EMACS_INT since it seems that some compilers - have been known to fail to do so, even though the bitfield is declared - as EMACS_INT already. */ -#define XINT(a) ((((EMACS_INT) (a).s.val) << (BITS_PER_EMACS_INT - VALBITS)) \ - >> (BITS_PER_EMACS_INT - VALBITS)) -#else #define XINT(a) ((a).s.val) -#endif /* EXPLICIT_SIGN_EXTEND */ - #define XUINT(a) ((a).u.val) #ifdef USE_LSB_TAG
--- a/src/m/alpha.h Fri Dec 03 09:40:46 2010 -0800 +++ b/src/m/alpha.h Fri Dec 03 21:55:23 2010 +0100 @@ -30,13 +30,6 @@ /* __alpha defined automatically */ -/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend - the 24-bit bit field into an int. In other words, if bit fields - are always unsigned. - - This flag only matters if you use USE_LISP_UNION_TYPE. */ -#define EXPLICIT_SIGN_EXTEND - /* Data type of load average, as read out of kmem. */ #define LOAD_AVE_TYPE long
--- a/src/m/amdx86-64.h Fri Dec 03 09:40:46 2010 -0800 +++ b/src/m/amdx86-64.h Fri Dec 03 21:55:23 2010 +0100 @@ -31,13 +31,6 @@ #define EMACS_INT long #define EMACS_UINT unsigned long -/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend - the 24-bit bit field into an int. In other words, if bit fields - are always unsigned. - - This flag only matters if you use USE_LISP_UNION_TYPE. */ -#define EXPLICIT_SIGN_EXTEND - /* Data type of load average, as read out of kmem. */ #define LOAD_AVE_TYPE long
--- a/src/m/hp800.h Fri Dec 03 09:40:46 2010 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,29 +0,0 @@ -/* machine description file for hp9000 series 800 machines. - -Copyright (C) 1987, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, - 2009, 2010 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ - -/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend - the bit field into an int. In other words, if bit fields - are always unsigned. - - This flag only matters if you use USE_LISP_UNION_TYPE. */ -#define EXPLICIT_SIGN_EXTEND - -/* arch-tag: 809436e6-1645-4b92-b40d-2de5d6e7227c - (do not change this comment) */
--- a/src/m/ia64.h Fri Dec 03 09:40:46 2010 -0800 +++ b/src/m/ia64.h Fri Dec 03 21:55:23 2010 +0100 @@ -31,13 +31,6 @@ #define EMACS_INT long #define EMACS_UINT unsigned long -/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend - the 24-bit bit field into an int. In other words, if bit fields - are always unsigned. - - This flag only matters if you use USE_LISP_UNION_TYPE. */ -#define EXPLICIT_SIGN_EXTEND - /* Data type of load average, as read out of kmem. */ #define LOAD_AVE_TYPE long
--- a/src/m/ibms390.h Fri Dec 03 09:40:46 2010 -0800 +++ b/src/m/ibms390.h Fri Dec 03 21:55:23 2010 +0100 @@ -19,13 +19,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ -/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend - the 24-bit bit field into an int. In other words, if bit fields - are always unsigned. - - This flag only matters if you use USE_LISP_UNION_TYPE. */ -#define EXPLICIT_SIGN_EXTEND - /* Data type of load average, as read out of kmem. */ #define LOAD_AVE_TYPE long
--- a/src/m/ibms390x.h Fri Dec 03 09:40:46 2010 -0800 +++ b/src/m/ibms390x.h Fri Dec 03 21:55:23 2010 +0100 @@ -27,13 +27,6 @@ #define EMACS_INT long #define EMACS_UINT unsigned long -/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend - the 24-bit bit field into an int. In other words, if bit fields - are always unsigned. - - This flag only matters if you use USE_LISP_UNION_TYPE. */ -#undef EXPLICIT_SIGN_EXTEND - /* On the 64 bit architecture, we can use 60 bits for addresses */ #define VALBITS 60
--- a/src/m/iris4d.h Fri Dec 03 09:40:46 2010 -0800 +++ b/src/m/iris4d.h Fri Dec 03 21:55:23 2010 +0100 @@ -19,13 +19,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ -/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend - the bit field into an int. In other words, if bit fields - are always unsigned. - - This flag only matters if you use USE_LISP_UNION_TYPE. */ -#define EXPLICIT_SIGN_EXTEND - /* DATA_SEG_BITS forces extra bits to be or'd in with any pointers which were stored in a Lisp_Object (as Emacs uses fewer than 32 bits for the value field of a LISP_OBJECT). */
--- a/src/m/m68k.h Fri Dec 03 09:40:46 2010 -0800 +++ b/src/m/m68k.h Fri Dec 03 21:55:23 2010 +0100 @@ -24,13 +24,6 @@ #define m68k #endif -/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend - the 24-bit bit field into an int. In other words, if bit fields - are always unsigned. - - This flag only matters if you use USE_LISP_UNION_TYPE. */ -#define EXPLICIT_SIGN_EXTEND - #ifdef GNU_LINUX #ifdef __ELF__ #define DATA_SEG_BITS 0x80000000
--- a/src/m/mips.h Fri Dec 03 09:40:46 2010 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,29 +0,0 @@ -/* m- file for Mips machines. - -Copyright (C) 1987, 1992, 1999, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ - -/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend - the 24-bit bit field into an int. In other words, if bit fields - are always unsigned. - - This flag only matters if you use USE_LISP_UNION_TYPE. */ -#define EXPLICIT_SIGN_EXTEND - -/* arch-tag: 8fd020ee-78a7-4d87-96ce-6129f52f7bee - (do not change this comment) */
--- a/src/m/sparc.h Fri Dec 03 09:40:46 2010 -0800 +++ b/src/m/sparc.h Fri Dec 03 21:55:23 2010 +0100 @@ -20,10 +20,6 @@ /* __sparc__ is defined by the compiler by default. */ -/* XINT must explicitly sign-extend - This flag only matters if you use USE_LISP_UNION_TYPE. */ -#define EXPLICIT_SIGN_EXTEND - /* Data type of load average, as read out of kmem. */ #define LOAD_AVE_TYPE long
--- a/src/m/template.h Fri Dec 03 09:40:46 2010 -0800 +++ b/src/m/template.h Fri Dec 03 21:55:23 2010 +0100 @@ -22,13 +22,6 @@ does not define it automatically. Ones defined so far include m68k and many others */ -/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend - the 24-bit bit field into an int. In other words, if bit fields - are always unsigned. - - This flag only matters if you use USE_LISP_UNION_TYPE. */ -#define EXPLICIT_SIGN_EXTEND - /* Data type of load average, as read out of kmem. */ #define LOAD_AVE_TYPE long