Export DIRECTORY_SEP, TYPEMASK, VALMASK to GDB.
authorPaul Eggert <eggert@cs.ucla.edu>
Mon, 30 Jul 2012 18:44:51 +0000 (11:44 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Mon, 30 Jul 2012 18:44:51 +0000 (11:44 -0700)
* alloc.c (gdb_make_enums_visible) [USE_LSB_TAG]: Add lsb_bits.
* lisp.h (enum lsb_bits) [USE_LSB_TAG]: New enum, for
gdb_make_enums_visible.
(TYPEMASK, VALMASK) [USE_LSB_TAGS]: Now enum constants, not macros.
(DIRECTORY_SEP): Now a constant, not a macro.

src/ChangeLog
src/alloc.c
src/lisp.h

index be60f3d..7aa4982 100644 (file)
@@ -1,3 +1,12 @@
+2012-07-30  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Export DIRECTORY_SEP, TYPEMASK, VALMASK to GDB.
+       * alloc.c (gdb_make_enums_visible) [USE_LSB_TAG]: Add lsb_bits.
+       * lisp.h (enum lsb_bits) [USE_LSB_TAG]: New enum, for
+       gdb_make_enums_visible.
+       (TYPEMASK, VALMASK) [USE_LSB_TAGS]: Now enum constants, not macros.
+       (DIRECTORY_SEP): Now a constant, not a macro.
+
 2012-07-30  Eli Zaretskii  <eliz@gnu.org>
 
        * w32fns.c (w32_wnd_proc): Pass w32_keyboard_codepage to
index c5ed198..4227b16 100644 (file)
@@ -6882,4 +6882,7 @@ union
   enum MAX_ALLOCA MAX_ALLOCA;
   enum More_Lisp_Bits More_Lisp_Bits;
   enum pvec_type pvec_type;
+#if USE_LSB_TAG
+  enum lsb_bits lsb_bits;
+#endif
 } const EXTERNALLY_VISIBLE gdb_make_enums_visible = {0};
index 1b88a51..2690ab9 100644 (file)
@@ -398,8 +398,11 @@ enum More_Lisp_Bits
 
 #if USE_LSB_TAG
 
-static int const VALMASK = -1 << GCTYPEBITS;
-#define TYPEMASK ((1 << GCTYPEBITS) - 1)
+enum lsb_bits
+  {
+    TYPEMASK = (1 << GCTYPEBITS) - 1,
+    VALMASK = ~ TYPEMASK
+  };
 #define XTYPE(a) ((enum Lisp_Type) (XLI (a) & TYPEMASK))
 #define XINT(a) (XLI (a) >> INTTYPEBITS)
 #define XUINT(a) ((EMACS_UINT) XLI (a) >> INTTYPEBITS)
@@ -3301,7 +3304,7 @@ extern void init_system_name (void);
    in addition to a device separator.  Set the path separator
    to '/', and don't test for a device separator in IS_ANY_SEP.  */
 
-#define DIRECTORY_SEP '/'
+static char const DIRECTORY_SEP = '/';
 #ifndef IS_DIRECTORY_SEP
 #define IS_DIRECTORY_SEP(_c_) ((_c_) == DIRECTORY_SEP)
 #endif