Commits

Armin Rigo committed 40049c1

Attempt a fix for Win64

  • Participants
  • Parent commits 541a909

Comments (0)

Files changed (1)

File c/libffi_msvc/ffi.c

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