Updating Pybind11 is necessary for gem5 to compile correctly with Python 3.11. As of March 9th 2023, 2.10.3 is the latest version of Pybind11. Change-Id: I32c68c507770040d3fac2de442d88a8f46b48896 Issue-on: https://gem5.atlassian.net/browse/GEM5-1295 Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/68818 Maintainer: Jason Lowe-Power <power.jg@gmail.com> Tested-by: kokoro <noreply+kokoro@google.com> Reviewed-by: Jason Lowe-Power <power.jg@gmail.com>
21 lines
543 B
C++
21 lines
543 B
C++
#include <pybind11/pybind11.h>
|
|
|
|
namespace py = pybind11;
|
|
|
|
/* Simple test module/test class to check that the referenced internals data of external pybind11
|
|
* modules aren't preserved over a finalize/initialize.
|
|
*/
|
|
|
|
PYBIND11_MODULE(external_module, m) {
|
|
class A {
|
|
public:
|
|
explicit A(int value) : v{value} {};
|
|
int v;
|
|
};
|
|
|
|
py::class_<A>(m, "A").def(py::init<int>()).def_readwrite("value", &A::v);
|
|
|
|
m.def("internals_at",
|
|
[]() { return reinterpret_cast<uintptr_t>(&py::detail::get_internals()); });
|
|
}
|