diff --git a/configure.ac b/configure.ac index 1338540c6..374b4297a 100644 --- a/configure.ac +++ b/configure.ac @@ -1346,7 +1346,7 @@ CFLAGS="$BDW_GC_CFLAGS $CFLAGS" AC_CHECK_FUNCS([GC_pthread_exit GC_pthread_cancel GC_pthread_sigmask]) # Functions from GC 7.3. -AC_CHECK_FUNCS([GC_move_disappearing_link]) +AC_CHECK_FUNCS([GC_move_disappearing_link GC_is_heap_ptr]) LIBS="$save_LIBS" diff --git a/libguile/pairs.h b/libguile/pairs.h index 08d6ad92c..121a76518 100644 --- a/libguile/pairs.h +++ b/libguile/pairs.h @@ -177,6 +177,14 @@ scm_cdr (SCM x) #endif #ifdef BUILDING_LIBGUILE +#ifndef HAVE_GC_IS_HEAP_PTR +static int +GC_is_heap_ptr (void *ptr) +{ + return GC_base (ptr) != NULL; +} +#endif + static inline int scm_is_mutable_pair (SCM x) {