From adc795929a52d90ecced21a5279fe175a2a129b3 Mon Sep 17 00:00:00 2001 From: Philip Hyunsu Cho Date: Thu, 30 Jan 2020 21:32:15 -0800 Subject: [PATCH] Fix compilation error due to 64-bit integer narrowing to size_t (#5250) --- src/c_api/c_api.cc | 2 +- src/learner.cc | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/c_api/c_api.cc b/src/c_api/c_api.cc index 756a90f73..85a49f3c6 100644 --- a/src/c_api/c_api.cc +++ b/src/c_api/c_api.cc @@ -311,7 +311,7 @@ XGB_DLL int XGDMatrixSliceDMatrixEx(DMatrixHandle handle, DMatrix* dmat = static_cast*>(handle)->get(); CHECK(dynamic_cast(dmat)) << "Slice only supported for SimpleDMatrix currently."; - data::DMatrixSliceAdapter adapter(dmat, {idxset, len}); + data::DMatrixSliceAdapter adapter(dmat, {idxset, static_cast(len)}); *out = new std::shared_ptr( DMatrix::Create(&adapter, std::numeric_limits::quiet_NaN(), 1)); API_END(); diff --git a/src/learner.cc b/src/learner.cc index c3cca845e..b81af7751 100644 --- a/src/learner.cc +++ b/src/learner.cc @@ -670,9 +670,10 @@ class LearnerImpl : public Learner { for more details about differences between saving model and serializing. )doc"; - int64_t json_offset {-1}; - CHECK_EQ(fp.Read(&json_offset, sizeof(json_offset)), sizeof(json_offset)); - CHECK_GT(json_offset, 0); + int64_t sz {-1}; + CHECK_EQ(fp.Read(&sz, sizeof(sz)), sizeof(sz)); + CHECK_GT(sz, 0); + size_t json_offset = static_cast(sz); std::string buffer; common::FixedSizeStream{&fp}.Take(&buffer);