<feed xmlns='http://www.w3.org/2005/Atom'>
<title>catch3/include/internal/catch_compiler_capabilities.h, branch v2.13.8</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>Fix warning suppressions leaking under clang.exe</title>
<updated>2021-08-30T21:26:51+00:00</updated>
<author>
<name>Jørgen P. Tjernø</name>
</author>
<published>2021-08-27T23:59:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=4b9780201bbebdd8468d74cf028c53da3c83a187'/>
<id>4b9780201bbebdd8468d74cf028c53da3c83a187</id>
<content type='text'>
When running clang.exe under Windows, catch.hpp leaks warning
suppressions because it uses `#pragma warning(push)` &amp; `#pragma
warning(pop)` around warning suppressions like `#pragma clang diagnostic
ignore "-Wunused-variable"`, instead of using `#pragma clang diagnostic
push` and `#pragma clang diagnostic pop`.

This fixes that by only defining
`CATCH_INTERNAL_START_WARNINGS_SUPPRESSION` and
`CATCH_INTERNAL_STOP_WARNINGS_SUPPRESSION` to be the cl.exe variants if
`defined(_MSC_VER) &amp;&amp; !defined(__clang__)`.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When running clang.exe under Windows, catch.hpp leaks warning
suppressions because it uses `#pragma warning(push)` &amp; `#pragma
warning(pop)` around warning suppressions like `#pragma clang diagnostic
ignore "-Wunused-variable"`, instead of using `#pragma clang diagnostic
push` and `#pragma clang diagnostic pop`.

This fixes that by only defining
`CATCH_INTERNAL_START_WARNINGS_SUPPRESSION` and
`CATCH_INTERNAL_STOP_WARNINGS_SUPPRESSION` to be the cl.exe variants if
`defined(_MSC_VER) &amp;&amp; !defined(__clang__)`.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix compiling v2.x with C++17 + Clang 5 + libstdc++ v5</title>
<updated>2021-05-25T21:50:45+00:00</updated>
<author>
<name>Dimitrij Mijoski</name>
</author>
<published>2021-03-26T12:04:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=531a149ae70dd4143ba1ac28e33d40ab612d3897'/>
<id>531a149ae70dd4143ba1ac28e33d40ab612d3897</id>
<content type='text'>
This basically tests the combination where the compiler supports most
of C++17 but the library does not.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This basically tests the combination where the compiler supports most
of C++17 but the library does not.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add lcc to the list of unwanted compilers that mimic gcc</title>
<updated>2021-04-04T12:05:39+00:00</updated>
<author>
<name>Pavel Kamenov</name>
</author>
<published>2021-03-30T06:25:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=4cb3220a8a648eb5af5c250c939ed49c648cfc04'/>
<id>4cb3220a8a648eb5af5c250c939ed49c648cfc04</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Improve detection of std::uncaught_exceptions support</title>
<updated>2020-10-06T09:07:53+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2020-10-06T09:07:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=e6f5e05ebcc46355fe737d8d747f8ed95edc99d1'/>
<id>e6f5e05ebcc46355fe737d8d747f8ed95edc99d1</id>
<content type='text'>
The problem was that Catch2 did not reliably include `&lt;exception&gt;`
before it checked for the feature test macro for
`std::uncaught_exceptions`. To avoid overhead of including
`&lt;exception&gt;` everywhere, the configuration check was split out
into a separate header.

Closes #2021
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The problem was that Catch2 did not reliably include `&lt;exception&gt;`
before it checked for the feature test macro for
`std::uncaught_exceptions`. To avoid overhead of including
`&lt;exception&gt;` everywhere, the configuration check was split out
into a separate header.

