<feed xmlns='http://www.w3.org/2005/Atom'>
<title>catch3/include/internal/catch_compiler_capabilities.h, branch v2.11.3</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 compilation error when lambdas are used in assertions</title>
<updated>2020-03-19T12:32:45+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2020-03-19T12:32:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=3a33315ff8e047b1ff46b1ee2a5be3fdd7fbac08'/>
<id>3a33315ff8e047b1ff46b1ee2a5be3fdd7fbac08</id>
<content type='text'>
This is a partial revert of b7b346c3e5603.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is a partial revert of b7b346c3e5603.
</pre>
</div>
</content>
</entry>
<entry>
<title>Make warnings in assertions fire for GCC/Clang again</title>
<updated>2020-03-19T08:45:41+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2020-03-18T19:59:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=b7b346c3e56030d19ac58d33326b69bbaf226552'/>
<id>b7b346c3e56030d19ac58d33326b69bbaf226552</id>
<content type='text'>
The old code caused warnings to fire under MSVC, and Clang &lt;3.8.
I could not find a GCC version where it worked, but I assume that it
did at some point.

This new code causes all of MSVC, GCC, Clang, in current versions,
to emit signed/unsigned comparison warning in test like this:

```cpp
TEST_CASE() {
    int32_t i = -1;
    uint32_t j = 1;
    REQUIRE(i != j);
}
```

Where previously only MSVC would emit the warning.

Fixes #1880
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The old code caused warnings to fire under MSVC, and Clang &lt;3.8.
I could not find a GCC version where it worked, but I assume that it
did at some point.

This new code causes all of MSVC, GCC, Clang, in current versions,
to emit signed/unsigned comparison warning in test like this:

```cpp
TEST_CASE() {
    int32_t i = -1;
    uint32_t j = 1;
    REQUIRE(i != j);
}
```

Where previously only MSVC would emit the warning.

Fixes #1880
</pre>
</div>
</content>
</entry>
<entry>
<title>catch_compiler_capabilities.h: use proper math define</title>
<updated>2020-02-01T06:20:59+00:00</updated>
<author>
<name>Rosen Penev</name>
</author>
<published>2020-02-01T05:54:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=f96e89e016802fb219c9158ac74a21f3aae6abc9'/>
<id>f96e89e016802fb219c9158ac74a21f3aae6abc9</id>
<content type='text'>
C++11 math requires _GLIBCXX_USE_C99_MATH_TR1 to be true with gcc/clang.

Also fixes an issue with uClibc-ng where __UCLIBC__ is defined in features.h but
that is not included here and is thus no-op.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
C++11 math requires _GLIBCXX_USE_C99_MATH_TR1 to be true with gcc/clang.

Also fixes an issue with uClibc-ng where __UCLIBC__ is defined in features.h but
that is not included here and is thus no-op.
</pre>
</div>
</content>
</entry>
<entry>
<title>Avoid detecting Clang as having MSVC's traditional preprocessor</title>
<updated>2019-12-28T17:57:24+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2019-12-28T17:57:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=55794e9b27740a51f1698f482d79ead4e0a38ffe'/>
<id>55794e9b27740a51f1698f482d79ead4e0a38ffe</id>
<content type='text'>
Fixes #1806
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes #1806
</pre>
</div>
</content>
</entry>
<entry>
<title>Rework how warning suppression in macros is done</title>
<updated>2019-10-27T20:07:21+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2019-10-27T20:07:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=849f2848bdf625a7b6248e4e62ba0e39ee609634'/>
<id>849f2848bdf625a7b6248e4e62ba0e39ee609634</id>
<content type='text'>
Previously, each warning suppression was self-contained, with its
own pair of `SUPPRESS_X_WARNING` and `UNSUPPRESS_X_WARNING` macros.
This had the obvious advantage of being self-containing, but it
also meant that if we needed to suppress more than one warning
in a single place, then we would manipulate the compiler's warning
state multiple times, even though logically we would only need one
layer.

The new way of suppressing warnings in macros is to push compiler's
warning state with `CATCH_INTERNAL_START_WARNINGS_SUPPRESSION` macro,
then disable whatever macros we need with the
`CATCH_INTERNAL_SUPPRESS_X_WARNINGS` macro, and then return to the
previous state using `CATCH_INTERNAL_STOP_WARNINGS_SUPPRESSION`.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previously, each warning suppression was self-contained, with its
own pair of `SUPPRESS_X_WARNING` and `UNSUPPRESS_X_WARNING` macros.
This had the obvious advantage of being self-containing, but it
also meant that if we needed to suppress more than one warning
in a single place, then we would manipulate the compiler's warning
state multiple times, even though logically we would only need one
layer.

The new way of suppressing warnings in macros is to push compiler's
warning state with `CATCH_INTERNAL_START_WARNINGS_SUPPRESSION` macro,
then disable whatever macros we need with the
`CATCH_INTERNAL_SUPPRESS_X_WARNINGS` macro, and then return to the
previous state using `CATCH_INTERNAL_STOP_WARNINGS_SUPPRESSION`.
</pre>
</div>
</content>
</entry>
<entry>
<title>TemplateTests: suppress -Wunused-template warning in template test cases</title>
<updated>2019-10-18T16:38:39+00:00</updated>
<author>
<name>Jozef Grajciar</name>
</author>
<published>2019-10-18T10:30:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=ae14a47360028c941f37a0f656c4d8ee78ab4837'/>
<id>ae14a47360028c941f37a0f656c4d8ee78ab4837</id>
<content type='text'>
this warning was introduced by rework to support NTTPs
since we have implementation macro for NTTPs and normal template test cases
warning is going to be suppressed

Fixes #1762
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
this warning was introduced by rework to support NTTPs
since we have implementation macro for NTTPs and normal template test cases
warning is going to be suppressed

Fixes #1762
</pre>
</div>
</content>
</entry>
<entry>
<title>Unify handling of __has_include checks</title>
<updated>2019-09-06T11:38:58+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2019-09-06T11:38:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=6e8d769775c6840156355a663b9073be78ac4bcb'/>
<id>6e8d769775c6840156355a663b9073be78ac4bcb</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Workaround missing std::nextafter in uClibc</title>
<updated>2019-09-06T11:08:44+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2019-09-06T11:08:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=addf799040e8f0cefbe42ca1a22787802a969077'/>
<id>addf799040e8f0cefbe42ca1a22787802a969077</id>
<content type='text'>
Luckily, the rest of C++11 features seem to be supported...

Closes #1739
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Luckily, the rest of C++11 features seem to be supported...

Closes #1739
</pre>
</div>
</content>
</entry>
<entry>
<title>Add disabling the use of Android's logging at compile time</title>
<updated>2019-09-06T10:44:06+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2019-09-06T10:41:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=155274f0dff32fd109a05a94cf1f002bf2dd97a0'/>
<id>155274f0dff32fd109a05a94cf1f002bf2dd97a0</id>
<content type='text'>
This is done via the new compile time toggle,
`CATCH_CONFIG_ANDROID_LOGWRITE`.

Closes #1743
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is done via the new compile time toggle,
`CATCH_CONFIG_ANDROID_LOGWRITE`.

Closes #1743
</pre>
</div>
</content>
</entry>
<entry>
<title>Add autoconfiguration for RTX</title>
<updated>2019-07-30T09:28:28+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2019-07-30T09:26:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=ba9193370b44dbf68632adaff7e33522f24279e6'/>
<id>ba9193370b44dbf68632adaff7e33522f24279e6</id>
<content type='text'>
Closes #1693
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Closes #1693
</pre>
</div>
</content>
</entry>
</feed>
