From 83dea4dc6ba53bb983ce7673e9e28407cf4c6581 Mon Sep 17 00:00:00 2001 From: Victoriya Fedotova Date: Fri, 14 Feb 2025 04:06:31 -0800 Subject: [PATCH 1/5] Add examples compilation with C++20 on linux --- examples/cmake/setup_examples.cmake | 3 +++ 1 file changed, 3 insertions(+) diff --git a/examples/cmake/setup_examples.cmake b/examples/cmake/setup_examples.cmake index c101c54893a..fcbf0bc26b6 100644 --- a/examples/cmake/setup_examples.cmake +++ b/examples/cmake/setup_examples.cmake @@ -35,6 +35,9 @@ function (set_common_compiler_options) elseif(UNIX) add_compile_options(-pedantic -Wall -Wextra -Werror -Wno-unused-parameter) endif() + if (NOT "${CMAKE_C_COMPILER}" STREQUAL "gcc") + add_compile_options(-std=c++20) + endif() #For Intel(R) DAAL interfaces remove deprecated warnings if (ONEDAL_INTERFACE STREQUAL "no") if (UNIX) From b56e2e018c686ceea61f69c62f04aa4d498662f9 Mon Sep 17 00:00:00 2001 From: Victoriya Fedotova Date: Fri, 14 Feb 2025 05:43:42 -0800 Subject: [PATCH 2/5] Fix template constructors definitions incompatible with C++20 --- cpp/daal/include/algorithms/covariance/covariance_distributed.h | 2 +- .../linear_regression/linear_regression_training_distributed.h | 2 +- .../linear_regression/linear_regression_training_types.h | 2 +- .../ridge_regression/ridge_regression_training_distributed.h | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/cpp/daal/include/algorithms/covariance/covariance_distributed.h b/cpp/daal/include/algorithms/covariance/covariance_distributed.h index f3cfad98338..718b7cac6bc 100644 --- a/cpp/daal/include/algorithms/covariance/covariance_distributed.h +++ b/cpp/daal/include/algorithms/covariance/covariance_distributed.h @@ -564,7 +564,7 @@ class Distributed : public Online() : Online() {} + Distributed() : Online() {} /** * Constructs an algorithm for correlation or variance-covariance matrix computation diff --git a/cpp/daal/include/algorithms/linear_regression/linear_regression_training_distributed.h b/cpp/daal/include/algorithms/linear_regression/linear_regression_training_distributed.h index 3f613bfacd8..9023d6047b2 100644 --- a/cpp/daal/include/algorithms/linear_regression/linear_regression_training_distributed.h +++ b/cpp/daal/include/algorithms/linear_regression/linear_regression_training_distributed.h @@ -145,7 +145,7 @@ class Distributed : public Online() {} + Distributed() {} /** * Constructs a linear regression training algorithm in the first step of the distributed processing mode diff --git a/cpp/daal/include/algorithms/linear_regression/linear_regression_training_types.h b/cpp/daal/include/algorithms/linear_regression/linear_regression_training_types.h index daec99ca2a9..5ba0d20edb1 100644 --- a/cpp/daal/include/algorithms/linear_regression/linear_regression_training_types.h +++ b/cpp/daal/include/algorithms/linear_regression/linear_regression_training_types.h @@ -284,7 +284,7 @@ template <> class DAAL_EXPORT DistributedInput : public daal::algorithms::Input, public InputIface { public: - DistributedInput(); + DistributedInput(); /** * Gets an input object for linear regression model-based training * in the second step of the distributed processing mode diff --git a/cpp/daal/include/algorithms/ridge_regression/ridge_regression_training_distributed.h b/cpp/daal/include/algorithms/ridge_regression/ridge_regression_training_distributed.h index cb6eabcbe37..bdd0f5887a8 100644 --- a/cpp/daal/include/algorithms/ridge_regression/ridge_regression_training_distributed.h +++ b/cpp/daal/include/algorithms/ridge_regression/ridge_regression_training_distributed.h @@ -138,7 +138,7 @@ class Distributed : public Online() : Online() {} + Distributed() : Online() {} /** * Constructs a ridge regression training algorithm in the first step of the distributed processing mode by copying input objects and parameters From f5fd327ea350ae2f964c196d9acfcc7d07d4a157 Mon Sep 17 00:00:00 2001 From: Victoriya Fedotova Date: Fri, 14 Feb 2025 09:44:39 -0800 Subject: [PATCH 3/5] Change Alloc::pointer (invalid since C++11) to std::allocator_traits::pointer --- cpp/oneapi/dal/detail/common.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cpp/oneapi/dal/detail/common.hpp b/cpp/oneapi/dal/detail/common.hpp index 0bdae47ddb3..6debe99c0cf 100644 --- a/cpp/oneapi/dal/detail/common.hpp +++ b/cpp/oneapi/dal/detail/common.hpp @@ -463,7 +463,7 @@ static constexpr auto allocate(Alloc& alloc, std::int64_t count) { } template -static constexpr void deallocate(Alloc& alloc, typename Alloc::pointer ptr, std::int64_t count) { +static constexpr void deallocate(Alloc& alloc, typename std::allocator_traits::pointer ptr, std::int64_t count) { using allocator_traits_t = typename std::allocator_traits::template rebind_traits; if (ptr != nullptr) { From ee5cac291585ba865b4daed44133808f6c264507 Mon Sep 17 00:00:00 2001 From: Victoriya Fedotova Date: Fri, 14 Feb 2025 09:51:29 -0800 Subject: [PATCH 4/5] clang-format --- cpp/oneapi/dal/detail/common.hpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/cpp/oneapi/dal/detail/common.hpp b/cpp/oneapi/dal/detail/common.hpp index 6debe99c0cf..a8b8ac01dfc 100644 --- a/cpp/oneapi/dal/detail/common.hpp +++ b/cpp/oneapi/dal/detail/common.hpp @@ -463,7 +463,9 @@ static constexpr auto allocate(Alloc& alloc, std::int64_t count) { } template -static constexpr void deallocate(Alloc& alloc, typename std::allocator_traits::pointer ptr, std::int64_t count) { +static constexpr void deallocate(Alloc& alloc, + typename std::allocator_traits::pointer ptr, + std::int64_t count) { using allocator_traits_t = typename std::allocator_traits::template rebind_traits; if (ptr != nullptr) { From 55081cbc1ec20175e8bed5ef86469cb460f648a4 Mon Sep 17 00:00:00 2001 From: Victoriya Fedotova Date: Fri, 14 Feb 2025 12:54:42 -0800 Subject: [PATCH 5/5] Revert the change in cmake --- examples/cmake/setup_examples.cmake | 3 --- 1 file changed, 3 deletions(-) diff --git a/examples/cmake/setup_examples.cmake b/examples/cmake/setup_examples.cmake index fcbf0bc26b6..c101c54893a 100644 --- a/examples/cmake/setup_examples.cmake +++ b/examples/cmake/setup_examples.cmake @@ -35,9 +35,6 @@ function (set_common_compiler_options) elseif(UNIX) add_compile_options(-pedantic -Wall -Wextra -Werror -Wno-unused-parameter) endif() - if (NOT "${CMAKE_C_COMPILER}" STREQUAL "gcc") - add_compile_options(-std=c++20) - endif() #For Intel(R) DAAL interfaces remove deprecated warnings if (ONEDAL_INTERFACE STREQUAL "no") if (UNIX)