Author: Armin Rigo <ar...@tunes.org>
Branch: 
Changeset: r1285:40049c1f292a
Date: 2013-07-18 21:32 +0200
http://bitbucket.org/cffi/cffi/changeset/40049c1f292a/

Log:    Attempt a fix for Win64

diff --git a/c/libffi_msvc/ffi.c b/c/libffi_msvc/ffi.c
--- a/c/libffi_msvc/ffi.c
+++ b/c/libffi_msvc/ffi.c
@@ -102,6 +102,15 @@
              FFI_ASSERT(0);
            }
        }
+#ifdef _WIN64
+      else if (z > 8)
+        {
+          /* On Win64, if a single argument takes more than 8 bytes,
+             then it is always passed by reference. */
+          *(void **)argp = *p_argv;
+          z = 8;
+        }
+#endif
       else
        {
          memcpy(argp, *p_argv, z);
_______________________________________________
pypy-commit mailing list
pypy-commit@python.org
http://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to