aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJoakim Verona2012-05-24 20:39:12 +0200
committerJoakim Verona2012-05-24 20:39:12 +0200
commit44fce8ffe7198991c41c985ff4e67ec7d407907e (patch)
tree81e28bf1b327f55c0c50b30c1c1c6d1e78c6849d /src
parent207460f292db1b9ede6b8ddad3ed7ac6bba026b5 (diff)
parentf18b81e6d670ea83e3ccb7c7b6aff50933120018 (diff)
downloademacs-44fce8ffe7198991c41c985ff4e67ec7d407907e.tar.gz
emacs-44fce8ffe7198991c41c985ff4e67ec7d407907e.zip
upstream
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog45
-rw-r--r--src/Makefile.in7
-rw-r--r--src/alloc.c4
-rw-r--r--src/lisp.h45
-rw-r--r--src/m/README7
-rw-r--r--src/m/alpha.h53
-rw-r--r--src/m/amdx86-64.h35
-rw-r--r--src/m/ia64.h32
-rw-r--r--src/m/ibmrs6000.h46
-rw-r--r--src/m/ibms390x.h32
-rw-r--r--src/m/intel386.h29
-rw-r--r--src/m/m68k.h32
-rw-r--r--src/m/macppc.h24
-rw-r--r--src/m/sparc.h30
-rw-r--r--src/m/template.h34
-rw-r--r--src/makefile.w32-in5
-rw-r--r--src/mem-limits.h2
-rw-r--r--src/puresize.h2
-rw-r--r--src/s/aix4-2.h11
-rw-r--r--src/s/gnu-linux.h6
-rw-r--r--src/s/gnu.h2
-rw-r--r--src/s/irix6-5.h4
-rw-r--r--src/s/ms-w32.h2
-rw-r--r--src/window.h5
24 files changed, 99 insertions, 395 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 3054f4a284f..8697e70d51d 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,44 @@
12012-05-24 Dmitry Antipov <dmantipov@yandex.ru>
2
3 * window.h (clip_changed): Remove useless declaration.
4
52012-05-22 Juanma Barranquero <lekktu@gmail.com>
6
7 * makefile.w32-in: Follow-up to 2012-05-22T16:20:27Z!eggert@cs.ucla.edu.
8 (TAGS, TAGS-gmake, CONFIG_H): Remove further references to m/intel386.h.
9
102012-05-22 Paul Eggert <eggert@cs.ucla.edu>
11
12 Remove src/m/*.
13 This directory predates autoconf and is no longer needed nowadays.
14 Move its few remaining bits of functionality to where they're needed.
15 * m/README, m/alpha.h, m/amdx86-64.h, m/ia64.h, m/ibmrs6000.h:
16 * m/ibms390x.h, m/intel386.h, m/m68k.h, m/macppc.h, m/sparc.h:
17 * m/template.h: Remove.
18 * Makefile.in (M_FILE): Remove. All uses removed.
19 * alloc.c (POINTERS_MIGHT_HIDE_IN_OBJECTS):
20 * lisp.h (USE_LSB_TAG):
21 * mem-limits.h (EXCEEDS_LISP_PTR):
22 Use VAL_MAX, not VALBITS, in #if.
23 * lisp.h (EMACS_INT_MAX): New macro, useful in #if.
24 (EMACS_UINT): Define unconditionally now.
25 (BITS_PER_CHAR, BITS_PER_SHORT, BITS_PER_INT, BITS_PER_LONG)
26 (BITS_PER_EMACS_INT): New constants, replacing
27 what used to be in config.h, but not useful in #if.
28 (GCTYPEBITS, VALBITS): Define unconditionally, since m/* files don't
29 define them any more.
30 (VAL_MAX): New macro.
31 (VALMASK): Use it.
32 * puresize.h (PURESIZE_RATIO): Use EMACS_INT_MAX, not
33 BITS_PER_EMACS_INT, in #if.
34 * s/aix4-2.h (BROKEN_FIONREAD, BROKEN_SIGAIO, BROKEN_SIGPTY)
35 (BROKEN_SIGPOLL): Move here from m/ibmrs6000.h, which was removed.
36 * s/gnu-linux.h (ULIMIT_BREAK_VALUE) [__i386__]:
37 * s/ms-w32.h (DATA_START):
38 Move here from removed file m/intel386.h.
39 * s/gnu.h (NLIST_STRUCT): Remove undef; 'configure' does this.
40 * s/irix6-5.h (_LP64): Remove; lisp.h no longer needs this.
41
12012-05-21 Paul Eggert <eggert@cs.ucla.edu> 422012-05-21 Paul Eggert <eggert@cs.ucla.edu>
2 43
3 Assume C89 or later. 44 Assume C89 or later.
@@ -21,7 +62,7 @@
212012-05-20 Ken Brown <kbrown@cornell.edu> 622012-05-20 Ken Brown <kbrown@cornell.edu>
22 63
23 * gmalloc.c (_free_internal_nolock, _realloc_internal_nolock) 64 * gmalloc.c (_free_internal_nolock, _realloc_internal_nolock)
24 [CYGWIN]: Cast ptr to (char *) before comparing to _heapbase. 65 [CYGWIN]: Cast ptr to (char *) before comparing to _heapbase.
25 66
262012-05-19 Ken Brown <kbrown@cornell.edu> 672012-05-19 Ken Brown <kbrown@cornell.edu>
27 68
@@ -398,7 +439,7 @@
3982012-04-22 Paul Eggert <eggert@cs.ucla.edu> 4392012-04-22 Paul Eggert <eggert@cs.ucla.edu>
399 440
400 Modernize and clean up gmalloc.c to assume C89 (Bug#9119). 441 Modernize and clean up gmalloc.c to assume C89 (Bug#9119).
401 * gmalloc.c: (_MALLOC_INTERNAL, _MALLOC_H, _PP, __ptr_t) 442 * gmalloc.c (_MALLOC_INTERNAL, _MALLOC_H, _PP, __ptr_t)
402 (__malloc_size_t, __malloc_ptrdiff_t): 443 (__malloc_size_t, __malloc_ptrdiff_t):
403 Remove. All uses removed, replaced by the definiens if needed, 444 Remove. All uses removed, replaced by the definiens if needed,
404 since we can assume C89 or better now. 445 since we can assume C89 or better now.
diff --git a/src/Makefile.in b/src/Makefile.in
index 8d4c5306782..1dd966ec0a7 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -56,9 +56,8 @@ lwlibdir = ../lwlib
56lispdir = ../lisp 56lispdir = ../lisp
57 57
58# Configuration files for .o files to depend on. 58# Configuration files for .o files to depend on.
59M_FILE = @M_FILE@
60S_FILE = @S_FILE@ 59S_FILE = @S_FILE@
61config_h = config.h $(M_FILE) $(S_FILE) 60config_h = config.h $(S_FILE)
62 61
63bootstrap_exe = $(abs_builddir)/bootstrap-emacs$(EXEEXT) 62bootstrap_exe = $(abs_builddir)/bootstrap-emacs$(EXEEXT)
64 63
@@ -544,10 +543,10 @@ extraclean: distclean
544ctagsfiles1 = [xyzXYZ]*.[hcm] 543ctagsfiles1 = [xyzXYZ]*.[hcm]
545ctagsfiles2 = [a-wA-W]*.[hcm] 544ctagsfiles2 = [a-wA-W]*.[hcm]
546 545
547TAGS: $(srcdir)/$(ctagsfiles1) $(srcdir)/$(ctagsfiles2) $(M_FILE) $(S_FILE) 546TAGS: $(srcdir)/$(ctagsfiles1) $(srcdir)/$(ctagsfiles2) $(S_FILE)
548 ../lib-src/etags --include=TAGS-LISP --include=$(lwlibdir)/TAGS \ 547 ../lib-src/etags --include=TAGS-LISP --include=$(lwlibdir)/TAGS \
549 --regex='/[ ]*DEFVAR_[A-Z_ (]+"\([^"]+\)"/' \ 548 --regex='/[ ]*DEFVAR_[A-Z_ (]+"\([^"]+\)"/' \
550 $(srcdir)/$(ctagsfiles1) $(srcdir)/$(ctagsfiles2) $(M_FILE) $(S_FILE) 549 $(srcdir)/$(ctagsfiles1) $(srcdir)/$(ctagsfiles2) $(S_FILE)
551frc: 550frc:
552TAGS-LISP: frc 551TAGS-LISP: frc
553 $(MAKE) -f $(lispdir)/Makefile TAGS-LISP ETAGS=../lib-src/etags 552 $(MAKE) -f $(lispdir)/Makefile TAGS-LISP ETAGS=../lib-src/etags
diff --git a/src/alloc.c b/src/alloc.c
index 3601c256c41..1f422a6d3b0 100644
--- a/src/alloc.c
+++ b/src/alloc.c
@@ -4297,8 +4297,8 @@ mark_maybe_pointer (void *p)
4297 wider than a pointer might allocate a Lisp_Object in non-adjacent halves. 4297 wider than a pointer might allocate a Lisp_Object in non-adjacent halves.
4298 If USE_LSB_TAG, the bottom half is not a valid pointer, but it should 4298 If USE_LSB_TAG, the bottom half is not a valid pointer, but it should
4299 suffice to widen it to to a Lisp_Object and check it that way. */ 4299 suffice to widen it to to a Lisp_Object and check it that way. */
4300#if defined USE_LSB_TAG || UINTPTR_MAX >> VALBITS != 0 4300#if defined USE_LSB_TAG || VAL_MAX < UINTPTR_MAX
4301# if !defined USE_LSB_TAG && UINTPTR_MAX >> VALBITS >> GCTYPEBITS != 0 4301# if !defined USE_LSB_TAG && VAL_MAX < UINTPTR_MAX >> GCTYPEBITS
4302 /* If tag bits straddle pointer-word boundaries, neither mark_maybe_pointer 4302 /* If tag bits straddle pointer-word boundaries, neither mark_maybe_pointer
4303 nor mark_maybe_object can follow the pointers. This should not occur on 4303 nor mark_maybe_object can follow the pointers. This should not occur on
4304 any practical porting target. */ 4304 any practical porting target. */
diff --git a/src/lisp.h b/src/lisp.h
index 823e0ec5205..fd9ac6ef0e2 100644
--- a/src/lisp.h
+++ b/src/lisp.h
@@ -41,25 +41,36 @@ extern void check_cons_list (void);
41 Build with CFLAGS='-DWIDE_EMACS_INT' to try them out. */ 41 Build with CFLAGS='-DWIDE_EMACS_INT' to try them out. */
42/* #undef WIDE_EMACS_INT */ 42/* #undef WIDE_EMACS_INT */
43 43
44/* These are default choices for the types to use. */ 44/* EMACS_INT - signed integer wide enough to hold an Emacs value
45 EMACS_INT_MAX - maximum value of EMACS_INT; can be used in #if
46 pI - printf length modifier for EMACS_INT
47 EMACS_UINT - unsigned variant of EMACS_INT */
45#ifndef EMACS_INT 48#ifndef EMACS_INT
46# if BITS_PER_LONG < BITS_PER_LONG_LONG && defined WIDE_EMACS_INT 49# if LONG_MAX < LLONG_MAX && defined WIDE_EMACS_INT
47# define EMACS_INT long long 50# define EMACS_INT long long
48# define BITS_PER_EMACS_INT BITS_PER_LONG_LONG 51# define EMACS_INT_MAX LLONG_MAX
49# define pI "ll" 52# define pI "ll"
50# elif BITS_PER_INT < BITS_PER_LONG 53# elif INT_MAX < LONG_MAX
51# define EMACS_INT long 54# define EMACS_INT long
52# define BITS_PER_EMACS_INT BITS_PER_LONG 55# define EMACS_INT_MAX LONG_MAX
53# define pI "l" 56# define pI "l"
54# else 57# else
55# define EMACS_INT int 58# define EMACS_INT int
56# define BITS_PER_EMACS_INT BITS_PER_INT 59# define EMACS_INT_MAX INT_MAX
57# define pI "" 60# define pI ""
58# endif 61# endif
59#endif 62#endif
60#ifndef EMACS_UINT 63#define EMACS_UINT unsigned EMACS_INT
61# define EMACS_UINT unsigned EMACS_INT 64
62#endif 65/* Number of bits in some machine integer types. */
66enum
67 {
68 BITS_PER_CHAR = CHAR_BIT,
69 BITS_PER_SHORT = CHAR_BIT * sizeof (short),
70 BITS_PER_INT = CHAR_BIT * sizeof (int),
71 BITS_PER_LONG = CHAR_BIT * sizeof (long int),
72 BITS_PER_EMACS_INT = CHAR_BIT * sizeof (EMACS_INT)
73 };
63 74
64/* printmax_t and uprintmax_t are types for printing large integers. 75/* printmax_t and uprintmax_t are types for printing large integers.
65 These are the widest integers that are supported for printing. 76 These are the widest integers that are supported for printing.
@@ -164,13 +175,13 @@ extern int suppress_checking EXTERNALLY_VISIBLE;
164 variable VAR of type TYPE with the added requirement that it be 175 variable VAR of type TYPE with the added requirement that it be
165 TYPEBITS-aligned. */ 176 TYPEBITS-aligned. */
166 177
167#ifndef GCTYPEBITS
168#define GCTYPEBITS 3 178#define GCTYPEBITS 3
169#endif
170
171#ifndef VALBITS
172#define VALBITS (BITS_PER_EMACS_INT - GCTYPEBITS) 179#define VALBITS (BITS_PER_EMACS_INT - GCTYPEBITS)
173#endif 180
181/* The maximum value that can be stored in a EMACS_INT, assuming all
182 bits other than the type bits contribute to a nonnegative signed value.
183 This can be used in #if, e.g., '#if VAL_MAX < UINTPTR_MAX' below. */
184#define VAL_MAX (EMACS_INT_MAX >> (GCTYPEBITS - 1))
174 185
175#ifndef NO_DECL_ALIGN 186#ifndef NO_DECL_ALIGN
176# ifndef DECL_ALIGN 187# ifndef DECL_ALIGN
@@ -195,12 +206,12 @@ extern int suppress_checking EXTERNALLY_VISIBLE;
195 || defined DARWIN_OS || defined __sun) 206 || defined DARWIN_OS || defined __sun)
196/* We also need to be able to specify mult-of-8 alignment on static vars. */ 207/* We also need to be able to specify mult-of-8 alignment on static vars. */
197# if defined DECL_ALIGN 208# if defined DECL_ALIGN
198/* On hosts where VALBITS is greater than the pointer width in bits, 209/* On hosts where pointers-as-ints do not exceed VAL_MAX,
199 USE_LSB_TAG is: 210 USE_LSB_TAG is:
200 a. unnecessary, because the top bits of an EMACS_INT are unused, and 211 a. unnecessary, because the top bits of an EMACS_INT are unused, and
201 b. slower, because it typically requires extra masking. 212 b. slower, because it typically requires extra masking.
202 So, define USE_LSB_TAG only on hosts where it might be useful. */ 213 So, define USE_LSB_TAG only on hosts where it might be useful. */
203# if UINTPTR_MAX >> VALBITS != 0 214# if VAL_MAX < UINTPTR_MAX
204# define USE_LSB_TAG 215# define USE_LSB_TAG
205# endif 216# endif
206# endif 217# endif
@@ -483,7 +494,7 @@ enum pvec_type
483 494
484#else /* not USE_LSB_TAG */ 495#else /* not USE_LSB_TAG */
485 496
486#define VALMASK ((((EMACS_INT) 1) << VALBITS) - 1) 497#define VALMASK VAL_MAX
487 498
488/* One need to override this if there must be high bits set in data space 499/* One need to override this if there must be high bits set in data space
489 (doing the result of the below & ((1 << (GCTYPE + 1)) - 1) would work 500 (doing the result of the below & ((1 << (GCTYPE + 1)) - 1) would work
diff --git a/src/m/README b/src/m/README
deleted file mode 100644
index ad91167648e..00000000000
--- a/src/m/README
+++ /dev/null
@@ -1,7 +0,0 @@
1This directory contains C header files containing machine-specific
2definitions. Each file describes a particular machine. The emacs
3configuration script edits ../config.h to include the appropriate one of
4these files, and then each emacs source file includes config.h.
5
6template.h is a generic template for machine descriptions; it
7describes the parameters a machine file can specify.
diff --git a/src/m/alpha.h b/src/m/alpha.h
deleted file mode 100644
index 2a97a3d5b0c..00000000000
--- a/src/m/alpha.h
+++ /dev/null
@@ -1,53 +0,0 @@
1/* Machine description file for the alpha chip.
2
3Copyright (C) 1994, 1997, 1999, 2001-2012 Free Software Foundation, Inc.
4
5Author: Rainer Schoepf
6(according to authors.el)
7
8This file is part of GNU Emacs.
9
10GNU Emacs is free software: you can redistribute it and/or modify
11it under the terms of the GNU General Public License as published by
12the Free Software Foundation, either version 3 of the License, or
13(at your option) any later version.
14
15GNU Emacs is distributed in the hope that it will be useful,
16but WITHOUT ANY WARRANTY; without even the implied warranty of
17MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18GNU General Public License for more details.
19
20You should have received a copy of the GNU General Public License
21along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
22
23#ifndef _LP64
24#define _LP64 /* This doesn't appear to be necessary on OSF 4/5 -- fx. */
25#endif
26
27/* Now define a symbol for the cpu type, if your compiler
28 does not define it automatically. */
29/* __alpha defined automatically */
30
31
32#ifdef __ELF__
33
34#if !defined (GNU_LINUX) && !defined (__NetBSD__)
35#define DATA_START 0x140000000
36#endif
37
38#else /* not __ELF__ */
39
40/* Describe layout of the address space in an executing process. */
41#define DATA_START 0x140000000
42
43#endif /* __ELF__ */
44
45/* On the Alpha it's best to avoid including TERMIO since struct
46 termio and struct termios are mutually incompatible. */
47#define NO_TERMIO
48
49/* Many Alpha implementations (e.g. gas 2.8) can't handle DBL_MIN:
50 they generate code that uses a signaling NaN instead of DBL_MIN.
51 Define DBL_MIN_REPLACEMENT to be the next value larger than DBL_MIN:
52 this avoids the assembler bug. */
53#define DBL_MIN_REPLACEMENT 2.2250738585072019e-308
diff --git a/src/m/amdx86-64.h b/src/m/amdx86-64.h
deleted file mode 100644
index f0482c733f9..00000000000
--- a/src/m/amdx86-64.h
+++ /dev/null
@@ -1,35 +0,0 @@
1/* machine description file for AMD x86-64.
2
3Copyright (C) 2002-2012 Free Software Foundation, Inc.
4
5This file is part of GNU Emacs.
6
7GNU Emacs is free software: you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation, either version 3 of the License, or
10(at your option) any later version.
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
19
20#define BITS_PER_LONG 64
21#define BITS_PER_EMACS_INT 64
22
23/* Now define a symbol for the cpu type, if your compiler
24 does not define it automatically:
25 Ones defined so far include vax, m68000, ns16000, pyramid,
26 orion, tahoe, APOLLO and many others */
27/* __x86_64 defined automatically. */
28
29/* Define the type to use. */
30#define EMACS_INT long
31#define pI "l"
32#define EMACS_UINT unsigned long
33
34/* Define XPNTR to avoid or'ing with DATA_SEG_BITS */
35#undef DATA_SEG_BITS
diff --git a/src/m/ia64.h b/src/m/ia64.h
deleted file mode 100644
index 47df94cedd0..00000000000
--- a/src/m/ia64.h
+++ /dev/null
@@ -1,32 +0,0 @@
1/* machine description file for the IA-64 architecture.
2
3Copyright (C) 2000-2012 Free Software Foundation, Inc.
4
5 Contributed by David Mosberger <davidm@hpl.hp.com>
6
7This file is part of GNU Emacs.
8
9GNU Emacs is free software: you can redistribute it and/or modify
10it under the terms of the GNU General Public License as published by
11the Free Software Foundation, either version 3 of the License, or
12(at your option) any later version.
13
14GNU Emacs is distributed in the hope that it will be useful,
15but WITHOUT ANY WARRANTY; without even the implied warranty of
16MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17GNU General Public License for more details.
18
19You should have received a copy of the GNU General Public License
20along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
21
22#define BITS_PER_LONG 64
23#define BITS_PER_EMACS_INT 64
24
25/* Now define a symbol for the cpu type, if your compiler
26 does not define it automatically. */
27/* __ia64__ defined automatically */
28
29/* Define the type to use. */
30#define EMACS_INT long
31#define pI "l"
32#define EMACS_UINT unsigned long
diff --git a/src/m/ibmrs6000.h b/src/m/ibmrs6000.h
deleted file mode 100644
index 9798ad2d3d7..00000000000
--- a/src/m/ibmrs6000.h
+++ /dev/null
@@ -1,46 +0,0 @@
1/* R2 AIX machine/system dependent defines
2
3Copyright (C) 1988, 2001-2012 Free Software Foundation, Inc.
4
5This file is part of GNU Emacs.
6
7GNU Emacs is free software: you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation, either version 3 of the License, or
10(at your option) any later version.
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
19
20
21/* The data segment in this machine always starts at address 0x20000000.
22 An address of data cannot be stored correctly in a Lisp object;
23 we always lose the high bits. We must tell XPNTR to add them back. */
24#define DATA_START 0x20000000
25#define DATA_SEG_BITS 0x20000000
26
27#ifndef NLIST_STRUCT
28/* AIX supposedly doesn't use this interface, but on the RS/6000
29 it apparently does. */
30#define NLIST_STRUCT
31#endif
32
33#undef ADDR_CORRECT
34#define ADDR_CORRECT(x) ((int)(x))
35
36/*** BUILD 9008 - FIONREAD problem still exists in X-Windows. ***/
37#define BROKEN_FIONREAD
38/* As we define BROKEN_FIONREAD, SIGIO will be undefined in systty.h.
39 But, on AIX, SIGAIO, SIGPTY, and SIGPOLL are defined as SIGIO,
40 which causes compilation error at init_signals in sysdep.c. So, we
41 define these macros so that syssignal.h detects them and undefine
42 SIGAIO, SIGPTY and SIGPOLL. */
43#define BROKEN_SIGAIO
44#define BROKEN_SIGPTY
45#define BROKEN_SIGPOLL
46
diff --git a/src/m/ibms390x.h b/src/m/ibms390x.h
deleted file mode 100644
index aa652a8206a..00000000000
--- a/src/m/ibms390x.h
+++ /dev/null
@@ -1,32 +0,0 @@
1/* Machine description file for IBM S390 in 64-bit mode
2
3Copyright (C) 2002-2012 Free Software Foundation, Inc.
4
5This file is part of GNU Emacs.
6
7GNU Emacs is free software: you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation, either version 3 of the License, or
10(at your option) any later version.
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
19
20#define BITS_PER_LONG 64
21#define BITS_PER_EMACS_INT 64
22
23/* Define the type to use. */
24#define EMACS_INT long
25#define pI "l"
26#define EMACS_UINT unsigned long
27
28/* On the 64 bit architecture, we can use 60 bits for addresses */
29#define VALBITS 60
30
31/* Define XPNTR to avoid or'ing with DATA_SEG_BITS */
32#define XPNTR(a) XUINT (a)
diff --git a/src/m/intel386.h b/src/m/intel386.h
deleted file mode 100644
index 78a43e92c21..00000000000
--- a/src/m/intel386.h
+++ /dev/null
@@ -1,29 +0,0 @@
1/* Machine description file for intel 386.
2
3Copyright (C) 1987, 2001-2012 Free Software Foundation, Inc.
4
5This file is part of GNU Emacs.
6
7GNU Emacs is free software: you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation, either version 3 of the License, or
10(at your option) any later version.
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
19
20
21#ifdef WINDOWSNT
22#define DATA_START get_data_start ()
23#endif
24
25#ifdef GNU_LINUX
26/* libc-linux/sysdeps/linux/i386/ulimit.c says that due to shared library, */
27/* we cannot get the maximum address for brk */
28#define ULIMIT_BREAK_VALUE (32*1024*1024)
29#endif
diff --git a/src/m/m68k.h b/src/m/m68k.h
deleted file mode 100644
index 120a2bad293..00000000000
--- a/src/m/m68k.h
+++ /dev/null
@@ -1,32 +0,0 @@
1/* Machine description file for generic Motorola 68k.
2
3Copyright (C) 1985, 1995, 2001-2012 Free Software Foundation, Inc.
4
5This file is part of GNU Emacs.
6
7GNU Emacs is free software: you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation, either version 3 of the License, or
10(at your option) any later version.
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
19
20/* Now define a symbol for the cpu type, if your compiler
21 does not define it automatically. */
22#ifndef m68k
23#define m68k
24#endif
25
26#ifdef GNU_LINUX
27#ifdef __ELF__
28#define DATA_SEG_BITS 0x80000000
29#endif
30
31#endif
32
diff --git a/src/m/macppc.h b/src/m/macppc.h
deleted file mode 100644
index 0303ead25d6..00000000000
--- a/src/m/macppc.h
+++ /dev/null
@@ -1,24 +0,0 @@
1/* machine description file For the powerpc Macintosh.
2
3Copyright (C) 1994, 2001-2012 Free Software Foundation, Inc.
4
5This file is part of GNU Emacs.
6
7GNU Emacs is free software: you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation, either version 3 of the License, or
10(at your option) any later version.
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
19
20#ifdef _ARCH_PPC64
21#ifndef _LP64
22#define _LP64
23#endif
24#endif
diff --git a/src/m/sparc.h b/src/m/sparc.h
deleted file mode 100644
index 27b6070ba87..00000000000
--- a/src/m/sparc.h
+++ /dev/null
@@ -1,30 +0,0 @@
1/* machine description file for Sun 4 SPARC.
2
3Copyright (C) 1987, 2001-2012 Free Software Foundation, Inc.
4
5This file is part of GNU Emacs.
6
7GNU Emacs is free software: you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation, either version 3 of the License, or
10(at your option) any later version.
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
19
20/* __sparc__ is defined by the compiler by default. */
21
22#ifdef __arch64__ /* GCC, 64-bit ABI. */
23
24#define BITS_PER_LONG 64
25
26#ifndef _LP64
27#define _LP64 /* Done on Alpha -- not sure if it should be here. -- fx */
28#endif
29
30#endif /* __arch64__ */
diff --git a/src/m/template.h b/src/m/template.h
deleted file mode 100644
index 5f1a46c86e1..00000000000
--- a/src/m/template.h
+++ /dev/null
@@ -1,34 +0,0 @@
1/* machine description file template.
2
3Copyright (C) 1985-1986, 2001-2012 Free Software Foundation, Inc.
4
5This file is part of GNU Emacs.
6
7GNU Emacs is free software: you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation, either version 3 of the License, or
10(at your option) any later version.
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
19
20/* Now define a symbol for the cpu type, if your compiler
21 does not define it automatically.
22 Ones defined so far include m68k and many others */
23
24/* After adding support for a new machine, modify the large case
25 statement in configure.in to recognize reasonable
26 configuration names, and add a description of the system to
27 `etc/MACHINES'.
28
29 Check for any tests of $machine in configure.in, and add an entry
30 for the new machine if needed.
31
32 If you've just fixed a problem in an existing configuration file,
33 you should also check `etc/MACHINES' to make sure its descriptions
34 of known problems in that configuration should be updated. */
diff --git a/src/makefile.w32-in b/src/makefile.w32-in
index f62c501e1fa..99b1241eab0 100644
--- a/src/makefile.w32-in
+++ b/src/makefile.w32-in
@@ -343,7 +343,7 @@ cleanall: clean
343## 343##
344## This works only with GNU Make. 344## This works only with GNU Make.
345 345
346TAGS: $(OBJ0) $(OBJ1) $(OBJ2) $(CURDIR)/m/intel386.h $(CURDIR)/s/ms-w32.h 346TAGS: $(OBJ0) $(OBJ1) $(OBJ2) $(CURDIR)/s/ms-w32.h
347 $(MAKE) $(MFLAGS) TAGS-$(MAKETYPE) 347 $(MAKE) $(MFLAGS) TAGS-$(MAKETYPE)
348 348
349TAGS-LISP: $(OBJ0) $(OBJ1) $(OBJ2) 349TAGS-LISP: $(OBJ0) $(OBJ1) $(OBJ2)
@@ -357,7 +357,7 @@ TAGS-gmake:
357 $(OBJ1_c) 357 $(OBJ1_c)
358 ../lib-src/$(BLD)/etags.exe -a --regex=@../nt/emacs-src.tags \ 358 ../lib-src/$(BLD)/etags.exe -a --regex=@../nt/emacs-src.tags \
359 $(OBJ2_c) \ 359 $(OBJ2_c) \
360 $(CURDIR)/*.h $(CURDIR)/m/intel386.h $(CURDIR)/s/ms-w32.h 360 $(CURDIR)/*.h $(CURDIR)/s/ms-w32.h
361 361
362TAGS-nmake: 362TAGS-nmake:
363 echo This target is not supported with NMake 363 echo This target is not supported with NMake
@@ -407,7 +407,6 @@ CODING_H = $(SRC)/coding.h \
407MS_W32_H = $(SRC)/s/ms-w32.h \ 407MS_W32_H = $(SRC)/s/ms-w32.h \
408 $(NT_INC)/sys/stat.h 408 $(NT_INC)/sys/stat.h
409CONFIG_H = $(SRC)/config.h \ 409CONFIG_H = $(SRC)/config.h \
410 $(SRC)/m/intel386.h \
411 $(MS_W32_H) 410 $(MS_W32_H)
412DIR_H = $(NT_INC)/sys/dir.h \ 411DIR_H = $(NT_INC)/sys/dir.h \
413 $(SRC)/ndir.h 412 $(SRC)/ndir.h
diff --git a/src/mem-limits.h b/src/mem-limits.h
index 244592a9768..1fd53b472f3 100644
--- a/src/mem-limits.h
+++ b/src/mem-limits.h
@@ -34,7 +34,7 @@ extern int etext;
34#endif 34#endif
35 35
36extern char *start_of_data (void); 36extern char *start_of_data (void);
37#if defined USE_LSB_TAG || UINTPTR_MAX >> VALBITS == 0 37#if defined USE_LSB_TAG || UINTPTR_MAX <= VAL_MAX
38#define EXCEEDS_LISP_PTR(ptr) 0 38#define EXCEEDS_LISP_PTR(ptr) 0
39#elif defined DATA_SEG_BITS 39#elif defined DATA_SEG_BITS
40#define EXCEEDS_LISP_PTR(ptr) \ 40#define EXCEEDS_LISP_PTR(ptr) \
diff --git a/src/puresize.h b/src/puresize.h
index e854dc585e8..185d2a76ae0 100644
--- a/src/puresize.h
+++ b/src/puresize.h
@@ -45,7 +45,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
45 45
46/* Increase BASE_PURESIZE by a ratio depending on the machine's word size. */ 46/* Increase BASE_PURESIZE by a ratio depending on the machine's word size. */
47#ifndef PURESIZE_RATIO 47#ifndef PURESIZE_RATIO
48#if BITS_PER_EMACS_INT > 32 48#if EMACS_INT_MAX >> 31 != 0
49#define PURESIZE_RATIO 10/6 /* Don't surround with `()'. */ 49#define PURESIZE_RATIO 10/6 /* Don't surround with `()'. */
50#else 50#else
51#define PURESIZE_RATIO 1 51#define PURESIZE_RATIO 1
diff --git a/src/s/aix4-2.h b/src/s/aix4-2.h
index 354ffda0988..cacfdc7ed63 100644
--- a/src/s/aix4-2.h
+++ b/src/s/aix4-2.h
@@ -76,6 +76,17 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
76 to avoid a crash just use the Emacs implementation for that function. */ 76 to avoid a crash just use the Emacs implementation for that function. */
77#define BROKEN_GET_CURRENT_DIR_NAME 1 77#define BROKEN_GET_CURRENT_DIR_NAME 1
78 78
79/*** BUILD 9008 - FIONREAD problem still exists in X-Windows. ***/
80#define BROKEN_FIONREAD
81/* As we define BROKEN_FIONREAD, SIGIO will be undefined in systty.h.
82 But, on AIX, SIGAIO, SIGPTY, and SIGPOLL are defined as SIGIO,
83 which causes compilation error at init_signals in sysdep.c. So, we
84 define these macros so that syssignal.h detects them and undefine
85 SIGAIO, SIGPTY and SIGPOLL. */
86#define BROKEN_SIGAIO
87#define BROKEN_SIGPTY
88#define BROKEN_SIGPOLL
89
79/* Conservative garbage collection has not been tested, so for now 90/* Conservative garbage collection has not been tested, so for now
80 play it safe and stick with the old-fashioned way of marking. */ 91 play it safe and stick with the old-fashioned way of marking. */
81#define GC_MARK_STACK GC_USE_GCPROS_AS_BEFORE 92#define GC_MARK_STACK GC_USE_GCPROS_AS_BEFORE
diff --git a/src/s/gnu-linux.h b/src/s/gnu-linux.h
index d04ea33068a..409d0205520 100644
--- a/src/s/gnu-linux.h
+++ b/src/s/gnu-linux.h
@@ -157,3 +157,9 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
157#else 157#else
158#define GC_MARK_STACK GC_USE_GCPROS_AS_BEFORE 158#define GC_MARK_STACK GC_USE_GCPROS_AS_BEFORE
159#endif 159#endif
160
161#ifdef __i386__
162/* libc-linux/sysdeps/linux/i386/ulimit.c says that due to shared library, */
163/* we cannot get the maximum address for brk */
164# define ULIMIT_BREAK_VALUE (32*1024*1024)
165#endif
diff --git a/src/s/gnu.h b/src/s/gnu.h
index a09e0e824c9..cd72164a520 100644
--- a/src/s/gnu.h
+++ b/src/s/gnu.h
@@ -24,8 +24,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
24#undef SYSTEM_TYPE 24#undef SYSTEM_TYPE
25#define SYSTEM_TYPE "gnu" 25#define SYSTEM_TYPE "gnu"
26 26
27#undef NLIST_STRUCT
28
29#define SIGNALS_VIA_CHARACTERS 27#define SIGNALS_VIA_CHARACTERS
30 28
31/* libc defines data_start. */ 29/* libc defines data_start. */
diff --git a/src/s/irix6-5.h b/src/s/irix6-5.h
index e5d90c1bd5d..e5479c3b8d3 100644
--- a/src/s/irix6-5.h
+++ b/src/s/irix6-5.h
@@ -85,10 +85,6 @@ char *_getpty();
85 85
86#define NARROWPROTO 1 86#define NARROWPROTO 1
87 87
88#if _MIPS_SZLONG == 64 /* -mabi=64 (gcc) or -64 (MIPSpro) */
89#define _LP64 /* lisp.h takes care of the rest */
90#endif /* _MIPS_SZLONG */
91
92#undef SA_RESTART 88#undef SA_RESTART
93 89
94#undef TIOCSIGSEND /* defined in usg5-4-common.h */ 90#undef TIOCSIGSEND /* defined in usg5-4-common.h */
diff --git a/src/s/ms-w32.h b/src/s/ms-w32.h
index 63fc2f1f62b..f88128b27aa 100644
--- a/src/s/ms-w32.h
+++ b/src/s/ms-w32.h
@@ -381,6 +381,8 @@ extern int getloadavg (double *, int);
381/* We need a little extra space, see ../../lisp/loadup.el. */ 381/* We need a little extra space, see ../../lisp/loadup.el. */
382#define SYSTEM_PURESIZE_EXTRA 50000 382#define SYSTEM_PURESIZE_EXTRA 50000
383 383
384#define DATA_START get_data_start ()
385
384/* For unexec to work on Alpha systems, we need to put Emacs' 386/* For unexec to work on Alpha systems, we need to put Emacs'
385 initialized data into a separate section from the CRT initialized 387 initialized data into a separate section from the CRT initialized
386 data (because the Alpha linker freely reorders data variables, even 388 data (because the Alpha linker freely reorders data variables, even
diff --git a/src/window.h b/src/window.h
index ea127ca95a8..1524805579f 100644
--- a/src/window.h
+++ b/src/window.h
@@ -852,11 +852,6 @@ extern EMACS_INT minibuf_level;
852 852
853extern int update_mode_lines; 853extern int update_mode_lines;
854 854
855/* Nonzero if BEGV - BEG or Z - ZV of current buffer has changed since
856 last redisplay that finished. */
857
858extern int clip_changed;
859
860/* Nonzero if window sizes or contents have changed since last 855/* Nonzero if window sizes or contents have changed since last
861 redisplay that finished */ 856 redisplay that finished */
862 857