X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/08dc486afd79cda1f34899ac863d34d2bdebca16..af22f2644d3bc61055b274054a8ad6c2c85fa9dc:/src/smpi/bindings/smpi_f77.cpp diff --git a/src/smpi/bindings/smpi_f77.cpp b/src/smpi/bindings/smpi_f77.cpp index 4f7ce4a1e3..85885bbb6f 100644 --- a/src/smpi/bindings/smpi_f77.cpp +++ b/src/smpi/bindings/smpi_f77.cpp @@ -273,7 +273,7 @@ void mpi_win_get_attr_(int* win, int* win_keyval, MPI_Aint* attribute_val, int* void mpi_win_set_attr_(int* win, int* win_keyval, MPI_Aint* att, int* ierr) { - auto* val = static_cast(xbt_malloc(sizeof(MPI_Aint))); + auto* val = xbt_new(MPI_Aint, 1); *val = *att; *ierr = MPI_Win_set_attr(simgrid::smpi::Win::f2c(*win), *win_keyval, val); } @@ -287,7 +287,7 @@ void mpi_win_create_keyval_(void* copy_fn, void* delete_fn, int* keyval, void* e { smpi_copy_fn _copy_fn={nullptr,nullptr,nullptr,nullptr,nullptr,(*(int*)copy_fn) == 0 ? nullptr : reinterpret_cast(copy_fn)}; smpi_delete_fn _delete_fn={nullptr,nullptr,nullptr,nullptr,nullptr,(*(int*)delete_fn) == 0 ? nullptr : reinterpret_cast(delete_fn)}; - *ierr = simgrid::smpi::Keyval::keyval_create(_copy_fn, _delete_fn, keyval, extra_state); + *ierr = simgrid::smpi::Keyval::keyval_create(_copy_fn, _delete_fn, keyval, extra_state, true); } void mpi_win_free_keyval_(int* keyval, int* ierr) @@ -801,7 +801,7 @@ void mpi_attr_delete_ (int* comm, int* keyval, int* ierr) { } void mpi_attr_put_ (int* comm, int* keyval, int* attr_value, int* ierr) { - auto* val = static_cast(xbt_malloc(sizeof(int))); + auto* val = xbt_new(int, 1); *val = *attr_value; *ierr = MPI_Attr_put(simgrid::smpi::Comm::f2c(*comm), *keyval, val); } @@ -809,7 +809,7 @@ void mpi_attr_put_ (int* comm, int* keyval, int* attr_value, int* ierr) { void mpi_keyval_create_ (void* copy_fn, void* delete_fn, int* keyval, void* extra_state, int* ierr) { smpi_copy_fn _copy_fn={nullptr,nullptr,nullptr,(*(int*)copy_fn) == 0 ? nullptr : reinterpret_cast(copy_fn),nullptr,nullptr}; smpi_delete_fn _delete_fn={nullptr,nullptr,nullptr,(*(int*)delete_fn) == 0 ? nullptr : reinterpret_cast(delete_fn),nullptr,nullptr}; - *ierr = simgrid::smpi::Keyval::keyval_create(_copy_fn, _delete_fn, keyval, extra_state); + *ierr = simgrid::smpi::Keyval::keyval_create(_copy_fn, _delete_fn, keyval, extra_state, true); } void mpi_keyval_free_ (int* keyval, int* ierr) {