aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAndreas Schwab2010-12-03 21:55:23 +0100
committerAndreas Schwab2010-12-03 21:55:23 +0100
commite5bd16703f901d9c8e7bc29da98e761f768161fc (patch)
tree20b8cb23b9eab33c0889f0b7ad9a85bf218560f5 /src
parent5ed63ab8a969472b2c4441a58b83fe228d1fe98a (diff)
downloademacs-e5bd16703f901d9c8e7bc29da98e761f768161fc.tar.gz
emacs-e5bd16703f901d9c8e7bc29da98e761f768161fc.zip
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.
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog17
-rw-r--r--src/lisp.h20
-rw-r--r--src/m/alpha.h7
-rw-r--r--src/m/amdx86-64.h7
-rw-r--r--src/m/hp800.h29
-rw-r--r--src/m/ia64.h7
-rw-r--r--src/m/ibms390.h7
-rw-r--r--src/m/ibms390x.h7
-rw-r--r--src/m/iris4d.h7
-rw-r--r--src/m/m68k.h7
-rw-r--r--src/m/mips.h29
-rw-r--r--src/m/sparc.h4
-rw-r--r--src/m/template.h7
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 @@
12010-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
12010-12-03 Jan Djärv <jan.h.d@swipnet.se> 182010-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
3Copyright (C) 1987, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
4 2009, 2010 Free Software Foundation, Inc.
5
6This file is part of GNU Emacs.
7
8GNU Emacs is free software: you can redistribute it and/or modify
9it under the terms of the GNU General Public License as published by
10the Free Software Foundation, either version 3 of the License, or
11(at your option) any later version.
12
13GNU Emacs is distributed in the hope that it will be useful,
14but WITHOUT ANY WARRANTY; without even the implied warranty of
15MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16GNU General Public License for more details.
17
18You should have received a copy of the GNU General Public License
19along 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
19along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ 19along 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
19along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ 19along 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
3Copyright (C) 1987, 1992, 1999, 2001, 2002, 2003, 2004, 2005, 2006,
4 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
5
6This file is part of GNU Emacs.
7
8GNU Emacs is free software: you can redistribute it and/or modify
9it under the terms of the GNU General Public License as published by
10the Free Software Foundation, either version 3 of the License, or
11(at your option) any later version.
12
13GNU Emacs is distributed in the hope that it will be useful,
14but WITHOUT ANY WARRANTY; without even the implied warranty of
15MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16GNU General Public License for more details.
17
18You should have received a copy of the GNU General Public License
19along 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