diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 17 | ||||
| -rw-r--r-- | src/lisp.h | 20 | ||||
| -rw-r--r-- | src/m/alpha.h | 7 | ||||
| -rw-r--r-- | src/m/amdx86-64.h | 7 | ||||
| -rw-r--r-- | src/m/hp800.h | 29 | ||||
| -rw-r--r-- | src/m/ia64.h | 7 | ||||
| -rw-r--r-- | src/m/ibms390.h | 7 | ||||
| -rw-r--r-- | src/m/ibms390x.h | 7 | ||||
| -rw-r--r-- | src/m/iris4d.h | 7 | ||||
| -rw-r--r-- | src/m/m68k.h | 7 | ||||
| -rw-r--r-- | src/m/mips.h | 29 | ||||
| -rw-r--r-- | src/m/sparc.h | 4 | ||||
| -rw-r--r-- | src/m/template.h | 7 |
13 files changed, 23 insertions, 132 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 6213a2d4687..732c902b41e 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,20 @@ | |||
| 1 | 2010-12-03 Andreas Schwab <schwab@linux-m68k.org> | ||
| 2 | |||
| 3 | * lisp.h (union Lisp_Object): Explicitly declare signedness of | ||
| 4 | bit-field. | ||
| 5 | (XINT): Remove variant for EXPLICIT_SIGN_EXTEND. | ||
| 6 | * m/alpha.h (EXPLICIT_SIGN_EXTEND): Don't define. | ||
| 7 | * m/amdx86-64.h (EXPLICIT_SIGN_EXTEND): Likewise. | ||
| 8 | * m/ia64.h (EXPLICIT_SIGN_EXTEND): Likewise. | ||
| 9 | * m/ibms390.h (EXPLICIT_SIGN_EXTEND): Likewise. | ||
| 10 | * m/ibms390x.h (EXPLICIT_SIGN_EXTEND): Likewise. | ||
| 11 | * m/iris4d.h (EXPLICIT_SIGN_EXTEND): Likewise. | ||
| 12 | * m/m68k.h (EXPLICIT_SIGN_EXTEND): Likewise. | ||
| 13 | * m/sparc.h (EXPLICIT_SIGN_EXTEND): Likewise. | ||
| 14 | * m/template.h (EXPLICIT_SIGN_EXTEND): Likewise. | ||
| 15 | * m/hp800.h: Remove file. | ||
| 16 | * m/mips.h: Remove file. | ||
| 17 | |||
| 1 | 2010-12-03 Jan Djärv <jan.h.d@swipnet.se> | 18 | 2010-12-03 Jan Djärv <jan.h.d@swipnet.se> |
| 2 | 19 | ||
| 3 | * nsterm.m (ns_dumpglyphs_image): If drawing cursor, fill background | 20 | * nsterm.m (ns_dumpglyphs_image): If drawing cursor, fill background |
diff --git a/src/lisp.h b/src/lisp.h index b6ae2dcd073..7c3c1f3780e 100644 --- a/src/lisp.h +++ b/src/lisp.h | |||
| @@ -267,7 +267,9 @@ union Lisp_Object | |||
| 267 | 267 | ||
| 268 | struct | 268 | struct |
| 269 | { | 269 | { |
| 270 | EMACS_INT val : VALBITS; | 270 | /* Use explict signed, the signedness of a bit-field of type |
| 271 | int is implementation defined. */ | ||
| 272 | signed EMACS_INT val : VALBITS; | ||
| 271 | enum Lisp_Type type : GCTYPEBITS; | 273 | enum Lisp_Type type : GCTYPEBITS; |
| 272 | } s; | 274 | } s; |
| 273 | struct | 275 | struct |
| @@ -290,7 +292,9 @@ union Lisp_Object | |||
| 290 | struct | 292 | struct |
| 291 | { | 293 | { |
| 292 | enum Lisp_Type type : GCTYPEBITS; | 294 | enum Lisp_Type type : GCTYPEBITS; |
| 293 | EMACS_INT val : VALBITS; | 295 | /* Use explict signed, the signedness of a bit-field of type |
| 296 | int is implementation defined. */ | ||
| 297 | signed EMACS_INT val : VALBITS; | ||
| 294 | } s; | 298 | } s; |
| 295 | struct | 299 | struct |
| 296 | { | 300 | { |
| @@ -447,20 +451,8 @@ enum pvec_type | |||
| 447 | #endif | 451 | #endif |
| 448 | 452 | ||
| 449 | #define XHASH(a) ((a).i) | 453 | #define XHASH(a) ((a).i) |
| 450 | |||
| 451 | #define XTYPE(a) ((enum Lisp_Type) (a).u.type) | 454 | #define XTYPE(a) ((enum Lisp_Type) (a).u.type) |
| 452 | |||
| 453 | #ifdef EXPLICIT_SIGN_EXTEND | ||
| 454 | /* Make sure we sign-extend; compilers have been known to fail to do so. | ||
| 455 | We additionally cast to EMACS_INT since it seems that some compilers | ||
| 456 | have been known to fail to do so, even though the bitfield is declared | ||
| 457 | as EMACS_INT already. */ | ||
| 458 | #define XINT(a) ((((EMACS_INT) (a).s.val) << (BITS_PER_EMACS_INT - VALBITS)) \ | ||
| 459 | >> (BITS_PER_EMACS_INT - VALBITS)) | ||
| 460 | #else | ||
| 461 | #define XINT(a) ((a).s.val) | 455 | #define XINT(a) ((a).s.val) |
| 462 | #endif /* EXPLICIT_SIGN_EXTEND */ | ||
| 463 | |||
| 464 | #define XUINT(a) ((a).u.val) | 456 | #define XUINT(a) ((a).u.val) |
| 465 | 457 | ||
| 466 | #ifdef USE_LSB_TAG | 458 | #ifdef USE_LSB_TAG |
diff --git a/src/m/alpha.h b/src/m/alpha.h index 3b6d7da92df..0e7d182fee7 100644 --- a/src/m/alpha.h +++ b/src/m/alpha.h | |||
| @@ -30,13 +30,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 30 | /* __alpha defined automatically */ | 30 | /* __alpha defined automatically */ |
| 31 | 31 | ||
| 32 | 32 | ||
| 33 | /* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend | ||
| 34 | the 24-bit bit field into an int. In other words, if bit fields | ||
| 35 | are always unsigned. | ||
| 36 | |||
| 37 | This flag only matters if you use USE_LISP_UNION_TYPE. */ | ||
| 38 | #define EXPLICIT_SIGN_EXTEND | ||
| 39 | |||
| 40 | /* Data type of load average, as read out of kmem. */ | 33 | /* Data type of load average, as read out of kmem. */ |
| 41 | #define LOAD_AVE_TYPE long | 34 | #define LOAD_AVE_TYPE long |
| 42 | 35 | ||
diff --git a/src/m/amdx86-64.h b/src/m/amdx86-64.h index 30aa2678717..867d65f6606 100644 --- a/src/m/amdx86-64.h +++ b/src/m/amdx86-64.h | |||
| @@ -31,13 +31,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 31 | #define EMACS_INT long | 31 | #define EMACS_INT long |
| 32 | #define EMACS_UINT unsigned long | 32 | #define EMACS_UINT unsigned long |
| 33 | 33 | ||
| 34 | /* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend | ||
| 35 | the 24-bit bit field into an int. In other words, if bit fields | ||
| 36 | are always unsigned. | ||
| 37 | |||
| 38 | This flag only matters if you use USE_LISP_UNION_TYPE. */ | ||
| 39 | #define EXPLICIT_SIGN_EXTEND | ||
| 40 | |||
| 41 | /* Data type of load average, as read out of kmem. */ | 34 | /* Data type of load average, as read out of kmem. */ |
| 42 | #define LOAD_AVE_TYPE long | 35 | #define LOAD_AVE_TYPE long |
| 43 | 36 | ||
diff --git a/src/m/hp800.h b/src/m/hp800.h deleted file mode 100644 index 9998f701a6b..00000000000 --- a/src/m/hp800.h +++ /dev/null | |||
| @@ -1,29 +0,0 @@ | |||
| 1 | /* machine description file for hp9000 series 800 machines. | ||
| 2 | |||
| 3 | Copyright (C) 1987, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, | ||
| 4 | 2009, 2010 Free Software Foundation, Inc. | ||
| 5 | |||
| 6 | This file is part of GNU Emacs. | ||
| 7 | |||
| 8 | GNU Emacs is free software: you can redistribute it and/or modify | ||
| 9 | it under the terms of the GNU General Public License as published by | ||
| 10 | the Free Software Foundation, either version 3 of the License, or | ||
| 11 | (at your option) any later version. | ||
| 12 | |||
| 13 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 16 | GNU General Public License for more details. | ||
| 17 | |||
| 18 | You should have received a copy of the GNU General Public License | ||
| 19 | along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | ||
| 20 | |||
| 21 | /* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend | ||
| 22 | the bit field into an int. In other words, if bit fields | ||
| 23 | are always unsigned. | ||
| 24 | |||
| 25 | This flag only matters if you use USE_LISP_UNION_TYPE. */ | ||
| 26 | #define EXPLICIT_SIGN_EXTEND | ||
| 27 | |||
| 28 | /* arch-tag: 809436e6-1645-4b92-b40d-2de5d6e7227c | ||
| 29 | (do not change this comment) */ | ||
diff --git a/src/m/ia64.h b/src/m/ia64.h index bbf09ac878b..e9cf07b6789 100644 --- a/src/m/ia64.h +++ b/src/m/ia64.h | |||
| @@ -31,13 +31,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 31 | #define EMACS_INT long | 31 | #define EMACS_INT long |
| 32 | #define EMACS_UINT unsigned long | 32 | #define EMACS_UINT unsigned long |
| 33 | 33 | ||
| 34 | /* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend | ||
| 35 | the 24-bit bit field into an int. In other words, if bit fields | ||
| 36 | are always unsigned. | ||
| 37 | |||
| 38 | This flag only matters if you use USE_LISP_UNION_TYPE. */ | ||
| 39 | #define EXPLICIT_SIGN_EXTEND | ||
| 40 | |||
| 41 | /* Data type of load average, as read out of kmem. */ | 34 | /* Data type of load average, as read out of kmem. */ |
| 42 | #define LOAD_AVE_TYPE long | 35 | #define LOAD_AVE_TYPE long |
| 43 | 36 | ||
diff --git a/src/m/ibms390.h b/src/m/ibms390.h index 0acc826a1ea..1a19f7233a0 100644 --- a/src/m/ibms390.h +++ b/src/m/ibms390.h | |||
| @@ -19,13 +19,6 @@ You should have received a copy of the GNU General Public License | |||
| 19 | along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | 19 | along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ |
| 20 | 20 | ||
| 21 | 21 | ||
| 22 | /* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend | ||
| 23 | the 24-bit bit field into an int. In other words, if bit fields | ||
| 24 | are always unsigned. | ||
| 25 | |||
| 26 | This flag only matters if you use USE_LISP_UNION_TYPE. */ | ||
| 27 | #define EXPLICIT_SIGN_EXTEND | ||
| 28 | |||
| 29 | /* Data type of load average, as read out of kmem. */ | 22 | /* Data type of load average, as read out of kmem. */ |
| 30 | #define LOAD_AVE_TYPE long | 23 | #define LOAD_AVE_TYPE long |
| 31 | 24 | ||
diff --git a/src/m/ibms390x.h b/src/m/ibms390x.h index 6cbfbbcdbd4..2ef14a22945 100644 --- a/src/m/ibms390x.h +++ b/src/m/ibms390x.h | |||
| @@ -27,13 +27,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 27 | #define EMACS_INT long | 27 | #define EMACS_INT long |
| 28 | #define EMACS_UINT unsigned long | 28 | #define EMACS_UINT unsigned long |
| 29 | 29 | ||
| 30 | /* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend | ||
| 31 | the 24-bit bit field into an int. In other words, if bit fields | ||
| 32 | are always unsigned. | ||
| 33 | |||
| 34 | This flag only matters if you use USE_LISP_UNION_TYPE. */ | ||
| 35 | #undef EXPLICIT_SIGN_EXTEND | ||
| 36 | |||
| 37 | /* On the 64 bit architecture, we can use 60 bits for addresses */ | 30 | /* On the 64 bit architecture, we can use 60 bits for addresses */ |
| 38 | #define VALBITS 60 | 31 | #define VALBITS 60 |
| 39 | 32 | ||
diff --git a/src/m/iris4d.h b/src/m/iris4d.h index 31f08d05cfc..9e80324ee92 100644 --- a/src/m/iris4d.h +++ b/src/m/iris4d.h | |||
| @@ -19,13 +19,6 @@ You should have received a copy of the GNU General Public License | |||
| 19 | along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | 19 | along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ |
| 20 | 20 | ||
| 21 | 21 | ||
| 22 | /* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend | ||
| 23 | the bit field into an int. In other words, if bit fields | ||
| 24 | are always unsigned. | ||
| 25 | |||
| 26 | This flag only matters if you use USE_LISP_UNION_TYPE. */ | ||
| 27 | #define EXPLICIT_SIGN_EXTEND | ||
| 28 | |||
| 29 | /* DATA_SEG_BITS forces extra bits to be or'd in with any pointers which | 22 | /* DATA_SEG_BITS forces extra bits to be or'd in with any pointers which |
| 30 | were stored in a Lisp_Object (as Emacs uses fewer than 32 bits for | 23 | were stored in a Lisp_Object (as Emacs uses fewer than 32 bits for |
| 31 | the value field of a LISP_OBJECT). */ | 24 | the value field of a LISP_OBJECT). */ |
diff --git a/src/m/m68k.h b/src/m/m68k.h index 8d53424ccec..df930d511f7 100644 --- a/src/m/m68k.h +++ b/src/m/m68k.h | |||
| @@ -24,13 +24,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 24 | #define m68k | 24 | #define m68k |
| 25 | #endif | 25 | #endif |
| 26 | 26 | ||
| 27 | /* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend | ||
| 28 | the 24-bit bit field into an int. In other words, if bit fields | ||
| 29 | are always unsigned. | ||
| 30 | |||
| 31 | This flag only matters if you use USE_LISP_UNION_TYPE. */ | ||
| 32 | #define EXPLICIT_SIGN_EXTEND | ||
| 33 | |||
| 34 | #ifdef GNU_LINUX | 27 | #ifdef GNU_LINUX |
| 35 | #ifdef __ELF__ | 28 | #ifdef __ELF__ |
| 36 | #define DATA_SEG_BITS 0x80000000 | 29 | #define DATA_SEG_BITS 0x80000000 |
diff --git a/src/m/mips.h b/src/m/mips.h deleted file mode 100644 index b3a754c2b61..00000000000 --- a/src/m/mips.h +++ /dev/null | |||
| @@ -1,29 +0,0 @@ | |||
| 1 | /* m- file for Mips machines. | ||
| 2 | |||
| 3 | Copyright (C) 1987, 1992, 1999, 2001, 2002, 2003, 2004, 2005, 2006, | ||
| 4 | 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | ||
| 5 | |||
| 6 | This file is part of GNU Emacs. | ||
| 7 | |||
| 8 | GNU Emacs is free software: you can redistribute it and/or modify | ||
| 9 | it under the terms of the GNU General Public License as published by | ||
| 10 | the Free Software Foundation, either version 3 of the License, or | ||
| 11 | (at your option) any later version. | ||
| 12 | |||
| 13 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 16 | GNU General Public License for more details. | ||
| 17 | |||
| 18 | You should have received a copy of the GNU General Public License | ||
| 19 | along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | ||
| 20 | |||
| 21 | /* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend | ||
| 22 | the 24-bit bit field into an int. In other words, if bit fields | ||
| 23 | are always unsigned. | ||
| 24 | |||
| 25 | This flag only matters if you use USE_LISP_UNION_TYPE. */ | ||
| 26 | #define EXPLICIT_SIGN_EXTEND | ||
| 27 | |||
| 28 | /* arch-tag: 8fd020ee-78a7-4d87-96ce-6129f52f7bee | ||
| 29 | (do not change this comment) */ | ||
diff --git a/src/m/sparc.h b/src/m/sparc.h index 26ca3caaebe..fc5ea95c0eb 100644 --- a/src/m/sparc.h +++ b/src/m/sparc.h | |||
| @@ -20,10 +20,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 20 | 20 | ||
| 21 | /* __sparc__ is defined by the compiler by default. */ | 21 | /* __sparc__ is defined by the compiler by default. */ |
| 22 | 22 | ||
| 23 | /* XINT must explicitly sign-extend | ||
| 24 | This flag only matters if you use USE_LISP_UNION_TYPE. */ | ||
| 25 | #define EXPLICIT_SIGN_EXTEND | ||
| 26 | |||
| 27 | /* Data type of load average, as read out of kmem. */ | 23 | /* Data type of load average, as read out of kmem. */ |
| 28 | #define LOAD_AVE_TYPE long | 24 | #define LOAD_AVE_TYPE long |
| 29 | 25 | ||
diff --git a/src/m/template.h b/src/m/template.h index 4efc9158a45..0d8e78622a6 100644 --- a/src/m/template.h +++ b/src/m/template.h | |||
| @@ -22,13 +22,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 22 | does not define it automatically. | 22 | does not define it automatically. |
| 23 | Ones defined so far include m68k and many others */ | 23 | Ones defined so far include m68k and many others */ |
| 24 | 24 | ||
| 25 | /* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend | ||
| 26 | the 24-bit bit field into an int. In other words, if bit fields | ||
| 27 | are always unsigned. | ||
| 28 | |||
| 29 | This flag only matters if you use USE_LISP_UNION_TYPE. */ | ||
| 30 | #define EXPLICIT_SIGN_EXTEND | ||
| 31 | |||
| 32 | /* Data type of load average, as read out of kmem. */ | 25 | /* Data type of load average, as read out of kmem. */ |
| 33 | #define LOAD_AVE_TYPE long | 26 | #define LOAD_AVE_TYPE long |
| 34 | 27 | ||