diff --git a/include/oneapi/tbb/detail/_exception.h b/include/oneapi/tbb/detail/_exception.h index 21c61188d0d..afd4de04c1a 100644 --- a/include/oneapi/tbb/detail/_exception.h +++ b/include/oneapi/tbb/detail/_exception.h @@ -1,5 +1,5 @@ /* - Copyright (c) 2005-2021 Intel Corporation + Copyright (c) 2005-2023 Intel Corporation Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -69,6 +69,7 @@ class TBB_EXPORT missing_wait : public std::exception { class TBB_EXPORT unsafe_wait : public std::runtime_error { public: unsafe_wait(const char* msg) : std::runtime_error(msg) {} + const char* __TBB_EXPORTED_METHOD what() const noexcept(true) override; }; //! Gathers all throw operators in one place. diff --git a/src/tbb/def/win32-tbb.def b/src/tbb/def/win32-tbb.def index 68639140286..7430150aa62 100644 --- a/src/tbb/def/win32-tbb.def +++ b/src/tbb/def/win32-tbb.def @@ -1,4 +1,4 @@ -; Copyright (c) 2005-2021 Intel Corporation +; Copyright (c) 2005-2023 Intel Corporation ; ; Licensed under the Apache License, Version 2.0 (the "License"); ; you may not use this file except in compliance with the License. @@ -51,6 +51,7 @@ EXPORTS ?what@bad_last_alloc@r1@detail@tbb@@UBEPBDXZ ?what@user_abort@r1@detail@tbb@@UBEPBDXZ ?what@missing_wait@r1@detail@tbb@@UBEPBDXZ +?what@unsafe_wait@r1@detail@tbb@@UBEPBDXZ ; RTM Mutex (rtm_mutex.cpp) ?acquire@r1@detail@tbb@@YAXAAVrtm_mutex@d1@23@AAVscoped_lock@4523@_N@Z diff --git a/src/tbb/def/win64-tbb.def b/src/tbb/def/win64-tbb.def index 306903c1291..278b7f08ce4 100644 --- a/src/tbb/def/win64-tbb.def +++ b/src/tbb/def/win64-tbb.def @@ -1,4 +1,4 @@ -; Copyright (c) 2005-2021 Intel Corporation +; Copyright (c) 2005-2023 Intel Corporation ; ; Licensed under the Apache License, Version 2.0 (the "License"); ; you may not use this file except in compliance with the License. @@ -51,6 +51,7 @@ EXPORTS ?what@bad_last_alloc@r1@detail@tbb@@UEBAPEBDXZ ?what@user_abort@r1@detail@tbb@@UEBAPEBDXZ ?what@missing_wait@r1@detail@tbb@@UEBAPEBDXZ +?what@unsafe_wait@r1@detail@tbb@@UEBAPEBDXZ ; RTM Mutex (rtm_mutex.cpp) ?try_acquire@r1@detail@tbb@@YA_NAEAVrtm_mutex@d1@23@AEAVscoped_lock@4523@@Z diff --git a/src/tbb/exception.cpp b/src/tbb/exception.cpp index efc9b2a4d6e..43a50125f9e 100644 --- a/src/tbb/exception.cpp +++ b/src/tbb/exception.cpp @@ -1,5 +1,5 @@ /* - Copyright (c) 2005-2022 Intel Corporation + Copyright (c) 2005-2023 Intel Corporation Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -39,6 +39,7 @@ namespace r1 { const char* bad_last_alloc::what() const noexcept(true) { return "bad allocation in previous or concurrent attempt"; } const char* user_abort::what() const noexcept(true) { return "User-initiated abort has terminated this operation"; } const char* missing_wait::what() const noexcept(true) { return "wait() was not called on the structured_task_group"; } +const char* unsafe_wait::what() const noexcept(true) { return std::runtime_error::what(); } #if TBB_USE_EXCEPTIONS template