Closes #2021
</pre>
</div>
</content>
</entry>
<entry>
<title>Disable __builtin_constant_p when compiling with nvcc</title>
<updated>2020-09-18T14:07:18+00:00</updated>
<author>
<name>Will Pazner</name>
</author>
<published>2020-09-17T16:45:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=00db4fb4970a3f31900581b8018dd77cdbc8f2b4'/>
<id>00db4fb4970a3f31900581b8018dd77cdbc8f2b4</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Issue 1992: Better c++17 std::byte detection</title>
<updated>2020-08-03T12:38:56+00:00</updated>
<author>
<name>Gregory Bond</name>
</author>
<published>2020-08-03T03:03:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=708487d201dad267a7846596f5830286dec2cde0'/>
<id>708487d201dad267a7846596f5830286dec2cde0</id>
<content type='text'>
This fixed buld errors for ubuntu-16 + clang and similar situations
where C++17 is supported in the compiler but not the default
C++ standard library.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This fixed buld errors for ubuntu-16 + clang and similar situations
where C++17 is supported in the compiler but not the default
C++ standard library.
</pre>
</div>
</content>
</entry>
<entry>
<title>Silence clang-tidy's hicpp-vararg (alias of coreguidelines vararg)</title>
<updated>2020-05-09T16:23:12+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2020-05-09T16:23:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=f0e596e2522f64451f6444edab5c59b8b9e8e082'/>
<id>f0e596e2522f64451f6444edab5c59b8b9e8e082</id>
<content type='text'>
Ideally, clang-tidy would be smart that if one alias of a warning
is suppressed, then the other one is suppressed as well, but as of
right now, it isn't. This means that for now we have to suppress
both aliases of this warning. Opened upstream issue to fix this:
https://bugs.llvm.org/show_bug.cgi?id=45859

Obviously, ideally clang-tidy would also not warn that we are calling
a vararg function when it is an unevaluated magic builtin, but that
also is not happening right now and I opened an issue for it:
https://bugs.llvm.org/show_bug.cgi?id=45860

Closes #1921
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Ideally, clang-tidy would be smart that if one alias of a warning
is suppressed, then the other one is suppressed as well, but as of
right now, it isn't. This means that for now we have to suppress
both aliases of this warning. Opened upstream issue to fix this:
https://bugs.llvm.org/show_bug.cgi?id=45859

Obviously, ideally clang-tidy would also not warn that we are calling
a vararg function when it is an unevaluated magic builtin, but that
also is not happening right now and I opened an issue for it:
https://bugs.llvm.org/show_bug.cgi?id=45860

Closes #1921
</pre>
</div>
</content>
</entry>
<entry>
<title>Use macro to determine whether std::uncaught_exceptions is available</title>
<updated>2020-04-14T21:03:58+00:00</updated>
<author>
<name>John Else</name>
</author>
<published>2020-04-13T15:10:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=6fbe5efc717a72c9749c5590c96524e92cddeca6'/>
<id>6fbe5efc717a72c9749c5590c96524e92cddeca6</id>
<content type='text'>
Catch assumes std::uncaught_exceptions is available whenever C++17 is
available, but for macOS versions older than 10.12 this is not the case.

Instead of checking the C++ version, use a macro to check whether the
feature is available.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Catch assumes std::uncaught_exceptions is available whenever C++17 is
available, but for macOS versions older than 10.12 this is not the case.

Instead of checking the C++ version, use a macro to check whether the
feature is available.
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove usage of __builtin_constant_p under IBM XL</title>
<updated>2020-04-10T18:55:23+00:00</updated>
<author>
<name>Andrew Gaspar</name>
</author>
<published>2020-04-09T23:52:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=035a0625964a2db0252719904f581d1072d691a1'/>
<id>035a0625964a2db0252719904f581d1072d691a1</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Suppress clang-tidy warning about vararg usage in assertion macros</title>
<updated>2020-04-02T18:45:57+00:00</updated>
<author>
<name>Moritz Haase</name>
</author>
<published>2020-04-02T12:22:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=d399a308d04b885433396f4198c0cda999f28d77'/>
<id>d399a308d04b885433396f4198c0cda999f28d77</id>
<content type='text'>
CATCH_INTERNAL_IGNORE_BUT_WARN() introduced with b7b346c triggers
clang-tidy warning 'cppcoreguidelines-pro-type-vararg' for every usage
of assertion macros like CHECK() and REQUIRE(). Silence it via NOLINT
in the '#if defined(__clang__)' block only, as clang-tidy honors those.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
CATCH_INTERNAL_IGNORE_BUT_WARN() introduced with b7b346c triggers
clang-tidy warning 'cppcoreguidelines-pro-type-vararg' for every usage
of assertion macros like CHECK() and REQUIRE(). Silence it via NOLINT
in the '#if defined(__clang__)' block only, as clang-tidy honors those.
</pre>
</div>
</content>
</entry>
</feed>
