cpp hygiene in the vm
authorAndy Wingo <wingo@pobox.com>
Thu, 17 May 2012 16:35:05 +0000 (18:35 +0200)
committerAndy Wingo <wingo@pobox.com>
Mon, 27 May 2013 05:14:26 +0000 (07:14 +0200)
* libguile/vm-engine.c:
* libguile/vm-i-scheme.c:
* libguile/vm-i-system.c: CPP hygiene: the code that #defines, #undefs.
  Makes things cleaner given the multiple inclusion dance we do.

libguile/vm-engine.c
libguile/vm-i-scheme.c
libguile/vm-i-system.c

index 1cd623d..4454632 100644 (file)
@@ -433,8 +433,34 @@ VM_NAME (SCM vm, SCM program, SCM *argv, int nargs)
   abort (); /* never reached */
 }
 
+#undef ALIGNED_P
+#undef CACHE_REGISTER
+#undef CHECK_OVERFLOW
+#undef FREE_VARIABLE_REF
+#undef FUNC2
+#undef INIT
+#undef INUM_MAX
+#undef INUM_MIN
+#undef jump_table
+#undef LOCAL_REF
+#undef LOCAL_SET
+#undef NEXT
+#undef NEXT_JUMP
+#undef REL
+#undef RETURN
+#undef RETURN_ONE_VALUE
+#undef RETURN_VALUE_LIST
 #undef RUN_HOOK
 #undef RUN_HOOK1
+#undef SYNC_ALL
+#undef SYNC_BEFORE_GC
+#undef SYNC_IP
+#undef SYNC_REGISTER
+#undef VARIABLE_BOUNDP
+#undef VARIABLE_REF
+#undef VARIABLE_SET
+#undef VM_DEFINE_OP
+#undef VM_INSTRUCTION_TO_LABEL
 #undef VM_USE_HOOKS
 
 /*
index c12c42b..ef3d02b 100644 (file)
@@ -176,7 +176,6 @@ VM_DEFINE_INSTRUCTION (146, set_cdr, "set-cdr!", 0, 2, 0)
  * Numeric relational tests
  */
 
-#undef REL
 #define REL(crel,srel)                                                  \
   {                                                                     \
     ARGS2 (x, y);                                                       \
@@ -212,18 +211,17 @@ VM_DEFINE_FUNCTION (151, ge, "ge?", 2)
   REL (>=, scm_geq_p);
 }
 
+#undef REL
+
 \f
 /*
  * Numeric functions
  */
 
 /* The maximum/minimum tagged integers.  */
-#undef INUM_MAX
-#undef INUM_MIN
 #define INUM_MAX (INTPTR_MAX - 1)
 #define INUM_MIN (INTPTR_MIN + scm_tc2_int)
 
-#undef FUNC2
 #define FUNC2(CFUNC,SFUNC)                             \
 {                                                      \
   ARGS2 (x, y);                                                \
@@ -357,8 +355,11 @@ VM_DEFINE_FUNCTION (155, sub1, "sub1", 1)
   RETURN (scm_difference (x, SCM_I_MAKINUM (1)));
 }
 
-# undef ASM_ADD
-# undef ASM_SUB
+#undef ASM_ADD
+#undef ASM_SUB
+#undef FUNC2
+#undef INUM_MAX
+#undef INUM_MIN
 
 VM_DEFINE_FUNCTION (156, mul, "mul", 2)
 {
@@ -992,6 +993,17 @@ BV_FLOAT_SET (f64, ieee_double, double, 8)
 #undef BV_INT_SET
 #undef BV_FLOAT_SET
 
+#undef ALIGNED_P
+#undef VM_VALIDATE_BYTEVECTOR
+
+#undef VM_VALIDATE_STRUCT
+#undef VM_VALIDATE_CONS
+
+#undef ARGS1
+#undef ARGS2
+#undef ARGS3
+#undef RETURN
+
 /*
 (defun renumber-ops ()
   "start from top of buffer and renumber 'VM_DEFINE_FOO (\n' sequences"
index f649822..9b24c92 100644 (file)
@@ -538,6 +538,9 @@ VM_DEFINE_INSTRUCTION (42, br_if_not_nil, "br-if-not-nil", 3, 0, 0)
   POP (x);
   BR (!scm_is_lisp_false (x));
 }
+
+#undef BR
+
 \f
 /*
  * Subprogram call