<feed xmlns='http://www.w3.org/2005/Atom'>
<title>catch3/src/catch2/internal/catch_unreachable.hpp, branch v3.15.2</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>Don't follow __assume(false) with std::terminate in NDEBUG builds</title>
<updated>2025-07-28T09:03:46+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2025-07-28T09:03:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=a1c7ee115f17c1e83b382f33ef2614070974626f'/>
<id>a1c7ee115f17c1e83b382f33ef2614070974626f</id>
<content type='text'>
Having `std::terminate` as the backstop after `__assume(false)`
would trigger W4702 (unreachable code) with MSVC. As we want to
keep `__assume(false)` for the optimization hint in NDEBUG builds,
we have to avoid mixing in `std::terminate` for those builds.

Fixes #3007
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Having `std::terminate` as the backstop after `__assume(false)`
would trigger W4702 (unreachable code) with MSVC. As we want to
keep `__assume(false)` for the optimization hint in NDEBUG builds,
we have to avoid mixing in `std::terminate` for those builds.

Fixes #3007
</pre>
</div>
</content>
</entry>
<entry>
<title>Mark code past FAIL and SKIP as unreachable</title>
<updated>2025-07-14T08:39:48+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2024-12-27T22:46:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=6097bd6ee910f4ebb6216e0d1817fb84a51a7efb'/>
<id>6097bd6ee910f4ebb6216e0d1817fb84a51a7efb</id>
<content type='text'>
This helps the compiler see that the execution does not continue,
which in turn means that it is not an error if the user does not
return value from the function after FAIL/SKIP.

Closes #2941
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This helps the compiler see that the execution does not continue,
which in turn means that it is not an error if the user does not
return value from the function after FAIL/SKIP.

Closes #2941
</pre>
</div>
</content>
</entry>
</feed>
