1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-12-25 10:47:00 +00:00

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.
This commit is contained in:
Andreas Schwab 2010-12-03 21:55:23 +01:00
parent 5ed63ab8a9
commit e5bd16703f
15 changed files with 27 additions and 133 deletions

View File

@ -62,7 +62,6 @@ SIGTYPE
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

View File

@ -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.

View File

@ -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

View File

@ -267,7 +267,9 @@ union Lisp_Object
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 @@ union Lisp_Object
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 @@ enum pvec_type
#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

View File

@ -30,13 +30,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
/* __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

View File

@ -31,13 +31,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#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

View File

@ -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) */

View File

@ -31,13 +31,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#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

View File

@ -19,13 +19,6 @@ 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
/* Data type of load average, as read out of kmem. */
#define LOAD_AVE_TYPE long

View File

@ -27,13 +27,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#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

View File

@ -19,13 +19,6 @@ 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
/* 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). */

View File

@ -24,13 +24,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#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

View File

@ -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) */

View File

@ -20,10 +20,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
/* __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

View File

@ -22,13 +22,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
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