aboutsummaryrefslogtreecommitdiffstats
path: root/mps/code/mpstd.h
diff options
context:
space:
mode:
authorRichard Brooksby2012-09-05 18:44:44 +0100
committerRichard Brooksby2012-09-05 18:44:44 +0100
commit915c01ef3ebe171e34dfb786b91be5a8e4057e5e (patch)
tree598e11374e93c3dd9ff4791ba4710d1cade82cf1 /mps/code/mpstd.h
parent10470d39742cae58c8906c08f8145c06b71aad20 (diff)
parentb6e7805b6f870b335c678e2406869933a5cac43b (diff)
downloademacs-915c01ef3ebe171e34dfb786b91be5a8e4057e5e.tar.gz
emacs-915c01ef3ebe171e34dfb786b91be5a8e4057e5e.zip
Merging branch/2012-08-15/variety-reform.
Copied from Perforce Change: 179279 ServerID: perforce.ravenbrook.com
Diffstat (limited to 'mps/code/mpstd.h')
-rw-r--r--mps/code/mpstd.h32
1 files changed, 17 insertions, 15 deletions
diff --git a/mps/code/mpstd.h b/mps/code/mpstd.h
index 10d3d2833a6..1725639691f 100644
--- a/mps/code/mpstd.h
+++ b/mps/code/mpstd.h
@@ -127,6 +127,7 @@
127#define MPS_WORD_SHIFT 5 127#define MPS_WORD_SHIFT 5
128#define MPS_PF_ALIGN 4 /* I'm just guessing. */ 128#define MPS_PF_ALIGN 4 /* I'm just guessing. */
129 129
130
130/* Apple clang version 3.1, clang -E -dM */ 131/* Apple clang version 3.1, clang -E -dM */
131 132
132#elif defined(__APPLE__) && defined(__i386__) && defined(__MACH__) \ 133#elif defined(__APPLE__) && defined(__i386__) && defined(__MACH__) \
@@ -145,6 +146,7 @@
145#define MPS_WORD_SHIFT 5 146#define MPS_WORD_SHIFT 5
146#define MPS_PF_ALIGN 4 /* I'm just guessing. */ 147#define MPS_PF_ALIGN 4 /* I'm just guessing. */
147 148
149
148/* Apple clang version 3.1, clang -E -dM */ 150/* Apple clang version 3.1, clang -E -dM */
149 151
150#elif defined(__APPLE__) && defined(__x86_64__) && defined(__MACH__) \ 152#elif defined(__APPLE__) && defined(__x86_64__) && defined(__MACH__) \
@@ -163,6 +165,7 @@
163#define MPS_WORD_SHIFT 6 165#define MPS_WORD_SHIFT 6
164#define MPS_PF_ALIGN 8 166#define MPS_PF_ALIGN 8
165 167
168
166/* GCC 2.6.3, gcc -E -dM 169/* GCC 2.6.3, gcc -E -dM
167 * The actual granularity of GNU malloc is 8, but field alignments are 170 * The actual granularity of GNU malloc is 8, but field alignments are
168 * all 4. 171 * all 4.
@@ -183,6 +186,13 @@
183#define MPS_WORD_SHIFT 5 186#define MPS_WORD_SHIFT 5
184#define MPS_PF_ALIGN 4 187#define MPS_PF_ALIGN 4
185 188
189#ifndef _REENTRANT /* it's also defined by cc -pthread */
190#define _REENTRANT /* defines, e.g., pthread_mutexattr_settype */
191#endif
192#define _XOPEN_SOURCE 500 /* to get POSIX signal handling */
193#define _GNU_SOURCE /* to get register numbers for prmci3li.c */
194
195
186/* GCC 4.6.3, gcc -E -dM */ 196/* GCC 4.6.3, gcc -E -dM */
187 197
188#elif defined(__linux__) && defined(__x86_64) && defined(__GNUC__) 198#elif defined(__linux__) && defined(__x86_64) && defined(__GNUC__)
@@ -200,22 +210,12 @@
200#define MPS_WORD_SHIFT 6 210#define MPS_WORD_SHIFT 6
201#define MPS_PF_ALIGN 8 211#define MPS_PF_ALIGN 8
202 212
203/* GCC 2.7.2, gcc -E -dM */ 213#ifndef _REENTRANT /* it's also defined by cc -pthread */
204 214#define _REENTRANT /* defines, e.g., pthread_mutexattr_settype */
205#elif defined(__linux__) && defined(__PPC__) && defined(__GNUC__)
206#if defined(CONFIG_PF_STRING) && ! defined(CONFIG_PF_LIPPGC)
207#error "specified CONFIG_PF_... inconsistent with detected lippgc"
208#endif 215#endif
209#define MPS_PF_LIPPGC 216#define _XOPEN_SOURCE 500 /* to get POSIX signal handling */
210#define MPS_PF_STRING "lippgc" 217#define _GNU_SOURCE /* to get register numbers for prmci3li.c */
211#define MPS_OS_LI 218
212#define MPS_ARCH_PP
213#define MPS_BUILD_GC
214#define MPS_T_WORD unsigned long
215#define MPS_T_ULONGEST unsigned long
216#define MPS_WORD_WIDTH 32
217#define MPS_WORD_SHIFT 5
218#define MPS_PF_ALIGN 8 /* @@@@ not tested */
219 219
220/* GCC 2.95.3, gcc -E -dM */ 220/* GCC 2.95.3, gcc -E -dM */
221 221
@@ -234,6 +234,7 @@
234#define MPS_WORD_SHIFT 5 234#define MPS_WORD_SHIFT 5
235#define MPS_PF_ALIGN 4 235#define MPS_PF_ALIGN 4
236 236
237
237#elif defined(__FreeBSD__) && defined (__x86_64__) && defined (__GNUC__) 238#elif defined(__FreeBSD__) && defined (__x86_64__) && defined (__GNUC__)
238#if defined(CONFIG_PF_STRING) && ! defined(CONFIG_PF_FRI6GC) 239#if defined(CONFIG_PF_STRING) && ! defined(CONFIG_PF_FRI6GC)
239#error "specified CONFIG_PF_... inconsistent with detected fri6gc" 240#error "specified CONFIG_PF_... inconsistent with detected fri6gc"
@@ -249,6 +250,7 @@
249#define MPS_WORD_SHIFT 6 250#define MPS_WORD_SHIFT 6
250#define MPS_PF_ALIGN 8 251#define MPS_PF_ALIGN 8
251 252
253
252#else 254#else
253#error "Unable to detect target platform" 255#error "Unable to detect target platform"
254#endif 256#endif