aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorDan Nicolaescu2008-07-11 02:30:26 +0000
committerDan Nicolaescu2008-07-11 02:30:26 +0000
commit6e5cb96f3d905d69ef7cf2c09df3e51b2db06d9b (patch)
tree3c7960f6dd3096573828f31642b72e903fa8c976 /src
parentf4f745d94326e5082acb071953b7c2d713421a2f (diff)
downloademacs-6e5cb96f3d905d69ef7cf2c09df3e51b2db06d9b.tar.gz
emacs-6e5cb96f3d905d69ef7cf2c09df3e51b2db06d9b.zip
* lisp.h:
* w32heap.c: * emacs.c: * alloc.c: Replace all references of NO_UNION_TYPE with USE_LISP_UNION_TYPE. * m/xtensa.h (NO_UNION_TYPE): * m/vax.h (NO_UNION_TYPE): * m/template.h (NO_UNION_TYPE): * m/sparc.h (NO_UNION_TYPE): * m/mips.h (NO_UNION_TYPE): * m/macppc.h (NO_UNION_TYPE): * m/m68k.h (NO_UNION_TYPE): * m/iris4d.h (NO_UNION_TYPE): * m/intel386.h (NO_UNION_TYPE): * m/ibms390x.h (NO_UNION_TYPE): * m/ibms390.h (NO_UNION_TYPE): * m/ibmrs6000.h (NO_UNION_TYPE): * m/ia64.h (NO_UNION_TYPE): * m/hp800.h (NO_UNION_TYPE): * m/arm.h (NO_UNION_TYPE): * m/amdx86-64.h (NO_UNION_TYPE): * m/alpha.h (NO_UNION_TYPE): Remove definition, all platform were defining it the same.
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog27
-rw-r--r--src/alloc.c2
-rw-r--r--src/emacs.c2
-rw-r--r--src/lisp.h18
-rw-r--r--src/m/alpha.h6
-rw-r--r--src/m/amdx86-64.h7
-rw-r--r--src/m/arm.h2
-rw-r--r--src/m/hp800.h7
-rw-r--r--src/m/ia64.h7
-rw-r--r--src/m/ibmrs6000.h5
-rw-r--r--src/m/ibms390.h7
-rw-r--r--src/m/ibms390x.h12
-rw-r--r--src/m/intel386.h4
-rw-r--r--src/m/iris4d.h7
-rw-r--r--src/m/m68k.h7
-rw-r--r--src/m/macppc.h5
-rw-r--r--src/m/mips.h7
-rw-r--r--src/m/sparc.h7
-rw-r--r--src/m/template.h7
-rw-r--r--src/m/vax.h4
-rw-r--r--src/m/xtensa.h1
-rw-r--r--src/w32heap.c2
22 files changed, 51 insertions, 102 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 282bb8f272f..283f8d9ef5d 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,30 @@
12008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
2
3 * lisp.h:
4 * w32heap.c:
5 * emacs.c:
6 * alloc.c: Replace all references of NO_UNION_TYPE with
7 USE_LISP_UNION_TYPE.
8
9 * m/xtensa.h (NO_UNION_TYPE):
10 * m/vax.h (NO_UNION_TYPE):
11 * m/template.h (NO_UNION_TYPE):
12 * m/sparc.h (NO_UNION_TYPE):
13 * m/mips.h (NO_UNION_TYPE):
14 * m/macppc.h (NO_UNION_TYPE):
15 * m/m68k.h (NO_UNION_TYPE):
16 * m/iris4d.h (NO_UNION_TYPE):
17 * m/intel386.h (NO_UNION_TYPE):
18 * m/ibms390x.h (NO_UNION_TYPE):
19 * m/ibms390.h (NO_UNION_TYPE):
20 * m/ibmrs6000.h (NO_UNION_TYPE):
21 * m/ia64.h (NO_UNION_TYPE):
22 * m/hp800.h (NO_UNION_TYPE):
23 * m/arm.h (NO_UNION_TYPE):
24 * m/amdx86-64.h (NO_UNION_TYPE):
25 * m/alpha.h (NO_UNION_TYPE): Remove definition, all platform were
26 defining it the same.
27
12008-07-10 Chong Yidong <cyd@stupidchicken.com> 282008-07-10 Chong Yidong <cyd@stupidchicken.com>
2 29
3 * xdisp.c (move_it_to): Backtrack if past the edge of a wrapped 30 * xdisp.c (move_it_to): Backtrack if past the edge of a wrapped
diff --git a/src/alloc.c b/src/alloc.c
index b942e7a6e01..ac28a321649 100644
--- a/src/alloc.c
+++ b/src/alloc.c
@@ -1541,7 +1541,7 @@ mark_interval_tree (tree)
1541 } while (0) 1541 } while (0)
1542 1542
1543 1543
1544/* Number support. If NO_UNION_TYPE isn't in effect, we 1544/* Number support. If USE_LISP_UNION_TYPE is in effect, we
1545 can't create number objects in macros. */ 1545 can't create number objects in macros. */
1546#ifndef make_number 1546#ifndef make_number
1547Lisp_Object 1547Lisp_Object
diff --git a/src/emacs.c b/src/emacs.c
index b27e787e7e0..8dfdf9062a1 100644
--- a/src/emacs.c
+++ b/src/emacs.c
@@ -98,7 +98,7 @@ int gdb_use_lsb = 1;
98#else 98#else
99int gdb_use_lsb = 0; 99int gdb_use_lsb = 0;
100#endif 100#endif
101#ifdef NO_UNION_TYPE 101#ifndef USE_LISP_UNION_TYPE
102int gdb_use_union = 0; 102int gdb_use_union = 0;
103#else 103#else
104int gdb_use_union = 1; 104int gdb_use_union = 1;
diff --git a/src/lisp.h b/src/lisp.h
index c4216b74dcd..25a5729237d 100644
--- a/src/lisp.h
+++ b/src/lisp.h
@@ -129,8 +129,8 @@ extern void die P_((const char *, const char *, int)) NO_RETURN;
129 129
130/***** Select the tagging scheme. *****/ 130/***** Select the tagging scheme. *****/
131/* There are basically two options that control the tagging scheme: 131/* There are basically two options that control the tagging scheme:
132 - NO_UNION_TYPE says that Lisp_Object should be an integer instead 132 - USE_LISP_UNION_TYPE says that Lisp_Object should be a union instead
133 of a union. 133 of an integer.
134 - USE_LSB_TAG means that we can assume the least 3 bits of pointers are 134 - USE_LSB_TAG means that we can assume the least 3 bits of pointers are
135 always 0, and we can thus use them to hold tag bits, without 135 always 0, and we can thus use them to hold tag bits, without
136 restricting our addressing space. 136 restricting our addressing space.
@@ -163,7 +163,7 @@ extern void die P_((const char *, const char *, int)) NO_RETURN;
163/* We also need to be able to specify mult-of-8 alignment on static vars. */ 163/* We also need to be able to specify mult-of-8 alignment on static vars. */
164# if defined DECL_ALIGN 164# if defined DECL_ALIGN
165/* We currently do not support USE_LSB_TAG with a union Lisp_Object. */ 165/* We currently do not support USE_LSB_TAG with a union Lisp_Object. */
166# if defined NO_UNION_TYPE 166# if defined USE_LISP_UNION_TYPE
167# define USE_LSB_TAG 167# define USE_LSB_TAG
168# endif 168# endif
169# endif 169# endif
@@ -246,7 +246,7 @@ enum Lisp_Misc_Type
246#define VALBITS (BITS_PER_EMACS_INT - GCTYPEBITS) 246#define VALBITS (BITS_PER_EMACS_INT - GCTYPEBITS)
247#endif 247#endif
248 248
249#ifndef NO_UNION_TYPE 249#ifdef USE_LISP_UNION_TYPE
250 250
251#ifndef WORDS_BIG_ENDIAN 251#ifndef WORDS_BIG_ENDIAN
252 252
@@ -310,13 +310,13 @@ LISP_MAKE_RVALUE (Lisp_Object o)
310#define LISP_MAKE_RVALUE(o) (o) 310#define LISP_MAKE_RVALUE(o) (o)
311#endif 311#endif
312 312
313#else /* NO_UNION_TYPE */ 313#else /* USE_LISP_UNION_TYPE */
314 314
315/* If union type is not wanted, define Lisp_Object as just a number. */ 315/* If union type is not wanted, define Lisp_Object as just a number. */
316 316
317typedef EMACS_INT Lisp_Object; 317typedef EMACS_INT Lisp_Object;
318#define LISP_MAKE_RVALUE(o) (0+(o)) 318#define LISP_MAKE_RVALUE(o) (0+(o))
319#endif /* NO_UNION_TYPE */ 319#endif /* USE_LISP_UNION_TYPE */
320 320
321/* In the size word of a vector, this bit means the vector has been marked. */ 321/* In the size word of a vector, this bit means the vector has been marked. */
322 322
@@ -374,7 +374,7 @@ enum pvec_type
374 For example, if tem is a Lisp_Object whose type is Lisp_Cons, 374 For example, if tem is a Lisp_Object whose type is Lisp_Cons,
375 XCONS (tem) is the struct Lisp_Cons * pointing to the memory for that cons. */ 375 XCONS (tem) is the struct Lisp_Cons * pointing to the memory for that cons. */
376 376
377#ifdef NO_UNION_TYPE 377#ifndef USE_LISP_UNION_TYPE
378 378
379/* Return a perfect hash of the Lisp_Object representation. */ 379/* Return a perfect hash of the Lisp_Object representation. */
380#define XHASH(a) (a) 380#define XHASH(a) (a)
@@ -440,7 +440,7 @@ enum pvec_type
440 440
441#endif /* not USE_LSB_TAG */ 441#endif /* not USE_LSB_TAG */
442 442
443#else /* not NO_UNION_TYPE */ 443#else /* USE_LISP_UNION_TYPE */
444 444
445#define XHASH(a) ((a).i) 445#define XHASH(a) ((a).i)
446 446
@@ -472,7 +472,7 @@ enum pvec_type
472extern Lisp_Object make_number P_ ((EMACS_INT)); 472extern Lisp_Object make_number P_ ((EMACS_INT));
473#endif 473#endif
474 474
475#endif /* NO_UNION_TYPE */ 475#endif /* USE_LISP_UNION_TYPE */
476 476
477#define EQ(x, y) (XHASH (x) == XHASH (y)) 477#define EQ(x, y) (XHASH (x) == XHASH (y))
478 478
diff --git a/src/m/alpha.h b/src/m/alpha.h
index 84641bf3065..f1bd6e4b603 100644
--- a/src/m/alpha.h
+++ b/src/m/alpha.h
@@ -51,15 +51,11 @@ NOTE-END
51/* __alpha defined automatically */ 51/* __alpha defined automatically */
52 52
53 53
54/* Use type EMACS_INT rather than a union, to represent Lisp_Object */
55/* This is desirable for most machines. */
56#define NO_UNION_TYPE
57
58/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend 54/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend
59 the 24-bit bit field into an int. In other words, if bit fields 55 the 24-bit bit field into an int. In other words, if bit fields
60 are always unsigned. 56 are always unsigned.
61 57
62 If you use NO_UNION_TYPE, this flag does not matter. */ 58 This flag only matters if you use USE_LISP_UNION_TYPE. */
63 59
64#define EXPLICIT_SIGN_EXTEND 60#define EXPLICIT_SIGN_EXTEND
65 61
diff --git a/src/m/amdx86-64.h b/src/m/amdx86-64.h
index 20e09adc597..34800af8e9d 100644
--- a/src/m/amdx86-64.h
+++ b/src/m/amdx86-64.h
@@ -49,11 +49,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
49 orion, tahoe, APOLLO and many others */ 49 orion, tahoe, APOLLO and many others */
50/* __x86_64 defined automatically. */ 50/* __x86_64 defined automatically. */
51 51
52/* Use type int rather than a union, to represent Lisp_Object */
53/* This is desirable for most machines. */
54
55#define NO_UNION_TYPE
56
57/* Define the type to use. */ 52/* Define the type to use. */
58#define EMACS_INT long 53#define EMACS_INT long
59#define EMACS_UINT unsigned long 54#define EMACS_UINT unsigned long
@@ -63,7 +58,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
63 the 24-bit bit field into an int. In other words, if bit fields 58 the 24-bit bit field into an int. In other words, if bit fields
64 are always unsigned. 59 are always unsigned.
65 60
66 If you use NO_UNION_TYPE, this flag does not matter. */ 61 This flag only matters if you use USE_LISP_UNION_TYPE. */
67 62
68#define EXPLICIT_SIGN_EXTEND 63#define EXPLICIT_SIGN_EXTEND
69 64
diff --git a/src/m/arm.h b/src/m/arm.h
index d87d461d8f3..3b798795744 100644
--- a/src/m/arm.h
+++ b/src/m/arm.h
@@ -39,8 +39,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
39 39
40#define SIGN_EXTEND_CHAR(c) (((int)(c) << 24) >> 24) 40#define SIGN_EXTEND_CHAR(c) (((int)(c) << 24) >> 24)
41 41
42#define NO_UNION_TYPE
43
44#define NO_REMAP 42#define NO_REMAP
45 43
46/* arch-tag: 07856f0c-f0c8-4bd8-99af-0b7fa1e5ee42 44/* arch-tag: 07856f0c-f0c8-4bd8-99af-0b7fa1e5ee42
diff --git a/src/m/hp800.h b/src/m/hp800.h
index 14769077034..717265d5681 100644
--- a/src/m/hp800.h
+++ b/src/m/hp800.h
@@ -32,16 +32,11 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
32 32
33#define NO_ARG_ARRAY 33#define NO_ARG_ARRAY
34 34
35/* Use type int rather than a union, to represent Lisp_Object */
36/* This is desirable for most machines. */
37
38#define NO_UNION_TYPE
39
40/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend 35/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend
41 the bit field into an int. In other words, if bit fields 36 the bit field into an int. In other words, if bit fields
42 are always unsigned. 37 are always unsigned.
43 38
44 If you use NO_UNION_TYPE, this flag does not matter. */ 39 This flag only matters if you use USE_LISP_UNION_TYPE. */
45 40
46#define EXPLICIT_SIGN_EXTEND 41#define EXPLICIT_SIGN_EXTEND
47 42
diff --git a/src/m/ia64.h b/src/m/ia64.h
index 2b11fa78540..960228afe40 100644
--- a/src/m/ia64.h
+++ b/src/m/ia64.h
@@ -39,11 +39,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
39/* __ia64__ defined automatically */ 39/* __ia64__ defined automatically */
40 40
41 41
42/* Use type EMACS_INT rather than a union, to represent Lisp_Object */
43/* This is desirable for most machines. */
44
45#define NO_UNION_TYPE
46
47/* Define the type to use. */ 42/* Define the type to use. */
48#define EMACS_INT long 43#define EMACS_INT long
49#define EMACS_UINT unsigned long 44#define EMACS_UINT unsigned long
@@ -53,7 +48,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
53 the 24-bit bit field into an int. In other words, if bit fields 48 the 24-bit bit field into an int. In other words, if bit fields
54 are always unsigned. 49 are always unsigned.
55 50
56 If you use NO_UNION_TYPE, this flag does not matter. */ 51 This flag only matters if you use USE_LISP_UNION_TYPE. */
57 52
58#define EXPLICIT_SIGN_EXTEND 53#define EXPLICIT_SIGN_EXTEND
59 54
diff --git a/src/m/ibmrs6000.h b/src/m/ibmrs6000.h
index 40c74688f9f..35f464caa21 100644
--- a/src/m/ibmrs6000.h
+++ b/src/m/ibmrs6000.h
@@ -41,11 +41,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
41 41
42#define IBMR2AIX 42#define IBMR2AIX
43 43
44/* Use type int rather than a union, to represent Lisp_Object */
45/* This is desirable for most machines. */
46
47#define NO_UNION_TYPE
48
49/* Define CANNOT_DUMP on machines where unexec does not work. 44/* Define CANNOT_DUMP on machines where unexec does not work.
50 Then the function dump-emacs will not be defined 45 Then the function dump-emacs will not be defined
51 and temacs will do (load "loadup") automatically unless told otherwise. */ 46 and temacs will do (load "loadup") automatically unless told otherwise. */
diff --git a/src/m/ibms390.h b/src/m/ibms390.h
index 15081b0cfae..f605ed35e7a 100644
--- a/src/m/ibms390.h
+++ b/src/m/ibms390.h
@@ -32,16 +32,11 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
32 32
33#define NO_ARG_ARRAY 33#define NO_ARG_ARRAY
34 34
35/* Use type int rather than a union, to represent Lisp_Object */
36/* This is desirable for most machines. */
37
38#define NO_UNION_TYPE
39
40/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend 35/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend
41 the 24-bit bit field into an int. In other words, if bit fields 36 the 24-bit bit field into an int. In other words, if bit fields
42 are always unsigned. 37 are always unsigned.
43 38
44 If you use NO_UNION_TYPE, this flag does not matter. */ 39 This flag only matters if you use USE_LISP_UNION_TYPE. */
45 40
46#define EXPLICIT_SIGN_EXTEND 41#define EXPLICIT_SIGN_EXTEND
47 42
diff --git a/src/m/ibms390x.h b/src/m/ibms390x.h
index a3afd23f599..31efa03f480 100644
--- a/src/m/ibms390x.h
+++ b/src/m/ibms390x.h
@@ -45,16 +45,6 @@ NOTE-END */
45 45
46#define NO_ARG_ARRAY 46#define NO_ARG_ARRAY
47 47
48/* Now define a symbol for the cpu type, if your compiler
49 does not define it automatically:
50 Ones defined so far include vax, m68000, ns16000, pyramid,
51 orion, tahoe, APOLLO and many others */
52
53/* Use type int rather than a union, to represent Lisp_Object */
54/* This is desirable for most machines. */
55
56#define NO_UNION_TYPE
57
58/* Define the type to use. */ 48/* Define the type to use. */
59#define EMACS_INT long 49#define EMACS_INT long
60#define EMACS_UINT unsigned long 50#define EMACS_UINT unsigned long
@@ -64,7 +54,7 @@ NOTE-END */
64 the 24-bit bit field into an int. In other words, if bit fields 54 the 24-bit bit field into an int. In other words, if bit fields
65 are always unsigned. 55 are always unsigned.
66 56
67 If you use NO_UNION_TYPE, this flag does not matter. */ 57 This flag only matters if you use USE_LISP_UNION_TYPE. */
68 58
69#undef EXPLICIT_SIGN_EXTEND 59#undef EXPLICIT_SIGN_EXTEND
70 60
diff --git a/src/m/intel386.h b/src/m/intel386.h
index 540760cd575..9353283c0b2 100644
--- a/src/m/intel386.h
+++ b/src/m/intel386.h
@@ -57,10 +57,6 @@ NOTE-END */
57 57
58/* #define NO_ARG_ARRAY */ 58/* #define NO_ARG_ARRAY */
59 59
60/* Use type int rather than a union, to represent Lisp_Object */
61
62#define NO_UNION_TYPE
63
64/* crt0.c, if it is used, should use the i386-bsd style of entry. 60/* crt0.c, if it is used, should use the i386-bsd style of entry.
65 with no extra dummy args. On USG and XENIX, 61 with no extra dummy args. On USG and XENIX,
66 NO_REMAP says this isn't used. */ 62 NO_REMAP says this isn't used. */
diff --git a/src/m/iris4d.h b/src/m/iris4d.h
index f6fd3f245df..e1d14e69106 100644
--- a/src/m/iris4d.h
+++ b/src/m/iris4d.h
@@ -41,16 +41,11 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
41#define IRIS_4D 41#define IRIS_4D
42#endif 42#endif
43 43
44/* Use type int rather than a union, to represent Lisp_Object */
45/* This is desirable for most machines. */
46
47#define NO_UNION_TYPE
48
49/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend 44/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend
50 the bit field into an int. In other words, if bit fields 45 the bit field into an int. In other words, if bit fields
51 are always unsigned. 46 are always unsigned.
52 47
53 If you use NO_UNION_TYPE, this flag does not matter. */ 48 This flag only matters if you use USE_LISP_UNION_TYPE. */
54 49
55#define EXPLICIT_SIGN_EXTEND 50#define EXPLICIT_SIGN_EXTEND
56 51
diff --git a/src/m/m68k.h b/src/m/m68k.h
index a62c8795180..50c8a8e7575 100644
--- a/src/m/m68k.h
+++ b/src/m/m68k.h
@@ -39,16 +39,11 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
39#define m68k 39#define m68k
40#endif 40#endif
41 41
42/* Use type int rather than a union, to represent Lisp_Object */
43/* This is desirable for most machines. */
44
45#define NO_UNION_TYPE
46
47/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend 42/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend
48 the 24-bit bit field into an int. In other words, if bit fields 43 the 24-bit bit field into an int. In other words, if bit fields
49 are always unsigned. 44 are always unsigned.
50 45
51 If you use NO_UNION_TYPE, this flag does not matter. */ 46 This flag only matters if you use USE_LISP_UNION_TYPE. */
52 47
53#define EXPLICIT_SIGN_EXTEND 48#define EXPLICIT_SIGN_EXTEND
54 49
diff --git a/src/m/macppc.h b/src/m/macppc.h
index eb263526c2d..c0e53c2e063 100644
--- a/src/m/macppc.h
+++ b/src/m/macppc.h
@@ -32,11 +32,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
32 Ones defined so far include vax, m68000, ns16000, pyramid, 32 Ones defined so far include vax, m68000, ns16000, pyramid,
33 orion, tahoe, APOLLO and many others */ 33 orion, tahoe, APOLLO and many others */
34 34
35/* Use type EMACS_INT rather than a union, to represent Lisp_Object */
36/* This is desirable for most machines. */
37
38#define NO_UNION_TYPE
39
40/* Data type of load average, as read out of kmem. */ 35/* Data type of load average, as read out of kmem. */
41 36
42#define LOAD_AVE_TYPE long 37#define LOAD_AVE_TYPE long
diff --git a/src/m/mips.h b/src/m/mips.h
index 7b9d658639d..b446508b9af 100644
--- a/src/m/mips.h
+++ b/src/m/mips.h
@@ -52,16 +52,11 @@ NOTE-END */
52# define mips 52# define mips
53#endif 53#endif
54 54
55/* Use type int rather than a union, to represent Lisp_Object */
56/* This is desirable for most machines. */
57
58#define NO_UNION_TYPE
59
60/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend 55/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend
61 the 24-bit bit field into an int. In other words, if bit fields 56 the 24-bit bit field into an int. In other words, if bit fields
62 are always unsigned. 57 are always unsigned.
63 58
64 If you use NO_UNION_TYPE, this flag does not matter. */ 59 This flag only matters if you use USE_LISP_UNION_TYPE. */
65 60
66#define EXPLICIT_SIGN_EXTEND 61#define EXPLICIT_SIGN_EXTEND
67 62
diff --git a/src/m/sparc.h b/src/m/sparc.h
index 233bf96d7c7..e75094fa7de 100644
--- a/src/m/sparc.h
+++ b/src/m/sparc.h
@@ -38,11 +38,8 @@ NOTE-END */
38 38
39/* __sparc__ is defined by the compiler by default. */ 39/* __sparc__ is defined by the compiler by default. */
40 40
41/* Use type int rather than a union, to represent Lisp_Object */ 41/* XINT must explicitly sign-extend
42 42 This flag only matters if you use USE_LISP_UNION_TYPE. */
43#define NO_UNION_TYPE
44
45/* XINT must explicitly sign-extend */
46 43
47#define EXPLICIT_SIGN_EXTEND 44#define EXPLICIT_SIGN_EXTEND
48 45
diff --git a/src/m/template.h b/src/m/template.h
index e447fba7b4b..4b11f87c8a7 100644
--- a/src/m/template.h
+++ b/src/m/template.h
@@ -36,16 +36,11 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
36 does not define it automatically. 36 does not define it automatically.
37 Ones defined so far include m68k and many others */ 37 Ones defined so far include m68k and many others */
38 38
39/* Use type int rather than a union, to represent Lisp_Object */
40/* This is desirable for most machines. */
41
42#define NO_UNION_TYPE
43
44/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend 39/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend
45 the 24-bit bit field into an int. In other words, if bit fields 40 the 24-bit bit field into an int. In other words, if bit fields
46 are always unsigned. 41 are always unsigned.
47 42
48 If you use NO_UNION_TYPE, this flag does not matter. */ 43 This flag only matters if you use USE_LISP_UNION_TYPE. */
49 44
50#define EXPLICIT_SIGN_EXTEND 45#define EXPLICIT_SIGN_EXTEND
51 46
diff --git a/src/m/vax.h b/src/m/vax.h
index 35050a11e10..7a08deb6830 100644
--- a/src/m/vax.h
+++ b/src/m/vax.h
@@ -57,10 +57,6 @@ NOTE-END */
57 57
58/* #define vax -- appears to be done automatically */ 58/* #define vax -- appears to be done automatically */
59 59
60/* Use type int rather than a union, to represent Lisp_Object */
61
62#define NO_UNION_TYPE
63
64/* crt0.c should use the vax-bsd style of entry, with no dummy args. */ 60/* crt0.c should use the vax-bsd style of entry, with no dummy args. */
65 61
66#define CRT0_DUMMIES 62#define CRT0_DUMMIES
diff --git a/src/m/xtensa.h b/src/m/xtensa.h
index 049874635d8..d53686d9401 100644
--- a/src/m/xtensa.h
+++ b/src/m/xtensa.h
@@ -3,7 +3,6 @@
3Add a license notice if this grows to > 10 lines of code. */ 3Add a license notice if this grows to > 10 lines of code. */
4 4
5#define NO_ARG_ARRAY 5#define NO_ARG_ARRAY
6#define NO_UNION_TYPE
7 6
8#ifdef __LITTLE_ENDIAN 7#ifdef __LITTLE_ENDIAN
9#undef WORDS_BIG_ENDIAN 8#undef WORDS_BIG_ENDIAN
diff --git a/src/w32heap.c b/src/w32heap.c
index 099024e52cd..4298e6f70a2 100644
--- a/src/w32heap.c
+++ b/src/w32heap.c
@@ -240,7 +240,7 @@ init_heap ()
240 exit (1); 240 exit (1);
241 } 241 }
242 242
243#if defined (NO_UNION_TYPE) && !defined (USE_LSB_TAG) 243#if !defined (USE_LISP_UNION_TYPE) && !defined (USE_LSB_TAG)
244 /* Ensure that the addresses don't use the upper tag bits since 244 /* Ensure that the addresses don't use the upper tag bits since
245 the Lisp type goes there. */ 245 the Lisp type goes there. */
246 if (((unsigned long) data_region_base & ~VALMASK) != 0) 246 if (((unsigned long) data_region_base & ~VALMASK) != 0)