From: Dmitry Bogatov <kact...@gnu.org> * module/system/foreign/declarative.scm: for reason I do not understand, `mirror-primitive-typeS' macro mangled foreign type object name, so instead `int:' it defined something like `int:_some_uniq_string'. So it was replaced with manual calls to `mirror-primitive-type'. --- module/system/foreign/declarative.scm | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-)
diff --git a/module/system/foreign/declarative.scm b/module/system/foreign/declarative.scm index b13bcf4..65a6497 100644 --- a/module/system/foreign/declarative.scm +++ b/module/system/foreign/declarative.scm @@ -71,9 +71,20 @@ (with-syntax ((ft (datum->syntax x (symbol-append (syntax->datum #'prim) ':)))) #'(mirror-primitive-type prim ft)))))) -(define-syntax-rule (mirror-primitive-types prim ...) - (begin - (mirror-primitive-type prim) ...)) -(mirror-primitive-types - size_t int long ptrdiff_t int8 int16 int32 int64 uint8 uint16 uint32 uint64) + +(mirror-primitive-type void) +(mirror-primitive-type size_t) +(mirror-primitive-type int) +(mirror-primitive-type long) +(mirror-primitive-type ptrdiff_t) +(mirror-primitive-type int8) +(mirror-primitive-type int16) +(mirror-primitive-type int32) +(mirror-primitive-type int64) +(mirror-primitive-type uint8) +(mirror-primitive-type uint16) +(mirror-primitive-type uint32) +(mirror-primitive-type uint64) +(mirror-primitive-type float) +(mirror-primitive-type double) (mirror-primitive-type '* *:) -- I may be not subscribed. Please, keep me in carbon copy.