* dbg_mlc.c [GC_ADD_CALLER]: Replace defined(GC_RETURN_ADDR_PARENT)
with defined(GC_HAVE_RETURN_ADDR_PARENT).
* include/private/gc_priv.h (GC_DBG_EXTRAS): Likewise.
* include/gc_config_macros.h [GC_RETURN_ADDR_PARENT]
(GC_HAVE_RETURN_ADDR_PARENT): New macro.
}
#ifdef GC_ADD_CALLER
-# if defined(HAVE_DLADDR) && defined(GC_RETURN_ADDR_PARENT)
+# if defined(HAVE_DLADDR) && defined(GC_HAVE_RETURN_ADDR_PARENT)
# include <dlfcn.h>
STATIC void GC_caller_func_offset(word ad, const char **symp, int *offp)
# define GC_RETURN_ADDR (GC_word)__builtin_return_address(0)
# if (__GNUC__ >= 4) && (defined(__i386__) || defined(__amd64__) \
|| defined(__x86_64__) /* and probably others... */)
+# define GC_HAVE_RETURN_ADDR_PARENT
# define GC_RETURN_ADDR_PARENT \
(GC_word)__builtin_extract_return_addr(__builtin_return_address(1))
# endif
/* GC_DBG_EXTRAS is used by GC debug API functions (unlike GC_EXTRAS */
/* used by GC debug API macros) thus GC_RETURN_ADDR_PARENT (pointing */
/* to client caller) should be used if possible. */
-# ifdef GC_RETURN_ADDR_PARENT
+# ifdef GC_HAVE_RETURN_ADDR_PARENT
# define GC_DBG_EXTRAS GC_RETURN_ADDR_PARENT, NULL, 0
# else
# define GC_DBG_EXTRAS GC_RETURN_ADDR, NULL, 0