1. 26 Jun, 2021 1 commit
  2. 19 Jun, 2021 1 commit
  3. 18 Jun, 2021 1 commit
  4. 27 May, 2021 1 commit
  5. 14 May, 2021 2 commits
  6. 22 Apr, 2021 1 commit
  7. 17 Feb, 2021 1 commit
  8. 08 Feb, 2021 1 commit
  9. 25 Jan, 2021 1 commit
  10. 18 Jan, 2021 1 commit
    • Michael Kuron's avatar
      fix: Intel ICC C++17 compatibility (#2729) · 48534089
      Michael Kuron authored
      
      
      * CI: Intel icc/icpc via oneAPI
      
      Add testing for Intel icc/icpc via the oneAPI images.
      Intel oneAPI is in a late beta stage, currently shipping
      oneAPI beta09 with ICC 20.2.
      
      CI: Skip Interpreter Tests for Intel
      
      Cannot find how to add this, neiter the package `libc6-dev` nor
      `intel-oneapi-mkl-devel` help when installed to solve this:
      ```
      -- Looking for C++ include pthread.h
      -- Looking for C++ include pthread.h - not found
      CMake Error at /__t/cmake/3.18.4/x64/cmake-3.18.4-Linux-x86_64/share/cmake-3.18/Modules/FindPackageHandleStandardArgs.cmake:165 (message):
        Could NOT find Threads (missing: Threads_FOUND)
      Call Stack (most recent call first):
        /__t/cmake/3.18.4/x64/cmake-3.18.4-Linux-x86_64/share/cmake-3.18/Modules/FindPackageHandleStandardArgs.cmake:458 (_FPHSA_FAILURE_MESSAGE)
        /__t/cmake/3.18.4/x64/cmake-3.18.4-Linux-x86_64/share/cmake-3.18/Modules/FindThreads.cmake:234 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
        tests/test_embed/CMakeLists.txt:17 (find_package)
      ```
      
      CI: libc6-dev from GCC for ICC
      
      CI: Run bare metal for oneAPI
      
      CI: Ubuntu 18.04 for oneAPI
      
      CI: Intel +Catch -Eigen
      
      CI: CMake from Apt (ICC tests)
      
      CI: Replace Intel Py with GCC Py
      
      CI: Intel w/o GCC's Eigen
      
      CI: ICC with verbose make
      
      [Debug] Find core dump
      
      tests: use arg{} instead of arg() for Intel
      
      tests: adding a few more missing {}
      
      fix: sync with @tobiasleibner's branch
      
      fix: try ubuntu 20-04
      
      fix: drop exit 1
      
      docs: Apply suggestions from code review
      Co-authored-by: default avatarTobias Leibner <tobias.leibner@googlemail.com>
      
      Workaround for ICC enable_if issues
      
      Another workaround for ICC's enable_if issues
      
      fix error in previous commit
      
      Disable one test for the Intel compiler in C++17 mode
      
      Add back one instance of py::arg().noconvert()
      
      Add NOLINT to fix clang-tidy check
      
      Work around for ICC internal error in PYBIND11_EXPAND_SIDE_EFFECTS in C++17 mode
      
      CI: Intel ICC with C++17
      
      docs: pybind11/numpy.h does not require numpy at build time. (#2720)
      
      This is nice enough to be mentioned explicitly in the docs.
      
      docs: Update warning about Python 3.9.0 UB, now that 3.9.1 has been released (#2719)
      
      Adjusting `type_caster<std::reference_wrapper<T>>` to support const/non-const propagation in `cast_op`. (#2705)
      
      * Allow type_caster of std::reference_wrapper<T> to be the same as a native reference.
      
      Before, both std::reference_wrapper<T> and std::reference_wrapper<const T> would
      invoke cast_op<type>. This doesn't allow the type_caster<> specialization for T
      to distinguish reference_wrapper types from value types.
      
      After, the type_caster<> specialization invokes cast_op<type&>, which allows
      reference_wrapper to behave in the same way as a native reference type.
      
      * Add tests/examples for std::reference_wrapper<const T>
      
      * Add tests which use mutable/immutable variants
      
      This test is a chimera; it blends the pybind11 casters with a custom
      pytype implementation that supports immutable and mutable calls.
      
      In order to detect the immutable/mutable state, the cast_op needs
      to propagate it, even through e.g. std::reference<const T>
      
      Note: This is still a work in progress; some things are crashing,
      which likely means that I have a refcounting bug or something else
      missing.
      
      * Add/finish tests that distinguish const& from &
      
      Fixes the bugs in my custom python type implementation,
      demonstrate test that requires const& and reference_wrapper<const T>
      being treated differently from Non-const.
      
      * Add passing a const to non-const method.
      
      * Demonstrate non-const conversion of reference_wrapper in tests.
      
      Apply formatting presubmit check.
      
      * Fix build errors from presubmit checks.
      
      * Try and fix a few more CI errors
      
      * More CI fixes.
      
      * More CI fixups.
      
      * Try and get PyPy to work.
      
      * Additional minor fixups. Getting close to CI green.
      
      * More ci fixes?
      
      * fix clang-tidy warnings from presubmit
      
      * fix more clang-tidy warnings
      
      * minor comment and consistency cleanups
      
      * PyDECREF -> Py_DECREF
      
      * copy/move constructors
      
      * Resolve codereview comments
      
      * more review comment fixes
      
      * review comments: remove spurious &
      
      * Make the test fail even when the static_assert is commented out.
      
      This expands the test_freezable_type_caster a bit by:
      1/ adding accessors .is_immutable and .addr to compare identity
      from python.
      2/ Changing the default cast_op of the type_caster<> specialization
      to return a non-const value. In normal codepaths this is a reasonable
      default.
      3/ adding roundtrip variants to exercise the by reference, by pointer
      and by reference_wrapper in all call paths.  In conjunction with 2/, this
      demonstrates the failure case of the existing std::reference_wrpper conversion,
      which now loses const in a similar way that happens when using the default cast_op_type<>.
      
      * apply presubmit formatting
      
      * Revert inclusion of test_freezable_type_caster
      
      There's some concern that this test is a bit unwieldly because of the use
      of the raw <Python.h> functions. Removing for now.
      
      * Add a test that validates const references propagation.
      
      This test verifies that cast_op may be used to correctly detect
      const reference types when used with std::reference_wrapper.
      
      * mend
      
      * Review comments based changes.
      
      1. std::add_lvalue_reference<type> -> type&
      2. Simplify the test a little more; we're never returning the ConstRefCaster
      type so the class_ definition can be removed.
      
      * formatted files again.
      
      * Move const_ref_caster test to builtin_casters
      
      * Review comments: use cast_op and adjust some comments.
      
      * Simplify ConstRefCasted test
      
      I like this version better as it moves the assertion that matters
      back into python.
      
      ci: drop pypy2 linux, PGI 20.7, add Python 10 dev (#2724)
      
      * ci: drop pypy2 linux, add Python 10 dev
      
      * ci: fix mistake
      
      * ci: commented-out PGI 20.11, drop 20.7
      
      fix: regression with installed pybind11 overriding local one (#2716)
      
      * fix: regression with installed pybind11 overriding discovered one
      
      Closes #2709
      
      * docs: wording incorrect
      
      style: remove redundant instance->owned = true (#2723)
      
      which was just before set to True in instance->allocate_layout()
      
      fix: also throw in the move-constructor added by the PYBIND11_OBJECT macro, after the argument has been moved-out (if necessary) (#2701)
      
      Make args_are_all_* ICC workarounds unconditional
      
      Disable test_aligned on Intel ICC
      
      Fix test_aligned on Intel ICC
      
      Skip test_python_alreadyset_in_destructor on Intel ICC
      
      Fix test_aligned again
      
      ICC CI: Downgrade pytest
      
      pytest 6 does not capture the `discard_as_unraisable` stderr and
      just writes a warning with its content instead.
      
      * refactor: simpler Intel workaround, suggested by @laramiel
      
      * fix: try version with impl to see if it is easier to compile
      
      * docs: update README for ICC
      Co-authored-by: default avatarAxel Huebl <axel.huebl@plasma.ninja>
      Co-authored-by: default avatarHenry Schreiner <henryschreineriii@gmail.com>
      48534089
  11. 15 Jan, 2021 2 commits
    • Axel Huebl's avatar
      ci: Intel icc/icpc via oneAPI (#2573) · 0b3df7f9
      Axel Huebl authored
      
      
      * CI: Intel icc/icpc via oneAPI
      
      Add testing for Intel icc/icpc via the oneAPI images.
      Intel oneAPI is in a late beta stage, currently shipping
      oneAPI beta09 with ICC 20.2.
      
      * CI: Skip Interpreter Tests for Intel
      
      Cannot find how to add this, neiter the package `libc6-dev` nor
      `intel-oneapi-mkl-devel` help when installed to solve this:
      ```
      -- Looking for C++ include pthread.h
      -- Looking for C++ include pthread.h - not found
      CMake Error at /__t/cmake/3.18.4/x64/cmake-3.18.4-Linux-x86_64/share/cmake-3.18/Modules/FindPackageHandleStandardArgs.cmake:165 (message):
        Could NOT find Threads (missing: Threads_FOUND)
      Call Stack (most recent call first):
        /__t/cmake/3.18.4/x64/cmake-3.18.4-Linux-x86_64/share/cmake-3.18/Modules/FindPackageHandleStandardArgs.cmake:458 (_FPHSA_FAILURE_MESSAGE)
        /__t/cmake/3.18.4/x64/cmake-3.18.4-Linux-x86_64/share/cmake-3.18/Modules/FindThreads.cmake:234 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
        tests/test_embed/CMakeLists.txt:17 (find_package)
      ```
      
      * CI: libc6-dev from GCC for ICC
      
      * CI: Run bare metal for oneAPI
      
      * CI: Ubuntu 18.04 for oneAPI
      
      * CI: Intel +Catch -Eigen
      
      * CI: CMake from Apt (ICC tests)
      
      * CI: Replace Intel Py with GCC Py
      
      * CI: Intel w/o GCC's Eigen
      
      * CI: ICC with verbose make
      
      * [Debug] Find core dump
      
      * tests: use arg{} instead of arg() for Intel
      
      * tests: adding a few more missing {}
      
      * fix: sync with @tobiasleibner's branch
      
      * fix: try ubuntu 20-04
      
      * fix: drop exit 1
      
      * style: clang tidy fix
      
      * style: fix missing NOLINT
      
      * ICC: Update Compiler Name
      
      Changed upstream with the last oneAPI release.
      
      * ICC CI: Downgrade pytest
      
      pytest 6 does not capture the `discard_as_unraisable` stderr and
      just writes a warning with its content instead.
      
      * Use new test pinning requirements.txt
      
      * tests: add notes about intel, cleanup
      Co-authored-by: default avatarHenry Schreiner <henryschreineriii@gmail.com>
      0b3df7f9
    • Yannick Jadoul's avatar
      Add a Valgrind build on debug Python 3.9 (#2746) · 0f8d5f2e
      Yannick Jadoul authored
      
      
      * Adding a valgrind build on debug Python 3.9
      Co-authored-by: default avatarBoris Staletic <boris.staletic@gmail.com>
      
      * Add Valgrind suppression files
      
      - Introduce suppression file, populate it with a first suppression taken from CPython, and fix one leak in the tests
      - Suppress leak in NumPy
      - More clean tests!
      - Tests with names a-e passing (except for test_buffer)
      - Suppress multiprocessing errors
      - Merge multiprocessing suppressions into other suppression files
      - Numpy seems to be spelled with a big P
      - Append single entry from valgrind-misc.supp to valgrind-python.supp, and make clear valgrind-python.supp is only CPython
      Co-authored-by: default avatarBoris Staletic <boris.staletic@gmail.com>
      
      * Enable test_virtual_functions with a workaround
      
      * Add a memcheck cmake target
      
      - Add a memcheck cmake target
      - Reformat cmake
      - Appease the formatting overlords - they are angry
      - Format CMake valgrind target decently
      
      * Update CI config to new action versions
      
      * fix: separate memcheck from pytest
      
      * ci: cleanup
      
      * Merge Valgrind and other deadsnakes builds
      Co-authored-by: default avatarBoris Staletic <boris.staletic@gmail.com>
      Co-authored-by: default avatarHenry Schreiner <henryschreineriii@gmail.com>
      0f8d5f2e
  12. 14 Jan, 2021 1 commit
    • Yannick Jadoul's avatar
      ci: disable builds for 3.10.0a4, and enable a nightly 3.10-dev build (#2792) · f243450e
      Yannick Jadoul authored
      * Disable builds for 3.10.0a4, and enable a nightly 3.10-dev build
      
      * Fix job name
      
      * Remove deadsnakes job for now
      
      * Add deadsnakes jobs
      
      * There's no deadsnakes 2.7
      
      * Add 3.10 to versions to be discovered by legacy FindPython, and fix debug input to deadsnakes/action
      
      * Try out branch with fix
      
      * Update to deadsnakes/action@v2.1.1
      f243450e
  13. 13 Jan, 2021 2 commits
  14. 22 Dec, 2020 1 commit
  15. 19 Dec, 2020 1 commit
  16. 16 Dec, 2020 1 commit
  17. 23 Oct, 2020 1 commit
  18. 15 Oct, 2020 1 commit
  19. 14 Oct, 2020 1 commit
  20. 09 Oct, 2020 1 commit
  21. 08 Oct, 2020 3 commits
  22. 06 Oct, 2020 1 commit
  23. 18 Sep, 2020 1 commit
  24. 16 Sep, 2020 1 commit
    • Henry Schreiner's avatar
      feat: setup.py redesign and helpers (#2433) · fd61f503
      Henry Schreiner authored
      * feat: setup.py redesign and helpers
      
      * refactor: simpler design with two outputs
      
      * refactor: helper file update and Windows support
      
      * fix: review points from @YannickJadoul
      
      * refactor: fixes to naming and more docs
      
      * feat: more customization points
      
      * feat: add entry point pybind11-config
      
      * refactor: Try Extension-focused method
      
      * refactor: rename alt/inplace to global
      
      * fix: allow usage with git modules, better docs
      
      * feat: global as an extra (@YannickJadoul's suggestion)
      
      * feat: single version location
      
      * fix: remove the requirement that setuptools must be imported first
      
      * fix: some review points from @wjacob
      
      * fix: use .in, add procedure to docs
      
      * refactor: avoid monkeypatch copy
      
      * docs: minor typos corrected
      
      * fix: minor points from @YannickJadoul
      
      * fix: typo on Windows C++ mode
      
      * fix: MSVC 15 update 3+ have c++14 flag
      
      See <https://docs.microsoft.com/en-us/cpp/build/reference/std-specify-language-standard-version?view=vs-2019>
      
      * docs: discuss making SDists by hand
      
      * ci: use pep517.build instead of manual setup.py
      
      * refactor: more comments from @YannickJadoul
      
      * docs: updates from @ktbarrett
      
      * fix: change to newly recommended tool instead of pep517.build
      
      This was intended as a proof of concept; build seems to be the correct replacement.
      
      See https://github.com/pypa/pep517/pull/83
      
      * docs: updates from @wjakob
      
      * refactor: dual version locations
      
      * docs: typo spotted by @wjakob
      fd61f503
  25. 12 Sep, 2020 1 commit
    • andriish's avatar
      fix: support NVIDIA-PGI HPC SDK (#2475) · 38370a87
      andriish authored
      
      
      * Added guards to the includes
      
      Added new CI config
      
      Added new trigger
      
      Changed CI workflow name
      
      Debug CI
      
      Debug CI
      
      Debug CI
      
      Debug CI
      
      Added flags fro PGI
      
      Disable Eigen
      
      Removed tests that fail
      
      Uncomment lines
      
      * fix: missing include
      
      fix: minor style cleanup
      
      tests: support skipping
      
      ci: remove and tighten a bit
      
      fix: try msvc workaround for pgic
      
      * tests: split up prealoc tests
      
      * fix: PGI compiler fix
      
      * fix: PGI void_t only
      
      * fix: try to appease nvcc
      
      * ci: better ordering for slow tests
      
      * ci: minor improvements to testing
      
      * ci: Add NumPy to testing
      
      * ci: Eigen generates CUDA warnings / PGI errors
      
      * Added CentOS7 back for a moment
      
      * Fix YAML
      
      * ci: runs-on missing
      
      * centos7 is missing pytest
      
      * ci: use C++11 on CentOS 7
      
      * ci: test something else
      
      * Try just adding flags on CentOS 7
      
      * fix: CentOS 7
      
      * refactor: move include to shared location
      
      * Added verbose flag
      
      * Try to use system cmake3 on CI
      
      * Try to use system cmake3 on CI, attempt2
      
      * Try to use system cmake3 on CI, attempt3
      
      * tests: not finding pytest should be a warning, not a fatal error
      
      * tests: cleanup
      
      * Weird issue?
      
      * fix: final polish
      Co-authored-by: default avatarAndrii Verbytskyi <andrii.verbytskyi@mpp.mpg.de>
      Co-authored-by: default avatarHenry Schreiner <henryschreineriii@gmail.com>
      Co-authored-by: default avatarAndrii Verbytskyi <averbyts@cern.ch>
      38370a87
  26. 10 Sep, 2020 1 commit
    • Henry Schreiner's avatar
      fix: support nvcc and test (#2461) · 621906b3
      Henry Schreiner authored
      * fix: support nvcc and test
      
      * fixup! fix: support nvcc and test
      
      * docs: mention what compilers fail
      
      * fix: much simpler logic
      
      * refactor: slightly faster / clearer
      621906b3
  27. 08 Sep, 2020 1 commit
  28. 24 Aug, 2020 2 commits
  29. 20 Aug, 2020 1 commit
  30. 19 Aug, 2020 2 commits
    • Henry Schreiner's avatar
      tests: avoid putting build products into source directory (#2353) · 04fdc44f
      Henry Schreiner authored
      * tests: keep source dir clean
      
      * ci: make first build inplace
      
      * ci: drop dev setting (wasn't doing anything)
      
      * tests: warn if source directory is dirty
      04fdc44f
    • Henry Schreiner's avatar
      feat: new FindPython support (#2370) · 1729aae9
      Henry Schreiner authored
      * feat: FindPython support
      
      * refactor: rename to PYBIND11_FINDPYTHON
      
      * docs: Caps fixes
      
      * feat: NOPYTHON mode
      
      * test: check simple call
      
      * docs: add changelog/upgrade guide
      
      * feat: Support Python3 and Python2
      
      * refactor: Use targets in tests
      
      * fix: support CMake 3.4+
      
      * feat: classic search also finds virtual environments
      
      * docs: some updates from @wjakob's review
      
      * fix: wrong name for QUIET mode variable, reported by @skoslowski
      
      * refactor: cleaner output messaging
      
      * fix: support debug Python's in FindPython mode too
      
      * fixup! refactor: cleaner output messaging
      
      * fix: missing pybind11_FOUND and pybind11_INCLUDE_DIR restored to subdir mode
      
      * fix: nicer reporting of Python / PyPy
      
      * fix: out-of-order variable fix
      
      * docs: minor last-minute cleanup
      1729aae9
  31. 16 Aug, 2020 1 commit
    • Henry Schreiner's avatar
      tests: cleanup and ci hardening (#2397) · 4d9024ec
      Henry Schreiner authored
      * tests: refactor and cleanup
      
      * refactor: more consistent
      
      * tests: vendor six
      
      * tests: more xfails, nicer system
      
      * tests: simplify to info
      
      * tests: suggestions from @YannickJadoul and @bstaletic
      
      * tests: restore some pypy tests that now pass
      
      * tests: rename info to env
      
      * tests: strict False/True
      
      * tests: drop explicit strict=True again
      
      * tests: reduce minimum PyTest to 3.1
      4d9024ec
  32. 14 Aug, 2020 2 commits