Browse Source

bpo-35847: RISC-V needs CTYPES_PASS_BY_REF_HACK (GH-11694)

This fixes the ctypes.test.test_structures.StructureTestCase test.


https://bugs.python.org/issue35847
pull/11698/head
Andreas Schwab 7 years ago
committed by Miss Islington (bot)
parent
commit
742d768656
  1. 1
      Misc/NEWS.d/next/Library/2019-01-29-09-11-09.bpo-35847.eiSi4t.rst
  2. 2
      Modules/_ctypes/callproc.c

1
Misc/NEWS.d/next/Library/2019-01-29-09-11-09.bpo-35847.eiSi4t.rst

@ -0,0 +1 @@
RISC-V needed the CTYPES_PASS_BY_REF_HACK. Fixes ctypes Structure test_pass_by_value.

2
Modules/_ctypes/callproc.c

@ -1058,7 +1058,7 @@ GetComError(HRESULT errcode, GUID *riid, IUnknown *pIunk)
#endif
#if (defined(__x86_64__) && (defined(__MINGW64__) || defined(__CYGWIN__))) || \
defined(__aarch64__)
defined(__aarch64__) || defined(__riscv)
#define CTYPES_PASS_BY_REF_HACK
#define POW2(x) (((x & ~(x - 1)) == x) ? x : 0)
#define IS_PASS_BY_REF(x) (x > 8 || !POW2(x))

Loading…
Cancel
Save