<feed xmlns='http://www.w3.org/2005/Atom'>
<title>catch3/include/internal/catch_enforce.cpp, branch v2.10.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>Introduce stubs for throwing specific exception types</title>
<updated>2019-06-14T17:13:50+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2019-06-14T12:59:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=1967feac498795615d512d1de43bf2140575e597'/>
<id>1967feac498795615d512d1de43bf2140575e597</id>
<content type='text'>
This allows us to move &lt;stdexcept&gt; out of the common path, and replace
it with just &lt;exception&gt;. The difference between these two headers is
~13k lines after preprocessing on libstdc++ (16k vs 3k) and ~17k lines
for MS's STL(33k vs 16k).

Note that this is only beneficial if no other stdlib header we use
includes &lt;stdexcept&gt;. AFAIK this is true for the newest MS's STL,
but I have no idea of the applicability for libstdc++ and libc++.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This allows us to move &lt;stdexcept&gt; out of the common path, and replace
it with just &lt;exception&gt;. The difference between these two headers is
~13k lines after preprocessing on libstdc++ (16k vs 3k) and ~17k lines
for MS's STL(33k vs 16k).

Note that this is only beneficial if no other stdlib header we use
includes &lt;stdexcept&gt;. AFAIK this is true for the newest MS's STL,
but I have no idea of the applicability for libstdc++ and libc++.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add support for -fno-exceptions (or equivalent)</title>
<updated>2018-09-03T19:08:27+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2018-09-03T15:52:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=8b0188385498d6ac101854dc3983c6ebd220adc3'/>
<id>8b0188385498d6ac101854dc3983c6ebd220adc3</id>
<content type='text'>
This means

* Adding new configuration toggle `CATCH_CONFIG_DISABLE_EXCEPTIONS`
and a best-guess configuration auto-checking for it.
* Adding new set of internal macros, `CATCH_TRY`, `CATCH_CATCH_ALL`
and `CATCH_CATCH_ANON` that can be used in place of regular `try`,
`catch(...)` and `catch(T const&amp;)` respectively, while disappearing
when `CATCH_CONFIG_DISABLE_EXCEPTIONS` is enabled.
* Replacing all uses of `throw` with calls to `Catch::throw_exception`
customization point.
* Providing a default implementation for the above customization point
when `CATCH_CONFIG_DISABLE_EXCEPTIONS` is set.
* Letting users override this implementation with their own.
* Some minor changes and ifdefs all around to support the above
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This means

* Adding new configuration toggle `CATCH_CONFIG_DISABLE_EXCEPTIONS`
and a best-guess configuration auto-checking for it.
* Adding new set of internal macros, `CATCH_TRY`, `CATCH_CATCH_ALL`
and `CATCH_CATCH_ANON` that can be used in place of regular `try`,
`catch(...)` and `catch(T const&amp;)` respectively, while disappearing
when `CATCH_CONFIG_DISABLE_EXCEPTIONS` is enabled.
* Replacing all uses of `throw` with calls to `Catch::throw_exception`
customization point.
* Providing a default implementation for the above customization point
when `CATCH_CONFIG_DISABLE_EXCEPTIONS` is set.
* Letting users override this implementation with their own.
* Some minor changes and ifdefs all around to support the above
</pre>
</div>
</content>
</entry>
</feed>
