guile-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH 04/25] Write boilerplate for primitive types


From: KAction
Subject: [PATCH 04/25] Write boilerplate for primitive types
Date: Mon, 18 Jul 2016 18:17:27 +0300

From: Dmitry Bogatov <address@hidden>

  * 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.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]