emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] /srv/bzr/emacs/trunk r102577: Remove EXPLICIT_SIGN_EXTEND.


From: Andreas Schwab
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r102577: Remove EXPLICIT_SIGN_EXTEND.
Date: Fri, 03 Dec 2010 21:55:23 +0100
User-agent: Bazaar (2.0.3)

------------------------------------------------------------
revno: 102577
committer: Andreas Schwab <address@hidden>
branch nick: .HEAD^
timestamp: Fri 2010-12-03 21:55:23 +0100
message:
  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.
removed:
  src/m/hp800.h
  src/m/mips.h
modified:
  admin/CPP-DEFINES
  admin/ChangeLog
  src/ChangeLog
  src/lisp.h
  src/m/alpha.h
  src/m/amdx86-64.h
  src/m/ia64.h
  src/m/ibms390.h
  src/m/ibms390x.h
  src/m/iris4d.h
  src/m/m68k.h
  src/m/sparc.h
  src/m/template.h
=== modified file 'admin/CPP-DEFINES'
--- a/admin/CPP-DEFINES 2010-08-09 19:25:41 +0000
+++ b/admin/CPP-DEFINES 2010-12-03 20:55:23 +0000
@@ -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

=== modified file 'admin/ChangeLog'
--- a/admin/ChangeLog   2010-10-12 03:55:21 +0000
+++ b/admin/ChangeLog   2010-12-03 20:55:23 +0000
@@ -1,3 +1,7 @@
+2010-12-03  Andreas Schwab  <address@hidden>
+
+       * CPP-DEFINES (EXPLICIT_SIGN_EXTEND): Remove.
+
 2010-10-12  Glenn Morris  <address@hidden>
 
        * notes/nextstep: Move here from ../nextstep/DEV-NOTES.

=== modified file 'src/ChangeLog'
--- a/src/ChangeLog     2010-12-03 10:54:44 +0000
+++ b/src/ChangeLog     2010-12-03 20:55:23 +0000
@@ -1,3 +1,20 @@
+2010-12-03  Andreas Schwab  <address@hidden>
+
+       * 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  <address@hidden>
 
        * nsterm.m (ns_dumpglyphs_image): If drawing cursor, fill background

=== modified file 'src/lisp.h'
--- a/src/lisp.h        2010-11-23 18:56:28 +0000
+++ b/src/lisp.h        2010-12-03 20:55:23 +0000
@@ -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

=== modified file 'src/m/alpha.h'
--- a/src/m/alpha.h     2010-08-09 19:25:41 +0000
+++ b/src/m/alpha.h     2010-12-03 20:55:23 +0000
@@ -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
 

=== modified file 'src/m/amdx86-64.h'
--- a/src/m/amdx86-64.h 2010-11-09 20:07:10 +0000
+++ b/src/m/amdx86-64.h 2010-12-03 20:55:23 +0000
@@ -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
 

=== removed file 'src/m/hp800.h'
--- a/src/m/hp800.h     2010-08-09 19:25:41 +0000
+++ b/src/m/hp800.h     1970-01-01 00:00:00 +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) */

=== modified file 'src/m/ia64.h'
--- a/src/m/ia64.h      2010-08-09 19:25:41 +0000
+++ b/src/m/ia64.h      2010-12-03 20:55:23 +0000
@@ -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
 

=== modified file 'src/m/ibms390.h'
--- a/src/m/ibms390.h   2010-08-09 19:25:41 +0000
+++ b/src/m/ibms390.h   2010-12-03 20:55:23 +0000
@@ -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
 

=== modified file 'src/m/ibms390x.h'
--- a/src/m/ibms390x.h  2010-11-09 20:07:10 +0000
+++ b/src/m/ibms390x.h  2010-12-03 20:55:23 +0000
@@ -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
 

=== modified file 'src/m/iris4d.h'
--- a/src/m/iris4d.h    2010-08-09 19:25:41 +0000
+++ b/src/m/iris4d.h    2010-12-03 20:55:23 +0000
@@ -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).  */

=== modified file 'src/m/m68k.h'
--- a/src/m/m68k.h      2010-08-09 19:25:41 +0000
+++ b/src/m/m68k.h      2010-12-03 20:55:23 +0000
@@ -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

=== removed file 'src/m/mips.h'
--- a/src/m/mips.h      2010-08-09 19:25:41 +0000
+++ b/src/m/mips.h      1970-01-01 00:00:00 +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) */

=== modified file 'src/m/sparc.h'
--- a/src/m/sparc.h     2010-08-09 19:25:41 +0000
+++ b/src/m/sparc.h     2010-12-03 20:55:23 +0000
@@ -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
 

=== modified file 'src/m/template.h'
--- a/src/m/template.h  2010-08-09 19:25:41 +0000
+++ b/src/m/template.h  2010-12-03 20:55:23 +0000
@@ -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
 


reply via email to

[Prev in Thread] Current Thread [Next in Thread]