From ed46c4a5902837fa82e457d112b48b2d2684887c Mon Sep 17 00:00:00 2001 From: Arnaud Giersch Date: Mon, 6 May 2019 11:12:16 +0200 Subject: [PATCH] Fix a FIXME. --- src/mc/checker/CommunicationDeterminismChecker.cpp | 9 +++++---- src/mc/remote/RemotePtr.hpp | 3 +-- 2 files changed, 6 insertions(+), 6 deletions(-) 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)); } -- 2.20.1