<feed xmlns='http://www.w3.org/2005/Atom'>
<title>catch3/src/catch2/internal, branch v3.5.4</title>
<subtitle>Progmasoft Catch3: an independently maintained C++17 test framework with a parallel runner, property checks, snapshots and structured results.</subtitle>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/'/>
<entry>
<title>Explicitly outline TestRegistry destructor into .cpp file</title>
<updated>2024-04-08T11:57:59+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2024-04-08T11:57:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=cd8f97e6c7f6aaf332992f83bf9d7ee7f357f85e'/>
<id>cd8f97e6c7f6aaf332992f83bf9d7ee7f357f85e</id>
<content type='text'>
This fixes compilation issue with C++23 mode against libstdc++.

Closes #2852
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This fixes compilation issue with C++23 mode against libstdc++.

Closes #2852
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix assertion for const instance of std::ordering</title>
<updated>2024-04-08T09:33:43+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2024-04-08T09:02:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=71b11c4e3328090d2ec72268299e3fb9e0ac3f8e'/>
<id>71b11c4e3328090d2ec72268299e3fb9e0ac3f8e</id>
<content type='text'>
The issue was that `capture_by_value` was meant to be specialized
by plain type, e.g. `capture_by_value&lt;std::weak_ordering&gt;`, but
the TMP in Decomposer did not properly throw away `const` (and
`volatile`) qualifiers, before taking the value of `capture_by_value`.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The issue was that `capture_by_value` was meant to be specialized
by plain type, e.g. `capture_by_value&lt;std::weak_ordering&gt;`, but
the TMP in Decomposer did not properly throw away `const` (and
`volatile`) qualifiers, before taking the value of `capture_by_value`.
</pre>
</div>
</content>
</entry>
<entry>
<title>Optimize 64x64 extended multiplication implementation</title>
<updated>2024-04-03T11:28:25+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2024-04-02T16:09:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=d99eb8bec8de53639540820ee2a6563b88c4ba8c'/>
<id>d99eb8bec8de53639540820ee2a6563b88c4ba8c</id>
<content type='text'>
Now we use intrinsics when possible, and fallback to optimized
implementation in portable C++. The difference is about 4x when
we can use intrinsics and about 2x when we cannot.

This should speed up our Lemire's algorithm implementation nicely.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Now we use intrinsics when possible, and fallback to optimized
implementation in portable C++. The difference is about 4x when
we can use intrinsics and about 2x when we cannot.

