diff options
author | Andy Wingo <wingo@pobox.com> | 2018-06-20 11:17:13 +0200 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2018-06-20 11:17:13 +0200 |
commit | d340a9709cf245cf3f12b213734f567c361d03e8 (patch) | |
tree | 24a13b60ac045b7399de872f9b964acaf7e47da2 /libguile/strings.h | |
parent | 3c48c8778466ba99acd167686a3793253b2806ef (diff) | |
download | guile-d340a9709cf245cf3f12b213734f567c361d03e8.tar.gz |
Shuffle around inline C function implementation
* libguile/__scm.h:
* libguile/inline.h (SCM_C_EXTERN_INLINE, SCM_CAN_INLINE, SCM_INLINE)
(SCM_INLINE_IMPLEMENTATION): Move definitions here, from __scm.h.
* libguile/strings.h (scm_is_string): Move implementation here, from
inline.h.
* libguile/inline.c: Add strings.h include.
* libguile/_scm.h: Remove inline.h include.
* libguile/array-handle.h:
* libguile/gc.h:
* libguile/pairs.h:
* libguile/smob.h: Add inline.h includes.
Diffstat (limited to 'libguile/strings.h')
-rw-r--r-- | libguile/strings.h | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/libguile/strings.h b/libguile/strings.h index 1a8fbb631..5a1d4592f 100644 --- a/libguile/strings.h +++ b/libguile/strings.h @@ -26,6 +26,7 @@ #include "libguile/__scm.h" #include <libguile/error.h> +#include "libguile/inline.h" #include <libguile/snarf.h> @@ -106,6 +107,7 @@ SCM_INTERNAL SCM scm_nullstr; SCM_INTERNAL scm_t_string_failed_conversion_handler scm_i_default_string_failed_conversion_handler (void); +SCM_INLINE int scm_is_string (SCM x); SCM_API SCM scm_string_p (SCM x); SCM_API SCM scm_string (SCM chrs); SCM_API SCM scm_make_string (SCM k, SCM chr); @@ -284,6 +286,20 @@ SCM_API SCM scm_sys_stringbuf_hist (void); +#if SCM_CAN_INLINE || defined SCM_INLINE_C_IMPLEMENTING_INLINES +/* Either inlining, or being included from inline.c. */ + +SCM_INLINE_IMPLEMENTATION int +scm_is_string (SCM x) +{ + return SCM_HAS_TYP7 (x, scm_tc7_string); +} + +#endif + + + + #define SCM_VALIDATE_STRING(pos, str) \ do { \ SCM_ASSERT_TYPE (scm_is_string (str), str, pos, FUNC_NAME, "string"); \ |