Mercurial > emacs
comparison src/lisp.h @ 58575:d6700fc5f1d6
(DECL_ALIGN): Define non-trivially only if NO_DECL_ALIGN is not defined.
author | Eli Zaretskii <eliz@gnu.org> |
---|---|
date | Sat, 27 Nov 2004 12:24:40 +0000 |
parents | 9d980e1ac633 |
children | 55d668830eed |
comparison
equal
deleted
inserted
replaced
58574:b7bee1a14f1e | 58575:d6700fc5f1d6 |
---|---|
302 as the two special buffers buffer_defaults and buffer_local_symbols. */ | 302 as the two special buffers buffer_defaults and buffer_local_symbols. */ |
303 | 303 |
304 /* First, try and define DECL_ALIGN(type,var) which declares a static | 304 /* First, try and define DECL_ALIGN(type,var) which declares a static |
305 variable VAR of type TYPE with the added requirement that it be | 305 variable VAR of type TYPE with the added requirement that it be |
306 TYPEBITS-aligned. */ | 306 TYPEBITS-aligned. */ |
307 #ifndef DECL_ALIGN | 307 #ifndef NO_DECL_ALIGN |
308 # ifndef DECL_ALIGN | |
308 /* What compiler directive should we use for non-gcc compilers? -stef */ | 309 /* What compiler directive should we use for non-gcc compilers? -stef */ |
309 # if defined (__GNUC__) | 310 # if defined (__GNUC__) |
310 # define DECL_ALIGN(type, var) \ | 311 # define DECL_ALIGN(type, var) \ |
311 type __attribute__ ((__aligned__ (1 << GCTYPEBITS))) var | 312 type __attribute__ ((__aligned__ (1 << GCTYPEBITS))) var |
313 # endif | |
312 # endif | 314 # endif |
313 #endif | 315 #endif |
314 | 316 |
315 /* Let's USE_LSB_TAG on systems where we know malloc returns mult-of-8. */ | 317 /* Let's USE_LSB_TAG on systems where we know malloc returns mult-of-8. */ |
316 #if defined GNU_MALLOC || defined DOUG_LEA_MALLOC || defined __GLIBC__ || defined MAC_OSX | 318 #if defined GNU_MALLOC || defined DOUG_LEA_MALLOC || defined __GLIBC__ || defined MAC_OSX |
321 # define USE_LSB_TAG | 323 # define USE_LSB_TAG |
322 # endif | 324 # endif |
323 # endif | 325 # endif |
324 #endif | 326 #endif |
325 | 327 |
326 /* Just remove the alignment annotation if we don't use it. */ | 328 /* If we cannot use 8-byte alignment, make DECL_ALIGN a no-op. */ |
327 #ifndef DECL_ALIGN | 329 #ifndef DECL_ALIGN |
328 # ifdef USE_LSB_TAG | 330 # ifdef USE_LSB_TAG |
329 # error "USE_LSB_TAG used without defining DECL_ALIGN" | 331 # error "USE_LSB_TAG used without defining DECL_ALIGN" |
330 # endif | 332 # endif |
331 # define DECL_ALIGN(type, var) type var | 333 # define DECL_ALIGN(type, var) type var |