diff options
| author | Martin Hořeňovský | 2020-10-08 15:26:30 +0200 |
|---|---|---|
| committer | Martin Hořeňovský | 2020-10-08 15:26:30 +0200 |
| commit | b9853b4b356b83bb580c746c3a1f11101f9af54f (patch) | |
| tree | bbf6ab6d04a934d7c40fefab31316fc923ec61fa /extras | |
| parent | 853565bfb88bacab425b55e141cee3a40d72d53c (diff) | |
| download | catch3-3.0.0-preview3.tar.gz | |
Bump version to v3.0.0 preview 3v3.0.0-preview3
Diffstat (limited to 'extras')
| -rw-r--r-- | extras/catch_amalgamated.cpp | 17 | ||||
| -rw-r--r-- | extras/catch_amalgamated.hpp | 47 |
2 files changed, 52 insertions, 12 deletions
diff --git a/extras/catch_amalgamated.cpp b/extras/catch_amalgamated.cpp index c4465d74..43f3eed9 100644 --- a/extras/catch_amalgamated.cpp +++ b/extras/catch_amalgamated.cpp @@ -5,8 +5,8 @@ // SPDX-License-Identifier: BSL-1.0 -// Catch v3.0.0-preview.2 -// Generated: 2020-09-07 20:00:04.097397 +// Catch v3.0.0-preview.3 +// Generated: 2020-10-08 13:59:26.616931 // ---------------------------------------------------------- // This file is an amalgamation of multiple different files. // You probably shouldn't edit it directly. @@ -1784,7 +1784,7 @@ namespace Catch { } Version const& libraryVersion() { - static Version version( 3, 0, 0, "preview", 2 ); + static Version version( 3, 0, 0, "preview", 3 ); return version; } @@ -2678,13 +2678,14 @@ namespace Catch { // vvv formerly catch_uncaught_exceptions.cpp vvv // //////////////////////////////////////////////////// + #include <exception> namespace Catch { bool uncaught_exceptions() { #if defined(CATCH_CONFIG_DISABLE_EXCEPTIONS) return false; -#elif defined(CATCH_CONFIG_CPP17_UNCAUGHT_EXCEPTIONS) || (defined(__cpp_lib_uncaught_exceptions) && !defined(CATCH_CONFIG_NO_CPP17_UNCAUGHT_EXCEPTIONS)) +#elif defined(CATCH_CONFIG_CPP17_UNCAUGHT_EXCEPTIONS) return std::uncaught_exceptions() > 0; #else return std::uncaught_exception(); @@ -3988,7 +3989,7 @@ namespace Catch { if (tmpnam_s(m_buffer)) { CATCH_RUNTIME_ERROR("Could not get a temp filename"); } - if (fopen_s(&m_file, m_buffer, "w")) { + if (fopen_s(&m_file, m_buffer, "w+")) { char buffer[100]; if (strerror_s(buffer, errno)) { CATCH_RUNTIME_ERROR("Could not translate errno to a string"); @@ -5188,10 +5189,10 @@ namespace Catch { namespace { struct HashTest { - explicit HashTest(SimplePcg32& rng) { - basis = rng(); + explicit HashTest(SimplePcg32& rng_inst) { + basis = rng_inst(); basis <<= 32; - basis |= rng(); + basis |= rng_inst(); } uint64_t basis; diff --git a/extras/catch_amalgamated.hpp b/extras/catch_amalgamated.hpp index b78821fa..7f832413 100644 --- a/extras/catch_amalgamated.hpp +++ b/extras/catch_amalgamated.hpp @@ -5,8 +5,8 @@ // SPDX-License-Identifier: BSL-1.0 -// Catch v3.0.0-preview.2 -// Generated: 2020-09-07 20:00:03.521464 +// Catch v3.0.0-preview.3 +// Generated: 2020-10-08 13:59:26.309308 // ---------------------------------------------------------- // This file is an amalgamation of multiple different files. // You probably shouldn't edit it directly. @@ -289,7 +289,7 @@ namespace Catch { // We have to avoid both ICC and Clang, because they try to mask themselves // as gcc, and we want only GCC in this block -#if defined(__GNUC__) && !defined(__clang__) && !defined(__ICC) +#if defined(__GNUC__) && !defined(__clang__) && !defined(__ICC) && !defined(__CUDACC__) # define CATCH_INTERNAL_START_WARNINGS_SUPPRESSION _Pragma( "GCC diagnostic push" ) # define CATCH_INTERNAL_STOP_WARNINGS_SUPPRESSION _Pragma( "GCC diagnostic pop" ) @@ -321,7 +321,7 @@ namespace Catch { // ``` // // Therefore, `CATCH_INTERNAL_IGNORE_BUT_WARN` is not implemented. -# if !defined(__ibmxl__) +# if !defined(__ibmxl__) && !defined(__CUDACC__) # define CATCH_INTERNAL_IGNORE_BUT_WARN(...) (void)__builtin_constant_p(__VA_ARGS__) /* NOLINT(cppcoreguidelines-pro-type-vararg, hicpp-vararg) */ # endif @@ -7472,6 +7472,45 @@ namespace Catch { #endif // CATCH_INTERFACES_ALL_HPP_INCLUDED + +/** \file + * Wrapper for UNCAUGHT_EXCEPTIONS configuration option + * + * For some functionality, Catch2 requires to know whether there is + * an active exception. Because `std::uncaught_exception` is deprecated + * in C++17, we want to use `std::uncaught_exceptions` if possible. + */ + +#ifndef CATCH_CONFIG_UNCAUGHT_EXCEPTIONS_HPP +#define CATCH_CONFIG_UNCAUGHT_EXCEPTIONS_HPP + +#if defined(_MSC_VER) +# if _MSC_VER >= 1900 // Visual Studio 2015 or newer +# define CATCH_INTERNAL_CONFIG_CPP17_UNCAUGHT_EXCEPTIONS +# endif +#endif + + +#include <exception> + +#if defined(__cpp_lib_uncaught_exceptions) \ + && !defined(CATCH_INTERNAL_CONFIG_CPP17_UNCAUGHT_EXCEPTIONS) + +# define CATCH_INTERNAL_CONFIG_CPP17_UNCAUGHT_EXCEPTIONS +#endif // __cpp_lib_uncaught_exceptions + + +#if defined(CATCH_INTERNAL_CONFIG_CPP17_UNCAUGHT_EXCEPTIONS) \ + && !defined(CATCH_CONFIG_NO_CPP17_UNCAUGHT_EXCEPTIONS) \ + && !defined(CATCH_CONFIG_CPP17_UNCAUGHT_EXCEPTIONS) + +# define CATCH_CONFIG_CPP17_UNCAUGHT_EXCEPTIONS +#endif + + +#endif // CATCH_CONFIG_UNCAUGHT_EXCEPTIONS_HPP + + #ifndef CATCH_CONSOLE_COLOUR_HPP_INCLUDED #define CATCH_CONSOLE_COLOUR_HPP_INCLUDED |