diff options
Diffstat (limited to 'dev-scheme/c-wrapper/files/c-wrapper-gauche-abi-0.98.patch')
-rw-r--r-- | dev-scheme/c-wrapper/files/c-wrapper-gauche-abi-0.98.patch | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/dev-scheme/c-wrapper/files/c-wrapper-gauche-abi-0.98.patch b/dev-scheme/c-wrapper/files/c-wrapper-gauche-abi-0.98.patch new file mode 100644 index 000000000000..15e8b6990cc7 --- /dev/null +++ b/dev-scheme/c-wrapper/files/c-wrapper-gauche-abi-0.98.patch @@ -0,0 +1,28 @@ +--- a/src/c-ffi.c ++++ b/src/c-ffi.c +@@ -347,7 +347,11 @@ + } + sa = SCM_SLOT_ACCESSOR(SCM_CDR(p)); + if (0 <= sa->slotNumber) { ++#if !defined(GAUCHE_API_VERSION) || GAUCHE_API_VERSION < 98 + return SCM_FFI_TYPE_DATA(Scm_InstanceSlotRef(ctype, sa->slotNumber)); ++#else ++ return SCM_FFI_TYPE_DATA(Scm_InstanceSlotRef(ctype, sa->slotNumber, SCM_UNBOUND)); ++#endif + } else { + Scm_Error("wrong slot number: %d", sa->slotNumber); + } +--- a/src/c-lexlib.stub ++++ b/src/c-lexlib.stub +@@ -40,7 +40,11 @@ + "if (nptr == endptr) {" + " SCM_RETURN(SCM_FALSE);" + "} else {" ++ "#if !defined(GAUCHE_API_VERSION) || GAUCHE_API_VERSION < 98" + " SCM_RETURN(Scm_MakeInteger64((ScmInt64) v));" ++ "#else" ++ " SCM_RETURN(Scm_MakeInteger64((int64_t) v));" ++ "#endif" + "}")) + + (define-cproc strtod (nptr::<const-cstring>) |