1. 22 Jul, 2020 2 commits
  2. 20 Jul, 2020 1 commit
    • da-woods's avatar
      Handle `for x in cpp_function_call()` (GH-3667) · 9cb557c3
      da-woods authored
      Fixes https://github.com/cython/cython/issues/3663
      
      This ensures that rvalues here are saved as temps, while keeping the
      existing behaviour for `for x in deref(vec)`, where the pointer for vec
      is copied, meaning it doesn't crash if vec is reassigned.
      
      The bit of this change liable to have the biggest effect is that I've
      changed the result type of dereference(x) and x[0] (where x is a c++
      type) to a reference rather than value type. I think this is OK because
      it matches what C++ does. If that isn't a sensible change then I can
      probably inspect the loop sequence more closely to try to detect this.
      9cb557c3
  3. 10 Jul, 2020 2 commits
  4. 09 Jul, 2020 9 commits
  5. 08 Jul, 2020 4 commits
  6. 07 Jul, 2020 11 commits
  7. 06 Jul, 2020 4 commits
  8. 05 Jul, 2020 3 commits
  9. 02 Jul, 2020 1 commit
  10. 01 Jul, 2020 3 commits
    • Stefan Behnel's avatar
      Merge branch '0.29.x' · 75f4aff7
      Stefan Behnel authored
      75f4aff7
    • scoder's avatar
      Validate and fix temp releasing (GH-3708) (GH-3717) · 195aeadc
      scoder authored
      * Validate and fix temp releasing (GH-3708)
      Backports 92147baf.
      
          * Fix a temp leak in the type init code.
          * Fix temp leaks in fused types initialisation code.
          * Correctly release the buffer index temps allocated for index calculations.
          * Make tests fails hard if a temp variable is not released at the end of a generated function.
          * Fix temp leak in switch statement code.
          * Make end-to-end tests fail on refnanny output.
          * Fix result temp leak in PyTypeTestNode.
          * Fix result temp leak in external type/function import code and enable the refnanny check for them.
          * Fix temp leak when try-return-finally is used in generators.
          * Make it explicit when an allocated temp is not meant to be reused.
          * Fix temp leak when assigning to the real/imag attributes of complex numbers.
          * Fix temp leak when assigning to a memoryview slice.
          * Clean up "num_threads" result temp in parallel section, not only in prange loop.
          * Fix temp leak in Pythran buffer setitem code.
          * Simplify NumPyMethodCallNode since it does not need the Python function anymore. Previously, it generated code that needlessly looked up the Python function without actually using it.
          * Fix temp leak when deleting C++ objects.
          * Add a test that actually reusing temps when deleting C++ objects works correctly.
      195aeadc
    • Stefan Behnel's avatar