From 6b898a63cd9998914b1e2633ea6fcef2198b6173 Mon Sep 17 00:00:00 2001 From: "Boyarinov, Konstantin" Date: Thu, 20 Feb 2025 14:34:56 +0200 Subject: [PATCH 1/2] Add LTO visibility for wait_context_vertex --- include/oneapi/tbb/detail/_config.h | 6 ++++++ include/oneapi/tbb/detail/_task.h | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/include/oneapi/tbb/detail/_config.h b/include/oneapi/tbb/detail/_config.h index 854f13b568..0551db6cab 100644 --- a/include/oneapi/tbb/detail/_config.h +++ b/include/oneapi/tbb/detail/_config.h @@ -332,6 +332,12 @@ #define __TBB_nodiscard #endif +#if __clang__ + #define __TBB_lto_visibility_public [[clang::lto_visibility_public]] +#else + #define __TBB_lto_visibility_public +#endif + #define __TBB_CPP17_UNCAUGHT_EXCEPTIONS_PRESENT (_MSC_VER >= 1900 || __GLIBCXX__ && __cpp_lib_uncaught_exceptions \ || _LIBCPP_VERSION >= 3700 && (!__TBB_MACOS_TARGET_VERSION || __TBB_MACOS_TARGET_VERSION >= 101200)) diff --git a/include/oneapi/tbb/detail/_task.h b/include/oneapi/tbb/detail/_task.h index 400f9cd41c..fb0cfc01d2 100644 --- a/include/oneapi/tbb/detail/_task.h +++ b/include/oneapi/tbb/detail/_task.h @@ -155,7 +155,7 @@ class wait_context { } }; -class wait_tree_vertex_interface { +class __TBB_lto_visibility_public wait_tree_vertex_interface { public: virtual void reserve(std::uint32_t delta = 1) = 0; virtual void release(std::uint32_t delta = 1) = 0; From e70215cceff846b2cbabc3f687a757dea96f9fa2 Mon Sep 17 00:00:00 2001 From: "Boyarinov, Konstantin" Date: Thu, 20 Feb 2025 15:04:05 +0200 Subject: [PATCH 2/2] Fix copyright for _task.h --- include/oneapi/tbb/detail/_task.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/oneapi/tbb/detail/_task.h b/include/oneapi/tbb/detail/_task.h index fb0cfc01d2..7c538a29be 100644 --- a/include/oneapi/tbb/detail/_task.h +++ b/include/oneapi/tbb/detail/_task.h @@ -1,5 +1,5 @@ /* - Copyright (c) 2020-2024 Intel Corporation + Copyright (c) 2020-2025 Intel Corporation Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License.