forked from catchorg/Catch2
The compile time improvements from using combined TUs mostly isn't worth the annoyance they cause with various IDE shortcuts, like when switching between header and its impl. file. Splitting them apart also fixes the issue of empty subdirs being installed due to `foo/internal` folders that only contained the combined TUs and no headers. Closes #2457 Closes #2463
30 lines
979 B
C++
30 lines
979 B
C++
|
|
// Copyright Catch2 Authors
|
|
// Distributed under the Boost Software License, Version 1.0.
|
|
// (See accompanying file LICENSE_1_0.txt or copy at
|
|
// https://www.boost.org/LICENSE_1_0.txt)
|
|
|
|
// SPDX-License-Identifier: BSL-1.0
|
|
|
|
#include <catch2/internal/catch_startup_exception_registry.hpp>
|
|
#include <catch2/internal/catch_compiler_capabilities.hpp>
|
|
#include <catch2/catch_user_config.hpp>
|
|
|
|
namespace Catch {
|
|
#if !defined(CATCH_CONFIG_DISABLE_EXCEPTIONS)
|
|
void StartupExceptionRegistry::add( std::exception_ptr const& exception ) noexcept {
|
|
CATCH_TRY {
|
|
m_exceptions.push_back(exception);
|
|
} CATCH_CATCH_ALL {
|
|
// If we run out of memory during start-up there's really not a lot more we can do about it
|
|
std::terminate();
|
|
}
|
|
}
|
|
|
|
std::vector<std::exception_ptr> const& StartupExceptionRegistry::getExceptions() const noexcept {
|
|
return m_exceptions;
|
|
}
|
|
#endif
|
|
|
|
} // end namespace Catch
|