From d240463b38b1074d68896832a1a4541c309180f1 Mon Sep 17 00:00:00 2001 From: Jiaming Yuan Date: Mon, 17 Aug 2020 20:10:15 +0800 Subject: [PATCH] Revert "Remove warning about memset. (#6003)" (#6020) This reverts commit 12e3fb6a6cb601c58d39ed54253e6e50f1513ccc. --- src/common/hist_util.cc | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/common/hist_util.cc b/src/common/hist_util.cc index 7f4912317..efd62d701 100644 --- a/src/common/hist_util.cc +++ b/src/common/hist_util.cc @@ -500,13 +500,13 @@ void GHistIndexBlockMatrix::Init(const GHistIndexMatrix& gmat, */ template void InitilizeHistByZeroes(GHistRow hist, size_t begin, size_t end) { - static_assert(sizeof(xgboost::detail::GradientPairInternal) % - sizeof(GradientSumT) == - 0, - ""); - auto p_data = reinterpret_cast(hist.data()); - memset(p_data + begin, '\0', (end-begin)* +#if defined(XGBOOST_STRICT_R_MODE) && XGBOOST_STRICT_R_MODE == 1 + std::fill(hist.begin() + begin, hist.begin() + end, + xgboost::detail::GradientPairInternal()); +#else // defined(XGBOOST_STRICT_R_MODE) && XGBOOST_STRICT_R_MODE == 1 + memset(hist.data() + begin, '\0', (end-begin)* sizeof(xgboost::detail::GradientPairInternal)); +#endif // defined(XGBOOST_STRICT_R_MODE) && XGBOOST_STRICT_R_MODE == 1 } template void InitilizeHistByZeroes(GHistRow hist, size_t begin, size_t end);