◐ Shell
clean mode source ↗

Message 245148 - Python tracker

I note that the code for CFFI has a fix in ffi_prep_incoming_args_SYSV, as follows:

#ifdef _WIN64
      if (z > 8)
        {
          /* On Win64, if a single argument takes more than 8 bytes,
             then it is always passed by reference. */
          *p_argv = *((void**) argp);
          z = 8;
        }
      else
#endif
      *p_argv = (void*) argp; /* The original code, works for 32-bit */

(Source: https://bitbucket.org/cffi/cffi/src/abc8ff5b2885b3d9f22bbb314a011b8dd63c9e14/c/libffi_msvc/ffi.c?at=default)