From c3ecba220ec7972e03bdc29d064e7238d268a897 Mon Sep 17 00:00:00 2001 From: Christian Heinrich Date: Wed, 28 Mar 2018 21:53:50 +0200 Subject: [PATCH] [SMPI] Replay: Fix datatype initialization --- src/smpi/internals/smpi_replay.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/smpi/internals/smpi_replay.cpp b/src/smpi/internals/smpi_replay.cpp index e65846bb9d..ab965b748e 100644 --- a/src/smpi/internals/smpi_replay.cpp +++ b/src/smpi/internals/smpi_replay.cpp @@ -235,20 +235,20 @@ public: if (action.size() > 3 + comm_size + comm_size) { /* datatype + disp are specified */ datatype_index = 3 + comm_size; disp_index = datatype_index + 1; + datatype1 = simgrid::smpi::Datatype::decode(action[datatype_index]); + datatype2 = simgrid::smpi::Datatype::decode(action[datatype_index]); } else if (action.size() > 3 + comm_size + 2) { /* disps specified; datatype is not specified; use the default one */ - datatype_index = -1; disp_index = 3 + comm_size; } else if (action.size() > 3 + comm_size) { /* only datatype, no disp specified */ datatype_index = 3 + comm_size; + datatype1 = simgrid::smpi::Datatype::decode(action[datatype_index]); + datatype2 = simgrid::smpi::Datatype::decode(action[datatype_index]); } if (disp_index != 0) { for (unsigned int i = 0; i < comm_size; i++) disps[i] = std::stoi(action[disp_index + i]); } - - datatype1 = simgrid::smpi::Datatype::decode(action[datatype_index]); - datatype2 = simgrid::smpi::Datatype::decode(action[datatype_index]); } for (unsigned int i = 0; i < comm_size; i++) { -- 2.20.1