From: Arnaud Giersch Date: Mon, 6 May 2019 09:12:16 +0000 (+0200) Subject: Fix a FIXME. X-Git-Tag: v3.22.4~133 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/ed46c4a5902837fa82e457d112b48b2d2684887c?hp=ea004bc6314126b0d5c878636ed442f3592a0d10 Fix a FIXME. --- diff --git a/src/mc/checker/CommunicationDeterminismChecker.cpp b/src/mc/checker/CommunicationDeterminismChecker.cpp index 53793f06f8..153ad68f6a 100644 --- a/src/mc/checker/CommunicationDeterminismChecker.cpp +++ b/src/mc/checker/CommunicationDeterminismChecker.cpp @@ -196,8 +196,9 @@ void CommunicationDeterminismChecker::get_comm_pattern(smx_simcall_t request, e_ pattern->src_host = MC_smx_actor_get_host_name(issuer); #if HAVE_SMPI - simgrid::smpi::Request mpi_request = mc_model_checker->process().read( - RemotePtr((std::uint64_t)simcall_comm_isend__get__data(request))); + simgrid::smpi::Request mpi_request; + mc_model_checker->process().read( + &mpi_request, remote(static_cast(simcall_comm_isend__get__data(request)))); pattern->tag = mpi_request.tag(); #endif @@ -224,8 +225,8 @@ void CommunicationDeterminismChecker::get_comm_pattern(smx_simcall_t request, e_ #if HAVE_SMPI simgrid::smpi::Request mpi_request; - mc_model_checker->process().read(&mpi_request, - remote((simgrid::smpi::Request*)simcall_comm_irecv__get__data(request))); + mc_model_checker->process().read( + &mpi_request, remote(static_cast(simcall_comm_irecv__get__data(request)))); pattern->tag = mpi_request.tag(); #endif diff --git a/src/mc/remote/RemotePtr.hpp b/src/mc/remote/RemotePtr.hpp index 5d13c42c00..de93572987 100644 --- a/src/mc/remote/RemotePtr.hpp +++ b/src/mc/remote/RemotePtr.hpp @@ -49,8 +49,7 @@ public: std::size_t getBufferSize() const { return sizeof(T); } operator T() const { -//FIXME: assert turned off because smpi:Request is not seen as "trivial". -// static_assert(std::is_trivial::value, "Cannot convert non trivial type"); + static_assert(std::is_trivial::value, "Cannot convert non trivial type"); return buffer; } void clear() { std::memset(static_cast(&buffer), 0, sizeof(T)); }