Mercurial > hg > xemacs-beta
annotate src/m/arm.h @ 5562:855b667dea13
Drop cl-macro-environment in favour of byte-compile-macro-environment.
lisp/ChangeLog addition:
2011-09-04 Aidan Kehoe <kehoea@parhasard.net>
* bytecomp-runtime.el:
* bytecomp-runtime.el (byte-compile-macro-environment): Moved from
bytecomp.el.
* bytecomp.el:
* bytecomp.el (byte-compile-initial-macro-environment):
Add implementations for #'load-time-value, #'labels here, now
cl-macs respects byte-compile-macro-environment.
* bytecomp.el (byte-compile-function-environment):
* bytecomp.el (byte-compile-macro-environment): Removed.
* bytecomp.el (symbol-value):
* bytecomp.el (byte-compile-symbol-value): Removed.
* cl-extra.el (cl-macroexpand-all):
* cl-macs.el:
* cl-macs.el (bind-block):
* cl-macs.el (cl-macro-environment): Removed.
* cl-macs.el (cl-transform-lambda):
* cl-macs.el (load-time-value):
* cl-macs.el (block):
* cl-macs.el (flet):
* cl-macs.el (labels):
* cl-macs.el (macrolet):
* cl-macs.el (symbol-macrolet):
* cl-macs.el (lexical-let):
* cl-macs.el (apply):
* cl-macs.el (nthcdr):
* cl-macs.el (getf):
* cl-macs.el (substring):
* cl-macs.el (values):
* cl-macs.el (get-setf-method):
* cl-macs.el (cl-setf-do-modify):
* cl.el:
* cl.el (cl-macro-environment): Removed.
* cl.el (cl-macroexpand):
* obsolete.el (cl-macro-environment): Moved here.
Drop cl-macro-environment, in favour of
byte-compile-macro-environment; make the latter available in
bytecomp-runtime.el. This makes byte-compile-macro-environment far
less useless, since previously code that used cl-macs would ignore
it when calling #'cl-macroexpand-all.
Add byte-compiler-specific implementations for #'load-time-value,
#'labels. The latter is very nice indeed; it avoids the run-time
consing of the current implementation, is fully lexical and avoids
the run-time shadowing of symbol function slots that flet uses. It
would now be reasonable to move most core uses of flet to use
labels instead. Non-core code can't rely on print-circle for
mutually recursive functions, though, so it's less of an evident
win.
author | Aidan Kehoe <kehoea@parhasard.net> |
---|---|
date | Sun, 04 Sep 2011 20:37:55 +0100 |
parents | 1f0b15040456 |
children |
rev | line source |
---|---|
321 | 1 /* Machine description file for digital/intel arm/strongarm |
2 Copyright (C) 1987 Free Software Foundation, Inc. | |
3 | |
5402
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
4759
diff
changeset
|
4 This file is part of XEmacs. |
321 | 5 |
5402
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
4759
diff
changeset
|
6 XEmacs is free software: you can redistribute it and/or modify it |
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
4759
diff
changeset
|
7 under the terms of the GNU General Public License as published by the |
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
4759
diff
changeset
|
8 Free Software Foundation, either version 3 of the License, or (at your |
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
4759
diff
changeset
|
9 option) any later version. |
321 | 10 |
5402
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
4759
diff
changeset
|
11 XEmacs is distributed in the hope that it will be useful, but WITHOUT |
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
4759
diff
changeset
|
12 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
4759
diff
changeset
|
13 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
4759
diff
changeset
|
14 for more details. |
321 | 15 |
16 You should have received a copy of the GNU General Public License | |
5402
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
4759
diff
changeset
|
17 along with XEmacs. If not, see <http://www.gnu.org/licenses/>. */ |
321 | 18 |
19 /* Synched up with: FSF 19.31. */ | |
20 | |
21 /* Now define a symbol for the cpu type, if your compiler | |
22 does not define it automatically: | |
23 Ones defined so far include vax, m68000, ns16000, pyramid, | |
24 orion, tahoe, APOLLO and many others */ | |
25 | |
26 #ifndef arm | |
27 #define arm | |
28 #endif | |
29 | |
30 /* crt0.c, if it is used, should use the i386-bsd style of entry. | |
4759
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
1330
diff
changeset
|
31 with no extra dummy args. On USG, NO_REMAP says this isn't used. */ |
321 | 32 |
33 /* Mly 16-Jan-96 16:38:32: this is part of a prototype -- same bug present in | |
34 other m*.h files */ | |
35 #define CRT0_DUMMIES int bogus_fp, | |
36 | |
37 /* crt0.c should define a symbol `start' and do .globl with a dot. */ | |
38 | |
39 #define DOT_GLOBAL_START | |
40 | |
41 #ifdef USG5_4 /* Older USG systems do not support the load average. */ | |
42 /* Data type of load average, as read out of kmem. */ | |
43 | |
5494
861f2601a38b
Sync s/ files with GNU 23.1.92, delete obsolete stuff, simplify other stuff
Ben Wing <ben@xemacs.org>
parents:
4759
diff
changeset
|
44 #ifdef ENABLE_SM_FILE_DECLS_OF_LOADAVG_STUFF |
861f2601a38b
Sync s/ files with GNU 23.1.92, delete obsolete stuff, simplify other stuff
Ben Wing <ben@xemacs.org>
parents:
4759
diff
changeset
|
45 |
321 | 46 #define LOAD_AVE_TYPE long |
47 | |
48 /* Convert that into an integer that is 100 for a load average of 1.0 */ | |
49 /* This is totally uncalibrated. */ | |
50 | |
51 | |
52 /* FSHIFT and FSCALE are defined in param.h, but are required by | |
53 LOAD_AVE_CVT, so they need to be defined here. */ | |
54 | |
55 #ifndef FSHIFT | |
56 #define FSHIFT 8 /* bits to right of fixed binary point */ | |
57 #endif | |
58 | |
59 #ifndef FSCALE | |
60 #define FSCALE (1<<FSHIFT) | |
61 #endif | |
62 | |
63 #define LOAD_AVE_CVT(x) ((int) (((double) (x)) * 100.0 / FSCALE)) | |
5494
861f2601a38b
Sync s/ files with GNU 23.1.92, delete obsolete stuff, simplify other stuff
Ben Wing <ben@xemacs.org>
parents:
4759
diff
changeset
|
64 #endif /* ENABLE_SM_FILE_DECLS_OF_LOADAVG_STUFF */ |
861f2601a38b
Sync s/ files with GNU 23.1.92, delete obsolete stuff, simplify other stuff
Ben Wing <ben@xemacs.org>
parents:
4759
diff
changeset
|
65 |
861f2601a38b
Sync s/ files with GNU 23.1.92, delete obsolete stuff, simplify other stuff
Ben Wing <ben@xemacs.org>
parents:
4759
diff
changeset
|
66 #endif /* USG5_4 */ |
321 | 67 |
68 | |
69 /* this brings in alloca() if we're using cc */ | |
70 #ifdef USG | |
71 #define NO_REMAP | |
72 #define TEXT_START 0 | |
73 #endif /* USG */ | |
74 | |
442 | 75 #ifdef WIN32_NATIVE |
321 | 76 #define DATA_START get_data_start () |
77 #endif | |
78 | |
79 #ifdef linux | |
80 /* libc-linux/sysdeps/linux/i386/ulimit.c says that due to shared library, */ | |
81 /* we cannot get the maximum address for brk */ | |
82 #define ULIMIT_BREAK_VALUE (32*1024*1024) | |
83 | |
84 #define SEGMENT_MASK ((SEGMENT_SIZE)-1) | |
85 #endif |