- 07 Jul, 2019 8 commits
-
-
Stefan Behnel authored
-
Stefan Behnel authored
-
Stefan Behnel authored
-
Stefan Behnel authored
Closes GH-3023.
-
Stefan Behnel authored
-
Stefan Behnel authored
-
serge-sans-paille authored
Pythran assumes shapes are shapes of long, whatever the underlying architecture.
-
serge-sans-paille authored
Pythran assumes shapes are shapes of long, whatever the underlying architecture.
-
- 05 Jul, 2019 8 commits
-
-
Stefan Behnel authored
-
Stefan Behnel authored
-
Stefan Behnel authored
-
Orivej Desh authored
Currently Cython generates code like this: int __Pyx_InitCachedBuiltins(void) { __pyx_builtin_NAME = __Pyx_GetBuiltinName(...); if (!__pyx_builtin_NAME) __PYX_ERR(1, 44, __pyx_L1_error) } int __pyx_pymod_exec_MODULE(PyObject *__pyx_pyinit_module) { if (__Pyx_InitCachedBuiltins() < 0) __PYX_ERR(1, 1, __pyx_L1_error) } When InitCachedBuiltins and InitCachedConstants call __PYX_ERR, they pass the file and line where a builtin is used, but then pymod_exec overwrites it with 1 and 1, and the error message looks like this: File "FILE", line 1, in init MODULE. import os NameError: name 'NAME' is not defined After this change Cython generates: int __pyx_pymod_exec_MODULE(PyObject *__pyx_pyinit_module) { if (__Pyx_InitCachedBuiltins() < 0) goto __pyx_L1_error; } and prints: File "FILE", line 44, in init MODULE. print(NAME) NameError: name 'NAME' is not defined
-
Orivej Desh authored
Currently Cython generates code like this: int __Pyx_InitCachedBuiltins(void) { __pyx_builtin_NAME = __Pyx_GetBuiltinName(...); if (!__pyx_builtin_NAME) __PYX_ERR(1, 44, __pyx_L1_error) } int __pyx_pymod_exec_MODULE(PyObject *__pyx_pyinit_module) { if (__Pyx_InitCachedBuiltins() < 0) __PYX_ERR(1, 1, __pyx_L1_error) } When InitCachedBuiltins and InitCachedConstants call __PYX_ERR, they pass the file and line where a builtin is used, but then pymod_exec overwrites it with 1 and 1, and the error message looks like this: File "FILE", line 1, in init MODULE. import os NameError: name 'NAME' is not defined After this change Cython generates: int __pyx_pymod_exec_MODULE(PyObject *__pyx_pyinit_module) { if (__Pyx_InitCachedBuiltins() < 0) goto __pyx_L1_error; } and prints: File "FILE", line 44, in init MODULE. print(NAME) NameError: name 'NAME' is not defined
-
Stefan Behnel authored
Fix a C compiler warning about an implicitly reduced integer range (Py_ssize_t -> int) when calling a helper function. Closes GH-3028.
-
Stefan Behnel authored
-
Stefan Behnel authored
Closes GH-3031
-
- 04 Jul, 2019 2 commits
-
-
Stefan Behnel authored
Fix a C compiler warning about an implicitly reduced integer range (Py_ssize_t -> int) when calling a helper function. Closes GH-3028.
-
Stefan Behnel authored
-
- 03 Jul, 2019 1 commit
-
-
Robert Bradshaw authored
BUG: Fix(up) incorrect return in SetItemFast
-
- 02 Jul, 2019 1 commit
-
-
Sebastian Berg authored
Sorry, my previous fix was cursed (not running the tests), now I saw the compiler warning, and I suppose it would be good for the tests to run error paths.
-
- 30 Jun, 2019 1 commit
-
-
Stefan Behnel authored
-
- 29 Jun, 2019 10 commits
-
-
Stefan Behnel authored
-
Stefan Behnel authored
-
Jeroen Demeyer authored
-
Stefan Behnel authored
-
Stefan Behnel authored
-
Stefan Behnel authored
-
Stefan Behnel authored
-
Sebastian Berg authored
-
Sebastian Berg authored
-
Kirill Smelkov authored
I was going to use posix_madvise(POSIX_MADV_DONTNEED) in my tests to make sure a memory page should be evicted from kernel cache, but found out that this operation is hardcoded to be NOOP on Glibc/Linux systems: https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/unix/sysv/linux/posix_madvise.c;h=c89fa64f0749;hb=HEAD#l25 https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=8889e7aa461a On the other hand, as also verified by strace, `madvise(MADV_DONTNEED)` is not a NOOP as it actually goes to kernel by making syscall. Since it is not possible to use posix_madvise for what should be POSIX_MADV_DONTNEED behaviour, let's add all raw madvise behaviour flags as documented on http://man7.org/linux/man-pages/man2/madvise.2.html Presumably MADV_NORMAL and other behaviours that should translate 1-1 to POSIX ones were omitted in 59ac9991 (Add pxd for mmap & friends from "sys/mman.h" covering POSIX/Linux/BSD) to make people use the standardised POSIX interface. However given that it turned out to be not possible to use posix_madvise for all standard behaviours, system-specific madvise behaviours have to be used.
-
- 28 Jun, 2019 8 commits
-
-
Jeroen Demeyer authored
* Do not use unsafe _PyMethodDef_RawFastCallKeywords * Simplify and optimize calls, using vectorcall on Python 3.8
-
Stefan Behnel authored
Do not reset "tp_print" for builtin types in Py3 at all anymore. It was never needed there (only in Py2) and not gets in the way in Py3.8/9.
-
Stefan Behnel authored
-
Stefan Behnel authored
* REF: make Utils dependency-free by moving search_include_directories to Main * BUG: prefer sys.path before Cython/Include when searching for pxd files
-
Jeroen Demeyer authored
-
Stefan Behnel authored
-
Nick Coghlan authored
CPython bpo-37221 reverts that backwards incompatible change to the PyCode_New API, replacing it with a new PyCode_NewWithPosOnlyArgs function.
-
Nick Coghlan authored
CPython bpo-37221 reverts that backwards incompatible change to the PyCode_New API, replacing it with a new PyCode_NewWithPosOnlyArgs function.
-
- 25 Jun, 2019 1 commit
-
-
Kirill Smelkov authored
PyGILState_STATE was added in commit 3fd6fdce (Gilnanny + pystate.pxd) with struct type on-purpose different from what CPython actually uses with the idea so that PyGILState_STATE cannot be coerced into int. However as it is, it prevents PyGILState_STATE usage: cdef PyGILState_STATE gstate = PyGILState_Ensure() gives Variable type 'PyGILState_STATE' is incomplete Fix it by making PyGILState_STATE a defined structure.
-