restore Win64 fix to FFI

that I had improperly added to "foreign.c" instead of the source
This commit is contained in:
Matthew Flatt 2010-12-14 07:53:19 -07:00
parent 78b54a7324
commit 7f5ac2b7f9
3 changed files with 9 additions and 9 deletions

View File

@ -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

View File

@ -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);

View File

@ -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);