This should speed up our Lemire's algorithm implementation nicely.
</pre>
</div>
</content>
</entry>
<entry>
<title>Use SizedUnsignedType_t to pick UnsignedType for uniform_integer_distribution</title>
<updated>2024-04-03T11:27:10+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2024-04-03T10:29:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=f181de9df4c43f188ae932a412af32a0981c9067'/>
<id>f181de9df4c43f188ae932a412af32a0981c9067</id>
<content type='text'>
The previously used `make_unsigned` approach combined with the overload
set of `extendedMult` caused compilation issues on MacOS platform. By
forcing the selection to be one of `std::uintX_t` types we don't need
to complicate the overload set further.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The previously used `make_unsigned` approach combined with the overload
set of `extendedMult` caused compilation issues on MacOS platform. By
forcing the selection to be one of `std::uintX_t` types we don't need
to complicate the overload set further.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add workaround for unguarded use of __has_extension</title>
<updated>2024-03-12T21:57:59+00:00</updated>
<author>
<name>morinmorin</name>
</author>
<published>2024-03-12T17:10:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=eb8f2c5810f29bd513ccc9ffee90e3c2997f4840'/>
<id>eb8f2c5810f29bd513ccc9ffee90e3c2997f4840</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix build with gcc 5.4</title>
<updated>2024-03-12T16:15:03+00:00</updated>
<author>
<name>Cristian Morales Vega</name>
</author>
<published>2024-03-11T11:33:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=459ac8562b4f4b23280003beabeca910e823627a'/>
<id>459ac8562b4f4b23280003beabeca910e823627a</id>
<content type='text'>
The Core Guidelines state "A base class destructor should be either
public and virtual, or protected and non-virtual" so, hopefully, no
static analyser will complain.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The Core Guidelines state "A base class destructor should be either
public and virtual, or protected and non-virtual" so, hopefully, no
static analyser will complain.
</pre>
</div>
</content>
</entry>
<entry>
<title>less copies and allocations in replaceInPlace</title>
<updated>2024-03-01T20:24:45+00:00</updated>
<author>
<name>Martin Jeřábek</name>
</author>
<published>2024-02-25T17:01:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=4d8affc989cc13f60796f66781b8729d175c18e9'/>
<id>4d8affc989cc13f60796f66781b8729d175c18e9</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix various useful clang-tidy warnings</title>
<updated>2024-03-01T20:24:45+00:00</updated>
<author>
<name>Martin Jeřábek</name>
</author>
<published>2024-03-01T10:15:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=cde35096641d55b4aa0f743bb03e04703fbb5e9c'/>
<id>cde35096641d55b4aa0f743bb03e04703fbb5e9c</id>
<content type='text'>
* bugprone-branch-clone
* bugprone-copy-constructor-init
* bugprone-empty-catch
* bugprone-sizeof-expression
* bugprone-switch-missing-default-case
* bugprone-unused-local-non-trivial-variable
* clang-analyzer-core.uninitialized.Assign
* clang-analyzer-cplusplus.Move
* clang-analyzer-optin.cplusplus.VirtualCall
* modernize-loop-convert
* modernize-raw-string-literal
* modernize-use-equals-default
* modernize-use-override
* modernize-use-using
* performance-avoid-endl
* performance-inefficient-string-concatenation
* performance-inefficient-vector-operation
* performance-noexcept-move-constructor
* performance-unnecessary-value-param (and improve generator example)
* readability-duplicate-include
* readability-inconsistent-declaration-parameter-name
* readability-non-const-parameter
* readability-redundant-casting
* readability-redundant-member-init
* readability-redundant-smartptr-get
* readability-static-accessed-through-instance
* unused variable in amalgamted tests
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* bugprone-branch-clone
* bugprone-copy-constructor-init
* bugprone-empty-catch
* bugprone-sizeof-expression
* bugprone-switch-missing-default-case
* bugprone-unused-local-non-trivial-variable
* clang-analyzer-core.uninitialized.Assign
* clang-analyzer-cplusplus.Move
* clang-analyzer-optin.cplusplus.VirtualCall
* modernize-loop-convert
* modernize-raw-string-literal
* modernize-use-equals-default
* modernize-use-override
* modernize-use-using
* performance-avoid-endl
* performance-inefficient-string-concatenation
* performance-inefficient-vector-operation
* performance-noexcept-move-constructor
* performance-unnecessary-value-param (and improve generator example)
* readability-duplicate-include
* readability-inconsistent-declaration-parameter-name
* readability-non-const-parameter
* readability-redundant-casting
* readability-redundant-member-init
* readability-redundant-smartptr-get
* readability-static-accessed-through-instance
* unused variable in amalgamted tests
</pre>
</div>
</content>
</entry>
<entry>
<title>Evaluate argument of TEST_CASE in static-analysis mode</title>
<updated>2024-03-01T20:24:45+00:00</updated>
<author>
<name>Martin Jeřábek</name>
</author>
<published>2024-02-19T17:38:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=dca87563bb008b94ed5b8b51ccda35f0d821473e'/>
<id>dca87563bb008b94ed5b8b51ccda35f0d821473e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Evaluate argument of (DYNAMIC_)SECTION in static-analysis mode</title>
<updated>2024-03-01T20:24:45+00:00</updated>
<author>
<name>Martin Jeřábek</name>
</author>
<published>2024-02-19T17:17:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=da303cc6687326e73f4272855984498046519851'/>
<id>da303cc6687326e73f4272855984498046519851</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
