Skip to content

Commit b5373da

Browse files
committed
v3.5.4
1 parent cd8f97e commit b5373da

File tree

7 files changed

+138
-98
lines changed

7 files changed

+138
-98
lines changed

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ if (CMAKE_BINARY_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
3333
endif()
3434

3535
project(Catch2
36-
VERSION 3.5.3 # CML version placeholder, don't delete
36+
VERSION 3.5.4 # CML version placeholder, don't delete
3737
LANGUAGES CXX
3838
# HOMEPAGE_URL is not supported until CMake version 3.12, which
3939
# we do not target yet.

docs/release-notes.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
# Release notes
44
**Contents**<br>
5+
[3.5.4](#354)<br>
56
[3.5.3](#353)<br>
67
[3.5.2](#352)<br>
78
[3.5.1](#351)<br>
@@ -61,6 +62,29 @@
6162
[Even Older versions](#even-older-versions)<br>
6263

6364

65+
## 3.5.4
66+
67+
### Fixes
68+
* Fixed potential compilation error when asked to generate random integers whose type did not match `std::(u)int*_t`.
69+
* This manifested itself when generating random `size_t`s on MacOS
70+
* Added missing outlined destructor causing `Wdelete-incomplete` when compiling against libstdc++ in C++23 mode (#2852)
71+
* Fixed regression where decomposing assertion with const instance of `std::foo_ordering` would not compile
72+
73+
### Improvements
74+
* Reintroduced support for GCC 5 and 6 (#2836)
75+
* As with VS2017, if they start causing trouble again, they will be dropped again.
76+
* Added workaround for targetting newest MacOS (Sonoma) using GCC (#2837, #2839)
77+
* `CATCH_CONFIG_DEFAULT_REPORTER` can now be an arbitrary reporter spec
78+
* Previously it could only be a plain reporter name, so it was impossible to compile in custom arguments to the reporter.
79+
* Improved performance of generating 64bit random integers by 20+%
80+
81+
### Miscellaneous
82+
* Significantly improved Conan in-tree recipe (#2831)
83+
* `DL_PATHS` in `catch_discover_tests` now supports multiple arguments (#2852, #2736)
84+
* Fixed preprocessor logic for checking whether we expect reproducible floating point results in tests.
85+
* Improved the floating point tests structure to avoid `Wunused` when the reproducibility tests are disabled (#2845)
86+
87+
6488
## 3.5.3
6589

6690
### Fixes

extras/catch_amalgamated.cpp

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66

77
// SPDX-License-Identifier: BSL-1.0
88

9-
// Catch v3.5.3
10-
// Generated: 2024-03-01 22:05:56.038084
9+
// Catch v3.5.4
10+
// Generated: 2024-04-10 12:03:46.281848
1111
// ----------------------------------------------------------
1212
// This file is an amalgamation of multiple different files.
1313
// You probably shouldn't edit it directly.
@@ -187,7 +187,7 @@ namespace Catch {
187187
double const* last,
188188
Estimator& estimator ) {
189189
auto n = static_cast<size_t>( last - first );
190-
std::uniform_int_distribution<size_t> dist( 0, n - 1 );
190+
Catch::uniform_integer_distribution<size_t> dist( 0, n - 1 );
191191

192192
sample out;
193193
out.reserve( resamples );
@@ -807,14 +807,16 @@ namespace Catch {
807807

808808
// Insert the default reporter if user hasn't asked for a specific one
809809
if ( m_data.reporterSpecifications.empty() ) {
810-
m_data.reporterSpecifications.push_back( {
811810
#if defined( CATCH_CONFIG_DEFAULT_REPORTER )
812-
CATCH_CONFIG_DEFAULT_REPORTER,
811+
const auto default_spec = CATCH_CONFIG_DEFAULT_REPORTER;
813812
#else
814-
"console",
813+
const auto default_spec = "console";
815814
#endif
816-
{}, {}, {}
817-
} );
815+
auto parsed = parseReporterSpec(default_spec);
816+
CATCH_ENFORCE( parsed,
817+
"Cannot parse the provided default reporter spec: '"
818+
<< default_spec << '\'' );
819+
m_data.reporterSpecifications.push_back( std::move( *parsed ) );
818820
}
819821

820822
if ( enableBazelEnvSupport() ) {
@@ -2271,7 +2273,7 @@ namespace Catch {
22712273
}
22722274

22732275
Version const& libraryVersion() {
2274-
static Version version( 3, 5, 3, "", 0 );
2276+
static Version version( 3, 5, 4, "", 0 );
22752277
return version;
22762278
}
22772279

@@ -6601,6 +6603,8 @@ namespace Catch {
66016603
return getRegistryHub().getTestCaseRegistry().getAllTestsSorted( config );
66026604
}
66036605

6606+
TestRegistry::~TestRegistry() = default;
6607+
66046608
void TestRegistry::registerTest(Detail::unique_ptr<TestCaseInfo> testInfo, Detail::unique_ptr<ITestInvoker> testInvoker) {
66056609
m_handles.emplace_back(testInfo.get(), testInvoker.get());
66066610
m_viewed_test_infos.push_back(testInfo.get());

0 commit comments

Comments
 (0)