[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Guile-commits] 53/86: Devolve smob snarfers
From: |
Andy Wingo |
Subject: |
[Guile-commits] 53/86: Devolve smob snarfers |
Date: |
Wed, 20 Jun 2018 14:09:38 -0400 (EDT) |
wingo pushed a commit to branch master
in repository guile.
commit ad4fbebe85601de4f06eec88899972077a8ceebf
Author: Andy Wingo <address@hidden>
Date: Wed Jun 20 09:35:58 2018 +0200
Devolve smob snarfers
* libguile/snarf.h:
* libguile/smob.h (SCM_SMOB, SCM_GLOBAL_SMOB)
(SCM_SMOB_MARK, SCM_GLOBAL_SMOB_MARK)
(SCM_SMOB_FREE, SCM_GLOBAL_SMOB_FREE)
(SCM_SMOB_PRINT, SCM_GLOBAL_SMOB_PRINT)
(SCM_SMOB_EQUALP, SCM_GLOBAL_SMOB_EQUALP)
(SCM_SMOB_APPLY, SCM_GLOBAL_SMOB_APPLY): Move these definitions here.
---
libguile/smob.h | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
libguile/snarf.h | 48 ------------------------------------------------
2 files changed, 52 insertions(+), 48 deletions(-)
diff --git a/libguile/smob.h b/libguile/smob.h
index 5cbc600..410abcb 100644
--- a/libguile/smob.h
+++ b/libguile/smob.h
@@ -28,6 +28,7 @@
#include <libguile/error.h>
#include <libguile/gc.h>
#include "libguile/print.h"
+#include <libguile/snarf.h>
@@ -71,6 +72,57 @@ SCM_API scm_smob_descriptor scm_smobs[];
+#define SCM_SMOB(tag, scheme_name, size) \
+SCM_SNARF_HERE(static scm_t_bits tag) \
+SCM_SNARF_INIT((tag)=scm_make_smob_type((scheme_name), (size));)
+
+#define SCM_GLOBAL_SMOB(tag, scheme_name, size) \
+SCM_SNARF_HERE(scm_t_bits tag) \
+SCM_SNARF_INIT((tag)=scm_make_smob_type((scheme_name), (size));)
+
+#define SCM_SMOB_MARK(tag, c_name, arg) \
+SCM_SNARF_HERE(static SCM c_name(SCM arg)) \
+SCM_SNARF_INIT(scm_set_smob_mark((tag), (c_name));)
+
+#define SCM_GLOBAL_SMOB_MARK(tag, c_name, arg) \
+SCM_SNARF_HERE(SCM c_name(SCM arg)) \
+SCM_SNARF_INIT(scm_set_smob_mark((tag), (c_name));)
+
+#define SCM_SMOB_FREE(tag, c_name, arg) \
+SCM_SNARF_HERE(static size_t c_name(SCM arg)) \
+SCM_SNARF_INIT(scm_set_smob_free((tag), (c_name));)
+
+#define SCM_GLOBAL_SMOB_FREE(tag, c_name, arg) \
+SCM_SNARF_HERE(size_t c_name(SCM arg)) \
+SCM_SNARF_INIT(scm_set_smob_free((tag), (c_name));)
+
+#define SCM_SMOB_PRINT(tag, c_name, obj, port, pstate) \
+SCM_SNARF_HERE(static int c_name(SCM obj, SCM port, scm_print_state* pstate)) \
+SCM_SNARF_INIT(scm_set_smob_print((tag), (c_name));)
+
+#define SCM_GLOBAL_SMOB_PRINT(tag, c_name, obj, port, pstate) \
+SCM_SNARF_HERE(int c_name(SCM obj, SCM port, scm_print_state* pstate)) \
+SCM_SNARF_INIT(scm_set_smob_print((tag), (c_name));)
+
+#define SCM_SMOB_EQUALP(tag, c_name, obj1, obj2) \
+SCM_SNARF_HERE(static SCM c_name(SCM obj1, SCM obj2)) \
+SCM_SNARF_INIT(scm_set_smob_equalp((tag), (c_name));)
+
+#define SCM_GLOBAL_SMOB_EQUALP(tag, c_name, obj1, obj2) \
+SCM_SNARF_HERE(SCM c_name(SCM obj1, SCM obj2)) \
+SCM_SNARF_INIT(scm_set_smob_equalp((tag), (c_name));)
+
+#define SCM_SMOB_APPLY(tag, c_name, req, opt, rest, arglist) \
+SCM_SNARF_HERE(static SCM c_name arglist) \
+SCM_SNARF_INIT(scm_set_smob_apply((tag), (c_name), (req), (opt), (rest));)
+
+#define SCM_GLOBAL_SMOB_APPLY(tag, c_name, req, opt, rest, arglist) \
+SCM_SNARF_HERE(SCM c_name arglist) \
+SCM_SNARF_INIT(scm_set_smob_apply((tag), (c_name), (req), (opt), (rest));)
+
+
+
+
SCM_API SCM scm_i_new_smob (scm_t_bits tc, scm_t_bits);
SCM_API SCM scm_i_new_double_smob (scm_t_bits tc, scm_t_bits,
scm_t_bits, scm_t_bits);
diff --git a/libguile/snarf.h b/libguile/snarf.h
index 5aa4f1d..3090148 100644
--- a/libguile/snarf.h
+++ b/libguile/snarf.h
@@ -85,54 +85,6 @@ DOCSTRING ^^ }
# endif
#endif
-#define SCM_SMOB(tag, scheme_name, size) \
-SCM_SNARF_HERE(static scm_t_bits tag) \
-SCM_SNARF_INIT((tag)=scm_make_smob_type((scheme_name), (size));)
-
-#define SCM_GLOBAL_SMOB(tag, scheme_name, size) \
-SCM_SNARF_HERE(scm_t_bits tag) \
-SCM_SNARF_INIT((tag)=scm_make_smob_type((scheme_name), (size));)
-
-#define SCM_SMOB_MARK(tag, c_name, arg) \
-SCM_SNARF_HERE(static SCM c_name(SCM arg)) \
-SCM_SNARF_INIT(scm_set_smob_mark((tag), (c_name));)
-
-#define SCM_GLOBAL_SMOB_MARK(tag, c_name, arg) \
-SCM_SNARF_HERE(SCM c_name(SCM arg)) \
-SCM_SNARF_INIT(scm_set_smob_mark((tag), (c_name));)
-
-#define SCM_SMOB_FREE(tag, c_name, arg) \
-SCM_SNARF_HERE(static size_t c_name(SCM arg)) \
-SCM_SNARF_INIT(scm_set_smob_free((tag), (c_name));)
-
-#define SCM_GLOBAL_SMOB_FREE(tag, c_name, arg) \
-SCM_SNARF_HERE(size_t c_name(SCM arg)) \
-SCM_SNARF_INIT(scm_set_smob_free((tag), (c_name));)
-
-#define SCM_SMOB_PRINT(tag, c_name, obj, port, pstate) \
-SCM_SNARF_HERE(static int c_name(SCM obj, SCM port, scm_print_state* pstate)) \
-SCM_SNARF_INIT(scm_set_smob_print((tag), (c_name));)
-
-#define SCM_GLOBAL_SMOB_PRINT(tag, c_name, obj, port, pstate) \
-SCM_SNARF_HERE(int c_name(SCM obj, SCM port, scm_print_state* pstate)) \
-SCM_SNARF_INIT(scm_set_smob_print((tag), (c_name));)
-
-#define SCM_SMOB_EQUALP(tag, c_name, obj1, obj2) \
-SCM_SNARF_HERE(static SCM c_name(SCM obj1, SCM obj2)) \
-SCM_SNARF_INIT(scm_set_smob_equalp((tag), (c_name));)
-
-#define SCM_GLOBAL_SMOB_EQUALP(tag, c_name, obj1, obj2) \
-SCM_SNARF_HERE(SCM c_name(SCM obj1, SCM obj2)) \
-SCM_SNARF_INIT(scm_set_smob_equalp((tag), (c_name));)
-
-#define SCM_SMOB_APPLY(tag, c_name, req, opt, rest, arglist) \
-SCM_SNARF_HERE(static SCM c_name arglist) \
-SCM_SNARF_INIT(scm_set_smob_apply((tag), (c_name), (req), (opt), (rest));)
-
-#define SCM_GLOBAL_SMOB_APPLY(tag, c_name, req, opt, rest, arglist) \
-SCM_SNARF_HERE(SCM c_name arglist) \
-SCM_SNARF_INIT(scm_set_smob_apply((tag), (c_name), (req), (opt), (rest));)
-
/* Low-level snarfing for static memory allocation. */
- [Guile-commits] 50/86: Devolve keyword-snarfing macros, (continued)
- [Guile-commits] 50/86: Devolve keyword-snarfing macros, Andy Wingo, 2018/06/20
- [Guile-commits] 49/86: Move string-related snarfers to strings.h, Andy Wingo, 2018/06/20
- [Guile-commits] 25/86: Remove list.h from _scm.h, Andy Wingo, 2018/06/20
- [Guile-commits] 26/86: Devolve boolean.h include., Andy Wingo, 2018/06/20
- [Guile-commits] 39/86: Remove <stdio.h> from ports.h, Andy Wingo, 2018/06/20
- [Guile-commits] 55/86: Remove snarf.h from _scm.h, Andy Wingo, 2018/06/20
- [Guile-commits] 52/86: Remove mutex snarfers, Andy Wingo, 2018/06/20
- [Guile-commits] 58/86: Define scm_t_wchar in one place, Andy Wingo, 2018/06/20
- [Guile-commits] 54/86: Simplify SCM_IMMUTABLE_CELL macros, Andy Wingo, 2018/06/20
- [Guile-commits] 27/86: Devolve pairs.h, Andy Wingo, 2018/06/20
- [Guile-commits] 53/86: Devolve smob snarfers,
Andy Wingo <=
- [Guile-commits] 57/86: Shuffle around inline C function implementation, Andy Wingo, 2018/06/20
- [Guile-commits] 62/86: Devolve foreign.h from _scm.h, Andy Wingo, 2018/06/20
- [Guile-commits] 63/86: Devolve programs.h from _scm.h., Andy Wingo, 2018/06/20
- [Guile-commits] 22/86: Devolve more validate macros, Andy Wingo, 2018/06/20
- [Guile-commits] 23/86: Remove includes of validate.h., Andy Wingo, 2018/06/20
- [Guile-commits] 56/86: Devolve variable.h from _scm.h., Andy Wingo, 2018/06/20
- [Guile-commits] 69/86: Move SCM_C_INLINE_KEYWORD definition to inline.h, Andy Wingo, 2018/06/20
- [Guile-commits] 70/86: Fix include in test-ffi-lib, Andy Wingo, 2018/06/20
- [Guile-commits] 68/86: Remove unneeded memmove.c and strerror.c files, Andy Wingo, 2018/06/20
- [Guile-commits] 64/86: Devolve strings.h, Andy Wingo, 2018/06/20