* configure.ac (DEBUGGER_SEES_C_MACROS): New macro.
authorPaul Eggert <eggert@cs.ucla.edu>
Fri, 15 Nov 2013 01:59:57 +0000 (17:59 -0800)
committerPaul Eggert <eggert@cs.ucla.edu>
Fri, 15 Nov 2013 01:59:57 +0000 (17:59 -0800)
* src/lisp.h (DEFINE_GDB_SYMBOL_BEGIN, DEFINE_GDB_SYMBOL_END):
Define to empty if DEBUGGER_SEES_C_MACROS is defined.
This avoids placing unnecessary constants into the Emacs code.

ChangeLog
configure.ac
src/ChangeLog
src/lisp.h

index 95c10ec..506fa04 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2013-11-15  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * configure.ac (DEBUGGER_SEES_C_MACROS): New macro.
+
 2013-11-14  Paul Eggert  <eggert@cs.ucla.edu>
 
        Simplify, port and tune bool vector implementation.
index a9baf60..9c66a7d 100644 (file)
@@ -697,6 +697,16 @@ if test "$ac_test_CFLAGS" != set; then
   esac
 fi
 
+for flag in $CFLAGS -; do
+  case $flag in
+    -g*3)
+      AC_DEFINE([DEBUGGER_SEES_C_MACROS], 1,
+        [Define to 1 if C macros are visible to the debugger, as with
+        GCC's -g3 option.])
+      break;;
+  esac
+done
+
 AC_ARG_ENABLE([gcc-warnings],
   [AS_HELP_STRING([--enable-gcc-warnings],
                   [turn on lots of GCC warnings/errors. This is intended for
index fb262a6..8131c7b 100644 (file)
@@ -1,3 +1,9 @@
+2013-11-15  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * lisp.h (DEFINE_GDB_SYMBOL_BEGIN, DEFINE_GDB_SYMBOL_END):
+       Define to empty if DEBUGGER_SEES_C_MACROS is defined.
+       This avoids placing unnecessary constants into the Emacs code.
+
 2013-11-14  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>  (tiny change)
 
        * keyboard.c (make_ctrl_char) [HAVE_NTGUI]: Now externally visible
index 72e5dad..3eb31ac 100644 (file)
@@ -45,7 +45,7 @@ INLINE_HEADER_BEGIN
    definitions visible to the debugger.  It's used for symbols that
    .gdbinit needs, symbols whose values may not fit in 'int' (where an
    enum would suffice).  */
-#ifdef MAIN_PROGRAM
+#if defined MAIN_PROGRAM && !defined DEBUGGER_SEES_C_MACROS
 # define DEFINE_GDB_SYMBOL_BEGIN(type, id) type const id EXTERNALLY_VISIBLE
 # define DEFINE_GDB_SYMBOL_END(id) = id;
 #else