simplify inline function infrastructure
authorAndy Wingo <wingo@pobox.com>
Thu, 26 May 2011 13:53:02 +0000 (15:53 +0200)
committerAndy Wingo <wingo@pobox.com>
Thu, 26 May 2011 15:10:01 +0000 (17:10 +0200)
commit4cf77f094671559f7f120c7d14e4e3d0982148b1
treea8ca745a381ee6840272f056e0d242e1bfd467d9
parentebc16e6a762748fc5939903a8b3a367d422f1371
simplify inline function infrastructure

* libguile/__scm.h (SCM_C_EXTERN_INLINE): Move this definition here,
  from inline.h.  We'd like to support inline function definitions in
  more header files: not just inline.h.
  (SCM_CAN_INLINE, SCM_INLINE, SCM_INLINE_IMPLEMENTATION): New
  definitions.

* libguile/gc.h (SCM_GC_MALLOC, SCM_GC_MALLOC_POINTERLESS): Define these
  wrappers, which redirect to the GC_MALLOC macros when building Guile,
  and the scm_gc_malloc functions otherwise.  A step towards getting
  BDW-GC out of Guile's API.

* libguile/inline.h: Simplify, using SCM_INLINE,
  SCM_INLINE_IMPLEMENTATION, and SCM_IMPLEMENT_INLINES.  Also use the
  new SCM_GC_MALLOC macros.
libguile/__scm.h
libguile/gc.h
libguile/inline.c
libguile/inline.h