None of the libraries present here depend on libgpr, so we
can tighten the dependencies from gnatcoll to gnatcoll_core.
For eng/toolchain/gnatcoll-core#25
The base PyMODINIT_FUNC (without attributes) is PyObject* in python3,
not void. Adjust the redefinition we do on Windows to remove a declspec
accordingly.
- PyObject_GetAttrString returns a new ref which must
be decref'd.
- Over-referrenced class when calling internal method
Change-Id: I16170aaa3e8daeaf4ad02dcc4cfee3f53574574e
- Disable the new vectorcall API (the tp_call profile only
supports the old call format).
- Add missing GIL locks
- Manually config python to use utf-8 (this was automatic with
previous versions)
Change-Id: I214b53e1e1b4fbc2a9af1cf1ec8985cff7905a55
Most of the commands can only be called if we have the GIL:
retrieve it.
Add a controlled type to automatically retrieve/free the GIL.
Lock every call using Py_INCREF/Py_DECREF.
Change-Id: I8989fcb3eacf6aedbb90056469536144a2795a3f
METH_OLDARGS (0x0, i.e. no flag) was obsolete in python2
and is forbidden with python3.
(no-precommit-check)
Change-Id: I576042492d74ca69bd59ed6ea6264cb7562c650f
The cfunc is stored inside the descriptor when doing:
f = Foo()
f.bar() => cfunc is retrieved via tp_descr_get
Foo.bar(f) => cfunc is retrieved via tp_call
Without defining tp_call it will try to call a
wrapping function without the proper flags.
Change-Id: I164492895cee66dd4d9946b505c6866c2fea768a