restore Win64 fix to FFI
that I had improperly added to "foreign.c" instead of the source
This commit is contained in:
parent
78b54a7324
commit
7f5ac2b7f9
|
@ -386,11 +386,11 @@ used. There are no restrictions on the Racket procedure; in
|
|||
particular, its lexical context is properly preserved.
|
||||
|
||||
The optional @scheme[abi] keyword argument determines the foreign ABI
|
||||
that is used. @scheme[#f] or @scheme['default] will use a
|
||||
platform-dependent default; other possible values are
|
||||
@scheme['stdcall] and @scheme['sysv] (the latter corresponds to
|
||||
``cdecl''). This is especially important on Windows, where most
|
||||
system functions are @scheme['stdcall], which is not the default.
|
||||
that is used. Supplying @scheme[#f] or @scheme['default] indicates the
|
||||
platform-dependent default. The other possible
|
||||
values---@scheme['stdcall]and @scheme['sysv] (i.e., ``cdecl'')---are
|
||||
currently supported only for 32-bit Windows; using them on other
|
||||
platforms raises an exception.
|
||||
|
||||
If @scheme[atomic?] is true, then when a Racket procedure is given
|
||||
this procedure type and called from foreign code, then the Racket
|
||||
|
|
|
@ -1047,13 +1047,13 @@ ffi_abi sym_to_abi(char *who, Scheme_Object *sym)
|
|||
if (SCHEME_FALSEP(sym) || SAME_OBJ(sym, default_sym))
|
||||
return FFI_DEFAULT_ABI;
|
||||
else if (SAME_OBJ(sym, sysv_sym)) {
|
||||
#ifdef WINDOWS_DYNAMIC_LOAD
|
||||
#if defined(WINDOWS_DYNAMIC_LOAD) && !defined(_WIN64)
|
||||
return FFI_SYSV;
|
||||
#else
|
||||
scheme_signal_error("%s: ABI not implemented: %V", who, sym);
|
||||
#endif
|
||||
} else if (SAME_OBJ(sym, stdcall_sym)) {
|
||||
#ifdef WINDOWS_DYNAMIC_LOAD
|
||||
#if defined(WINDOWS_DYNAMIC_LOAD) && !defined(_WIN64)
|
||||
return FFI_STDCALL;
|
||||
#else
|
||||
scheme_signal_error("%s: ABI not implemented: %V", who, sym);
|
||||
|
|
|
@ -880,13 +880,13 @@ ffi_abi sym_to_abi(char *who, Scheme_Object *sym)
|
|||
if (SCHEME_FALSEP(sym) || SAME_OBJ(sym, default_sym))
|
||||
return FFI_DEFAULT_ABI;
|
||||
else if (SAME_OBJ(sym, sysv_sym)) {
|
||||
#ifdef WINDOWS_DYNAMIC_LOAD
|
||||
#if defined(WINDOWS_DYNAMIC_LOAD) && !defined(_WIN64)
|
||||
return FFI_SYSV;
|
||||
#else
|
||||
scheme_signal_error("%s: ABI not implemented: %V", who, sym);
|
||||
#endif
|
||||
} else if (SAME_OBJ(sym, stdcall_sym)) {
|
||||
#ifdef WINDOWS_DYNAMIC_LOAD
|
||||
#if defined(WINDOWS_DYNAMIC_LOAD) && !defined(_WIN64)
|
||||
return FFI_STDCALL;
|
||||
#else
|
||||
scheme_signal_error("%s: ABI not implemented: %V", who, sym);
|
||||
|
|
Loading…
Reference in New Issue
Block a user