From 1c141cb0be93bc5a5fdc3c6acf1145c087ab1d86 Mon Sep 17 00:00:00 2001 From: Stephane Del Pino <stephane.delpino44@gmail.com> Date: Fri, 19 Oct 2018 17:34:23 +0200 Subject: [PATCH] Fix broadcast of trivial that only cast to array This fixes the case of sequential compilation. Was correct in parallel. --- src/utils/Messenger.hpp | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/src/utils/Messenger.hpp b/src/utils/Messenger.hpp index 8f9bedf64..09dc1f5dd 100644 --- a/src/utils/Messenger.hpp +++ b/src/utils/Messenger.hpp @@ -364,12 +364,8 @@ class Messenger CastType& cast_data = reinterpret_cast<CastType&>(data); _broadcast_value(cast_data, root_rank); } else { -#ifdef PASTIS_HAS_MPI - MPI_Datatype mpi_datatype - = Messenger::helper::mpiType<CastType>(); - MPI_Bcast(reinterpret_cast<CastType*>(&data), sizeof(DataType)/sizeof(CastType), - mpi_datatype, root_rank, MPI_COMM_WORLD); -#endif // PASTIS_HAS_MPI + CastArray cast_array = cast_value_to<CastType>::from(data); + _broadcast_array(cast_array, root_rank); } } else { static_assert(std::is_trivial_v<DataType>, -- GitLab