diff options
Diffstat (limited to 'tests/benchmarks/corelib/tools/qsharedpointer')
-rw-r--r-- | tests/benchmarks/corelib/tools/qsharedpointer/CMakeLists.txt | 5 | ||||
-rw-r--r-- | tests/benchmarks/corelib/tools/qsharedpointer/tst_bench_shared_ptr.cpp | 15 |
2 files changed, 18 insertions, 2 deletions
diff --git a/tests/benchmarks/corelib/tools/qsharedpointer/CMakeLists.txt b/tests/benchmarks/corelib/tools/qsharedpointer/CMakeLists.txt index 5103fc3229..6adf1f2e4e 100644 --- a/tests/benchmarks/corelib/tools/qsharedpointer/CMakeLists.txt +++ b/tests/benchmarks/corelib/tools/qsharedpointer/CMakeLists.txt @@ -1,9 +1,12 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: BSD-3-Clause + qt_internal_add_benchmark(tst_bench_shared_ptr SOURCES tst_bench_shared_ptr.cpp INCLUDE_DIRECTORIES . - PUBLIC_LIBRARIES + LIBRARIES Qt::Core Qt::Test ) diff --git a/tests/benchmarks/corelib/tools/qsharedpointer/tst_bench_shared_ptr.cpp b/tests/benchmarks/corelib/tools/qsharedpointer/tst_bench_shared_ptr.cpp index 55071120b2..6197863601 100644 --- a/tests/benchmarks/corelib/tools/qsharedpointer/tst_bench_shared_ptr.cpp +++ b/tests/benchmarks/corelib/tools/qsharedpointer/tst_bench_shared_ptr.cpp @@ -1,5 +1,6 @@ // Copyright (C) 2021 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com, author Marc Mutz <marc.mutz@kdab.com> -// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 +// Copyright (C) 2022 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only #include <QObject> #include <QScopeGuard> @@ -14,6 +15,18 @@ #if __has_include(<boost/shared_ptr.hpp>) # include <boost/shared_ptr.hpp> # include <boost/make_shared.hpp> + +# ifdef BOOST_NO_EXCEPTIONS +// https://stackoverflow.com/a/9530546/134841 +// https://www.boost.org/doc/libs/1_79_0/libs/throw_exception/doc/html/throw_exception.html#throw_exception +BOOST_NORETURN void boost::throw_exception(const std::exception &) { std::terminate(); } +# if BOOST_VERSION >= 107300 +// https://www.boost.org/doc/libs/1_79_0/libs/throw_exception/doc/html/throw_exception.html#changes_in_1_73_0 +BOOST_NORETURN void boost::throw_exception(const std::exception &, const boost::source_location &) +{ std::terminate(); } +# endif // Boost v1.73 +# endif // BOOST_NO_EXCEPTIONS + # define ONLY_IF_BOOST(x) x #else # define ONLY_IF_BOOST(x) QSKIP("This benchmark requires Boost.SharedPtr.") |