diff --git a/CMakeLists.txt b/CMakeLists.txt index 56c0fd7de..46be997f5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -112,7 +112,7 @@ endif (USE_OPENMP) msvc_use_static_runtime() add_subdirectory(${xgboost_SOURCE_DIR}/dmlc-core) set_target_properties(dmlc PROPERTIES - CXX_STANDARD 11 + CXX_STANDARD 14 CXX_STANDARD_REQUIRED ON POSITION_INDEPENDENT_CODE ON) list(APPEND LINKED_LIBRARIES_PRIVATE dmlc) @@ -195,7 +195,7 @@ target_link_libraries(runxgboost PRIVATE ${LINKED_LIBRARIES_PRIVATE}) set_target_properties( runxgboost PROPERTIES OUTPUT_NAME xgboost - CXX_STANDARD 11 + CXX_STANDARD 14 CXX_STANDARD_REQUIRED ON) #-- End CLI for xgboost diff --git a/Makefile b/Makefile index a49d30777..20ddace00 100644 --- a/Makefile +++ b/Makefile @@ -44,7 +44,7 @@ export CXX = g++ endif endif -export CFLAGS= -DDMLC_LOG_CUSTOMIZE=1 -std=c++11 -Wall -Wno-unknown-pragmas -Iinclude $(ADD_CFLAGS) +export CFLAGS= -DDMLC_LOG_CUSTOMIZE=1 -std=c++14 -Wall -Wno-unknown-pragmas -Iinclude $(ADD_CFLAGS) CFLAGS += -I$(DMLC_CORE)/include -I$(RABIT)/include -I$(GTEST_PATH)/include ifeq ($(TEST_COVER), 1) diff --git a/R-package/CMakeLists.txt b/R-package/CMakeLists.txt index ac763dc61..96776a045 100644 --- a/R-package/CMakeLists.txt +++ b/R-package/CMakeLists.txt @@ -25,7 +25,7 @@ target_include_directories(xgboost-r ${PROJECT_SOURCE_DIR}/rabit/include) set_target_properties( xgboost-r PROPERTIES - CXX_STANDARD 11 + CXX_STANDARD 14 CXX_STANDARD_REQUIRED ON POSITION_INDEPENDENT_CODE ON) diff --git a/R-package/DESCRIPTION b/R-package/DESCRIPTION index 794abdb6d..bd8d8c85d 100644 --- a/R-package/DESCRIPTION +++ b/R-package/DESCRIPTION @@ -64,4 +64,4 @@ Imports: magrittr (>= 1.5), stringi (>= 0.5.2) RoxygenNote: 7.1.0 -SystemRequirements: GNU make, C++11 +SystemRequirements: GNU make, C++14 diff --git a/R-package/src/Makevars.in b/R-package/src/Makevars.in index ac25b5077..c4a8e5147 100644 --- a/R-package/src/Makevars.in +++ b/R-package/src/Makevars.in @@ -3,7 +3,7 @@ PKGROOT=../../ ENABLE_STD_THREAD=1 # _*_ mode: Makefile; _*_ -CXX_STD = CXX11 +CXX_STD = CXX14 XGB_RFLAGS = -DXGBOOST_STRICT_R_MODE=1 -DDMLC_LOG_BEFORE_THROW=0\ -DDMLC_ENABLE_STD_THREAD=$(ENABLE_STD_THREAD) -DDMLC_DISABLE_STDIN=1\ diff --git a/R-package/src/Makevars.win b/R-package/src/Makevars.win index 2e241164e..9c23e0a60 100644 --- a/R-package/src/Makevars.win +++ b/R-package/src/Makevars.win @@ -15,7 +15,7 @@ xgblib: cp -r ../../include . cp -r ../../amalgamation . -CXX_STD = CXX11 +CXX_STD = CXX14 XGB_RFLAGS = -DXGBOOST_STRICT_R_MODE=1 -DDMLC_LOG_BEFORE_THROW=0\ -DDMLC_ENABLE_STD_THREAD=$(ENABLE_STD_THREAD) -DDMLC_DISABLE_STDIN=1\ diff --git a/jvm-packages/CMakeLists.txt b/jvm-packages/CMakeLists.txt index 65c0924cf..422bf8de3 100644 --- a/jvm-packages/CMakeLists.txt +++ b/jvm-packages/CMakeLists.txt @@ -14,7 +14,7 @@ target_include_directories(xgboost4j set_output_directory(xgboost4j ${PROJECT_SOURCE_DIR}/lib) set_target_properties( xgboost4j PROPERTIES - CXX_STANDARD 11 + CXX_STANDARD 14 CXX_STANDARD_REQUIRED ON) target_link_libraries(xgboost4j PRIVATE diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 2dff25cee..48eed9dc4 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -14,7 +14,6 @@ if (USE_CUDA) $<$:--expt-extended-lambda> $<$:--expt-relaxed-constexpr> $<$:-lineinfo> - $<$>,$>:--std=c++11> $<$:${GEN_CODE}>) if (USE_NCCL) @@ -45,6 +44,8 @@ if (USE_CUDA) endif (HIDE_CXX_SYMBOLS) set_target_properties(objxgboost PROPERTIES + CUDA_STANDARD 14 + CUDA_STANDARD_REQUIRED ON CUDA_SEPARABLE_COMPILATION OFF) else (USE_CUDA) add_library(objxgboost OBJECT ${CPU_SOURCES} ${PLUGINS_SOURCES}) @@ -71,7 +72,7 @@ endif (MSVC) set_target_properties(objxgboost PROPERTIES POSITION_INDEPENDENT_CODE ON - CXX_STANDARD 11 + CXX_STANDARD 14 CXX_STANDARD_REQUIRED ON) target_compile_definitions(objxgboost PRIVATE diff --git a/src/common/column_matrix.h b/src/common/column_matrix.h index 7cf9b9071..ad5bfe373 100644 --- a/src/common/column_matrix.h +++ b/src/common/column_matrix.h @@ -35,6 +35,8 @@ class Column { index_(index), index_base_(index_base) {} + virtual ~Column() = default; + uint32_t GetGlobalBinIdx(size_t idx) const { return index_base_ + static_cast(index_[idx]); } diff --git a/src/objective/rank_obj.cu b/src/objective/rank_obj.cu index 30cfdb08a..e7a220dbc 100644 --- a/src/objective/rank_obj.cu +++ b/src/objective/rank_obj.cu @@ -314,7 +314,7 @@ class NDCGLambdaWeightComputer for (size_t i = 0; i < sorted_list.size(); ++i) { labels[i] = sorted_list[i].label; } - std::stable_sort(labels.begin(), labels.end(), std::greater()); + std::stable_sort(labels.begin(), labels.end(), std::greater<>()); IDCG = ComputeGroupDCGWeight(&labels[0], labels.size()); } if (IDCG == 0.0) { diff --git a/src/tree/updater_histmaker.cc b/src/tree/updater_histmaker.cc index dd57354f9..c4fdbe3c0 100644 --- a/src/tree/updater_histmaker.cc +++ b/src/tree/updater_histmaker.cc @@ -699,7 +699,7 @@ class GlobalProposalHistMaker: public CQHistMaker { this->work_set_.insert(this->work_set_.end(), this->fsplit_set_.begin(), this->fsplit_set_.end()); XGBOOST_PARALLEL_SORT(this->work_set_.begin(), this->work_set_.end(), - std::lesswork_set_)::value_type>{}); + std::less<>{}); this->work_set_.resize( std::unique(this->work_set_.begin(), this->work_set_.end()) - this->work_set_.begin()); diff --git a/tests/ci_build/tidy.py b/tests/ci_build/tidy.py index 1ee86de5a..91f100a80 100755 --- a/tests/ci_build/tidy.py +++ b/tests/ci_build/tidy.py @@ -124,8 +124,8 @@ class ClangTidy(object): if pos != -1: converted_components.append( '--cuda-gpu-arch=sm_' + capability) - elif components[i].find('--std=c++11') != -1: - converted_components.append('-std=c++11') + elif components[i].find('--std=c++14') != -1: + converted_components.append('-std=c++14') elif components[i].startswith('-isystem='): converted_components.extend(components[i].split('=')) else: diff --git a/tests/cpp/CMakeLists.txt b/tests/cpp/CMakeLists.txt index 53f3e8809..c0f321f91 100644 --- a/tests/cpp/CMakeLists.txt +++ b/tests/cpp/CMakeLists.txt @@ -24,7 +24,6 @@ if (USE_CUDA) $<$:--expt-extended-lambda> $<$:--expt-relaxed-constexpr> $<$:-lineinfo> - $<$>,$>:--std=c++11> $<$:-Xcompiler=${OpenMP_CXX_FLAGS}> $<$:${GEN_CODE}>) target_compile_definitions(testxgboost @@ -48,6 +47,10 @@ if (USE_CUDA) $<$:-Xcompiler=/utf-8> ) endif (MSVC) + + set_target_properties(testxgboost PROPERTIES + CUDA_STANDARD 14 + CUDA_STANDARD_REQUIRED ON) endif (USE_CUDA) if (MSVC) @@ -64,7 +67,7 @@ target_include_directories(testxgboost ${xgboost_SOURCE_DIR}/rabit/include) set_target_properties( testxgboost PROPERTIES - CXX_STANDARD 11 + CXX_STANDARD 14 CXX_STANDARD_REQUIRED ON) target_link_libraries(testxgboost PRIVATE