<feed xmlns='http://www.w3.org/2005/Atom'>
<title>catch3/src/catch2, 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>v3.5.4</title>
<updated>2024-04-10T10:05:46+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2024-04-10T10:05:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=b5373dadca40b7edc8570cf9470b9b1cb1934d40'/>
<id>b5373dadca40b7edc8570cf9470b9b1cb1934d40</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<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>Replace last use of std::uniform_int_distribution with our own</title>
<updated>2024-04-03T11:28:26+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2024-04-02T16:13:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=bff6e35e2b239217f3940ed52429f94b745adc50'/>
<id>bff6e35e2b239217f3940ed52429f94b745adc50</id>
<content type='text'>
Our implementation should be slightly faster, and has the
advantage of being consistent between platforms. This does not
have immediate user impact, because we currently use random_device
to generate random seed for resampling, but if we decide to change
this in the future, it is one less place to fix.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Our implementation should be slightly faster, and has the
advantage of being consistent between platforms. This does not
have immediate user impact, because we currently use random_device
to generate random seed for resampling, but if we decide to change
this in the future, it is one less place to fix.
</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>Allow CATCH_CONFIG_DEFAULT_REPORTER to be arbitrary reporter spec</title>
<updated>2024-03-27T09:03:51+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2024-03-26T22:48:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=7ce35799767de7b9c6ba836c72e479c5f70219a3'/>
<id>7ce35799767de7b9c6ba836c72e479c5f70219a3</id>
<content type='text'>
Previously it could be just plain reporter name, e.g. `xml`, but
it could not specify other reporter options. This change is not
particularly useful for the built-in reporters, as it mostly comes
in handy for combining specific custom reporter with custom arguments,
and the built-in reporters do not have those.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previously it could be just plain reporter name, e.g. `xml`, but
it could not specify other reporter options. This change is not
particularly useful for the built-in reporters, as it mostly comes
in handy for combining specific custom reporter with custom arguments,
and the built-in reporters do not have those.
</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>v3.5.3</title>
<updated>2024-03-01T21:07:10+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2024-03-01T21:07:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=8ac8190e494a381072c89f5e161b92a08d98b37b'/>
<id>8ac8190e494a381072c89f5e161b92a08d98b37b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
