USE_LISP_UNION_TYPE + USE_LSB_TAG cleanup (Bug#11604)
commitbfe3e0a23e66d16bfcaae6890bdd764dec0525f2
authorPaul Eggert <eggert@cs.ucla.edu>
Wed, 13 Jun 2012 00:26:40 +0000 (12 17:26 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Wed, 13 Jun 2012 00:26:40 +0000 (12 17:26 -0700)
tree77a2c28772dffde4a5f0c8fc55d81701c29f11bb
parent1cce69208a638b9ce789e4c21df55b2315efd97c
USE_LISP_UNION_TYPE + USE_LSB_TAG cleanup (Bug#11604)

* alloc.c (make_number) [!defined make_number]:
Remove, as lisp.h always defines this now.
(mark_maybe_pointer): Simplify since USE_LSB_TAG is always defined now.
(roundup_size): Verify that it is a power of 2.
* data.c (Fmake_variable_buffer_local, Fmake_local_variable):
* ftfont.c (ftfont_driver): Use LISP_INITIALLY_ZERO.
* lisp.h (USE_LSB_TAG): Allow the builder to compile with
-DUSE_LSB_TAG=0, to override the automatically-selected default.
USE_LSB_TAG now is always defined to be either 0 or 1.
All uses changed.
(union Lisp_Object): Don't worry about WORDS_BIGENDIAN; the
code works fine either way, and efficiency is not a concern here,
as the union type is for debugging, not for production.
(LISP_MAKE_RVALUE, make_number) [USE_LISP_UNION_TYPE]:
Use an inline function on all platforms when using the union type,
since this is simpler and 'static inline' can be used portably
within Emacs now.
(LISP_INITIALLY_ZERO): New macro.
(XFASTINT, XSETFASTINT) [USE_LISP_UNION_TYPE]: Remove.
(XSET) [USE_LISP_UNION_TYPE]: Don't overparenthesize.
src/ChangeLog
src/alloc.c
src/data.c
src/emacs.c
src/ftfont.c
src/lisp.h
src/mem-limits.h
src/w32heap.c
src/xfont.c