+2011-05-10 Ivan Maidanski <ivmai@mail.ru>
+
+ * include/gc.h (GC_HIDE_POINTER, GC_REVEAL_POINTER): Define
+ unconditionally (do not test GC_I_HIDE_POINTERS); update the
+ comment.
+ * include/gc.h (HIDE_POINTER, REVEAL_POINTER): Define as alias to
+ GC_HIDE/REVEAL_POINTER, respectively.
+ * include/private/gc_pmark.h (GC_I_HIDE_POINTERS): Do not define.
+ * include/private/gc_priv.h (GC_I_HIDE_POINTERS): Ditto.
+
2011-05-10 Ivan Maidanski <ivmai@mail.ru>
* include/gc.h (GC_register_my_thread): Refine the comment.
/* Note that putting pointers in atomic objects or in */
/* non-pointer slots of "typed" objects is equivalent to */
/* disguising them in this way, and may have other advantages. */
-#if defined(I_HIDE_POINTERS) || defined(GC_I_HIDE_POINTERS)
- typedef GC_word GC_hidden_pointer;
-# define HIDE_POINTER(p) (~(GC_hidden_pointer)(p))
-# define REVEAL_POINTER(p) ((void *)HIDE_POINTER(p))
- /* Converting a hidden pointer to a real pointer requires verifying */
- /* that the object still exists. This involves acquiring the */
- /* allocator lock to avoid a race with the collector. */
-#endif /* I_HIDE_POINTERS */
-
-/* The GC-prefixed symbols are preferred for new code (I_HIDE_POINTERS, */
-/* HIDE_POINTER and REVEAL_POINTER remain for compatibility). */
-#ifdef GC_I_HIDE_POINTERS
-# define GC_HIDE_POINTER(p) HIDE_POINTER(p)
-# define GC_REVEAL_POINTER(p) REVEAL_POINTER(p)
+typedef GC_word GC_hidden_pointer;
+#define GC_HIDE_POINTER(p) (~(GC_hidden_pointer)(p))
+/* Converting a hidden pointer to a real pointer requires verifying */
+/* that the object still exists. This involves acquiring the */
+/* allocator lock to avoid a race with the collector. */
+#define GC_REVEAL_POINTER(p) ((void *)GC_HIDE_POINTER(p))
+
+#ifdef I_HIDE_POINTERS
+ /* This exists only for compatibility (the GC-prefixed symbols are */
+ /* preferred for new code). */
+# define HIDE_POINTER(p) GC_HIDE_POINTER(p)
+# define REVEAL_POINTER(p) GC_REVEAL_POINTER(p)
#endif
typedef void * (GC_CALLBACK * GC_fn_type)(void * /* client_data */);