Read-only mirrors. Development, issues and pull requests are on GitHub.

summaryrefslogtreecommitdiffhomepage
path: root/extras/catch_amalgamated.hpp
diff options
context:
space:
mode:
authorMartin Hořeňovský2026-04-05 15:05:38 +0200
committerMartin Hořeňovský2026-04-05 15:05:38 +0200
commitb670de4fe12ac7c5e858b7de3a14fb4bd18c760e (patch)
tree510e8727ec4a06c47be1b2e2804911943005c0f8 /extras/catch_amalgamated.hpp
parent465e63dad7733f8e014dc043069b1dc64e7c5e75 (diff)
downloadcatch3-3.14.0.tar.gz
v3.14.0v3.14.0
Diffstat (limited to 'extras/catch_amalgamated.hpp')
-rw-r--r--extras/catch_amalgamated.hpp87
1 files changed, 57 insertions, 30 deletions
diff --git a/extras/catch_amalgamated.hpp b/extras/catch_amalgamated.hpp
index 6de74f80..ba6cf8ff 100644
--- a/extras/catch_amalgamated.hpp
+++ b/extras/catch_amalgamated.hpp
@@ -6,8 +6,8 @@
// SPDX-License-Identifier: BSL-1.0
-// Catch v3.13.0
-// Generated: 2026-02-15 22:54:59.817776
+// Catch v3.14.0
+// Generated: 2026-04-05 15:03:01.150393
// ----------------------------------------------------------
// This file is an amalgamation of multiple different files.
// You probably shouldn't edit it directly.
@@ -201,10 +201,15 @@
# define CATCH_INTERNAL_SUPPRESS_ZERO_VARIADIC_WARNINGS \
_Pragma( "clang diagnostic ignored \"-Wc++20-extensions\"" )
# else
-# define CATCH_INTERNAL_SUPPRESS_ZERO_VARIADIC_WARNINGS
+# define CATCH_INTERNAL_SUPPRESS_ZERO_VARIADIC_WARNINGS \
_Pragma( "clang diagnostic ignored \"-Wgnu-zero-variadic-macro-arguments\"" )
# endif
+# if ( __clang_major__ >= 22 )
+# define CATCH_INTERNAL_SUPPRESS_COUNTER_WARNINGS \
+ _Pragma( "clang diagnostic ignored \"-Wc2y-extensions\"" )
+# endif
+
# define CATCH_INTERNAL_SUPPRESS_UNUSED_TEMPLATE_WARNINGS \
_Pragma( "clang diagnostic ignored \"-Wunused-template\"" )
@@ -520,6 +525,9 @@
#if !defined( CATCH_INTERNAL_SUPPRESS_SHADOW_WARNINGS )
# define CATCH_INTERNAL_SUPPRESS_SHADOW_WARNINGS
#endif
+#if !defined( CATCH_INTERNAL_SUPPRESS_COUNTER_WARNINGS )
+# define CATCH_INTERNAL_SUPPRESS_COUNTER_WARNINGS
+#endif
#if defined(__APPLE__) && defined(__apple_build_version__) && (__clang_major__ < 10)
# undef CATCH_INTERNAL_SUPPRESS_UNUSED_TEMPLATE_WARNINGS
@@ -678,8 +686,20 @@ namespace Catch {
#endif // CATCH_CONFIG_COUNTER_HPP_INCLUDED
+
+// Fixme: Clang 22 has an annoying bug where the localized suppression
+// below does not actually suppress the extension warning from
+// using __COUNTER__, so we have to leak the suppression for the
+// whole TU. Hopefully Clang 23 fixes this before full release.
+// As AppleClang does its own thing version-wise, we ignore it
+// completely.
+#if defined( __clang__ ) && ( __clang_major__ >= 22 ) && !defined( __APPLE__ )
+CATCH_INTERNAL_SUPPRESS_COUNTER_WARNINGS
+#endif
+
#define INTERNAL_CATCH_UNIQUE_NAME_LINE2( name, line ) name##line
#define INTERNAL_CATCH_UNIQUE_NAME_LINE( name, line ) INTERNAL_CATCH_UNIQUE_NAME_LINE2( name, line )
+
#ifdef CATCH_CONFIG_COUNTER
# define INTERNAL_CATCH_UNIQUE_NAME( name ) INTERNAL_CATCH_UNIQUE_NAME_LINE( name, __COUNTER__ )
#else
@@ -1011,35 +1031,16 @@ namespace Detail {
#ifndef CATCH_BENCHMARK_STATS_FWD_HPP_INCLUDED
#define CATCH_BENCHMARK_STATS_FWD_HPP_INCLUDED
-
-
-// Adapted from donated nonius code.
-
-#ifndef CATCH_CLOCK_HPP_INCLUDED
-#define CATCH_CLOCK_HPP_INCLUDED
-
-#include <chrono>
-
namespace Catch {
- namespace Benchmark {
- using IDuration = std::chrono::nanoseconds;
- using FDuration = std::chrono::duration<double, std::nano>;
-
- template <typename Clock>
- using TimePoint = typename Clock::time_point;
- using default_clock = std::chrono::steady_clock;
- } // namespace Benchmark
-} // namespace Catch
-
-#endif // CATCH_CLOCK_HPP_INCLUDED
-
-namespace Catch {
+ namespace Detail {
+ struct DummyTemplateArgPlaceholder;
+ }
// We cannot forward declare the type with default template argument
// multiple times, so it is split out into a separate header so that
// we can prevent multiple declarations in dependencies
- template <typename Duration = Benchmark::FDuration>
+ template <typename Duration = Detail::DummyTemplateArgPlaceholder>
struct BenchmarkStats;
} // end namespace Catch
@@ -1338,6 +1339,28 @@ namespace Catch {
// Adapted from donated nonius code.
+#ifndef CATCH_CLOCK_HPP_INCLUDED
+#define CATCH_CLOCK_HPP_INCLUDED
+
+#include <chrono>
+
+namespace Catch {
+ namespace Benchmark {
+ using IDuration = std::chrono::nanoseconds;
+ using FDuration = std::chrono::duration<double, std::nano>;
+
+ template <typename Clock>
+ using TimePoint = typename Clock::time_point;
+
+ using default_clock = std::chrono::steady_clock;
+ } // namespace Benchmark
+} // namespace Catch
+
+#endif // CATCH_CLOCK_HPP_INCLUDED
+
+
+// Adapted from donated nonius code.
+
#ifndef CATCH_ESTIMATE_HPP_INCLUDED
#define CATCH_ESTIMATE_HPP_INCLUDED
@@ -7514,7 +7537,7 @@ namespace Catch {
#define CATCH_VERSION_MACROS_HPP_INCLUDED
#define CATCH_VERSION_MAJOR 3
-#define CATCH_VERSION_MINOR 13
+#define CATCH_VERSION_MINOR 14
#define CATCH_VERSION_PATCH 0
#endif // CATCH_VERSION_MACROS_HPP_INCLUDED
@@ -13967,7 +13990,8 @@ namespace Catch {
* format
*/
void defaultListListeners( std::ostream& out,
- std::vector<ListenerDescription> const& descriptions );
+ std::vector<ListenerDescription> const& descriptions,
+ Verbosity verbosity );
/**
* Lists tag information to the provided stream in user-friendly format
@@ -13976,7 +14000,10 @@ namespace Catch {
* bases. The output should be backwards compatible with the output of
* Catch2 v2 binaries.
*/
- void defaultListTags( std::ostream& out, std::vector<TagInfo> const& tags, bool isFiltered );
+ void defaultListTags( std::ostream& out,
+ std::vector<TagInfo> const& tags,
+ bool isFiltered,
+ Verbosity verbosity );
/**
* Lists test case information to the provided stream in user-friendly
@@ -14126,7 +14153,7 @@ namespace Catch {
bool testOkToFail );
void writeAssertions(SectionNode const& sectionNode);
- void writeAssertion(AssertionStats const& stats);
+ bool writeAssertion(AssertionStats const& stats);
XmlWriter xml;
Timer suiteTimer;