1. 15 Jun, 2021 3 commits
  2. 14 Jun, 2021 5 commits
  3. 11 Jun, 2021 1 commit
  4. 09 Jun, 2021 8 commits
  5. 06 Jun, 2021 1 commit
  6. 05 Jun, 2021 1 commit
  7. 26 May, 2021 12 commits
  8. 25 May, 2021 9 commits
    • Ashwin Srinath's avatar
      Add support for C++17 execution policy parameter (GH-3790) · a0a105d3
      Ashwin Srinath authored
      * Add execution policy overloads to all algorithms
      * Add update_cpp17_extension for cpp17 tests
      * Fix type deduction logic for forwarding reference argument
      a0a105d3
    • Stefan Behnel's avatar
    • scoder's avatar
      Split the current "CYTHON_COMPILING_IN_LIMITED_API" macro guard (GH-3611) · 70be8d1b
      scoder authored
      * Split the current "CYTHON_COMPILING_IN_LIMITED_API" macro guard into separate feature guards:
      1) using a global module state struct ("CYTHON_USE_MODULE_STATE")
      2) using PyType_FromSpec() for extension types ("CYTHON_USE_TYPE_SPECS")
      3) actual limited-API special casing ("CYTHON_COMPILING_IN_LIMITED_API")
      
      * Start using PyType_FromModuleAndSpec() for creating extension types since that adds the module reference with PEP-573.
      
      * Do not pass the module reference into *shared* extension types since we do not want to keep the module alive just because other modules still refer to the type.
      
      * Mark the Limited-API and module state struct features as experimental.
      
      * Add CI setups for using PyType_FromSpec() for creating extension types.
      
      * Avoid overly complicated code in __Pyx_FetchCommonTypeFromSpec() when we are not compiling against the Limited-API.
      
      * Correctly set up the bases tuple for PyType_FromSpecWithBases() and stop relying on the PyTypeObject struct being available in several places by using the type pointer instead (and setting it early enough).
      
      * Set the "tp_dealloc" slot from the type spec, also for the limited API case.
      
      * Generally re-enable the "heaptype bases hack" when creating extension types.
      
      * Implement "tp_dictoffset" slot when using type specs in Py3.9+.
      
      * Fix and simplify the vtable setup in the limited API config.
      
      * Make CyFunction inheritable to "correctly" allow FusedFunction subclassing it.
      
      * Enable buffer interface support when using type specs by assigning the "tp_as_buffer" slot explicitly after creating the type.
      
      * Set "vectorcalloffset" when using type specs.
      
      * Make "__bool__" slot prefer Py3+ name instead of Py2 name to make the correct name ("Py_nb_bool") appear in the type spec.
      
      * Validate and fix up all extension types when constructing them from type specs (not only the internal ones).
      
      * Only call PyType_Modified() once after changing a type, not once per change.
      
      * Turn the "no buffer protocol in the limited API" error into a warning since the user code might still work without it.
      
      * Enable the same flags for CyFunction in the static type and type spec case since it's shared across modules and thus, we might otherwise end up with differently configured types in the same runtime.
      
      * The names of Cython's internal types (functions, generator, coroutine, etc.) are now prefixed with the shared module name, instead of making them look like homeless builtins.
      See https://bugs.python.org/issue20204
      See https://github.com/python/cpython/commit/490055a1673b524da2ebe2312f072aba2a826036
      
      * Work around a CPython bug that makes it overwrite exttype member definitions for the "__module__" attribute.
      See https://bugs.python.org/issue40703
      
      * Inherit buffer slots manually since type slots don't support them and thus PyType_Ready() does not see them.
      
      * Add METH_METHOD call support (currently unused).
      
      * Fix the vectorcall offset used in CyFunction type struct in Py3.9, if it inherits from PyCMethodObject instead of PyCFunctionObject.
      
      * Work around the duplicate creation of the "OverrideCheckNode" for fused cpdef functions.
      See https://github.com/cython/cython/issues/3628
      
      * Decref the type when deallocating instances of heap types in Py3.8+.
      See https://bugs.python.org/issue35810
      
      * Look up the fused dispatch function in the override check, not the specialisation (which shouldn't be overridden all by itself).
      Closes https://github.com/cython/cython/issues/3628
      
      * Avoid running the override check for CyFunction, just because it's not a PyCFunction itself.
      70be8d1b
    • Stefan Behnel's avatar
    • Stefan Behnel's avatar
      61d83e0b
    • Stefan Behnel's avatar
      CI: try to fix setup script. · fb363a2a
      Stefan Behnel authored
      fb363a2a
    • Stefan Behnel's avatar
      CI: Fix typo in script. · 28dafcd7
      Stefan Behnel authored
      28dafcd7
    • Stefan Behnel's avatar
    • Stefan Behnel's avatar
      Add CI jobs that test with GCC 11. · 3f05fb2e
      Stefan Behnel authored
      3f05fb2e