[patch] Enable lightweight checks with _GLIBCXX_ASSERTIONS.
Daniel Krügler
daniel.kruegler@gmail.com
Mon Sep 7 19:04:00 GMT 2015
2015-09-07 20:27 GMT+02:00 Jonathan Wakely <jwakely@redhat.com>:
> This patch adds the "debug mode lite" we've been talking about, by
> changing __glibcxx_assert to be activated by _GLIBCXX_ASSERTIONS
> instead of _GLIBCXX_DEBUG (and making the latter imply the former).
>
> _GLIBCXX_ASSERTIONS is already used in Parallel Mode for enabling
> optional assertions (although some of them are O(n) and so we might
> want to change them to use another macro like _GLIBCXX_DEBUG or
> _GLIBCXX_PARALLEL_ASSERTIONS instead).
>
> With the change to define __glibcxx_assert() without Debug Mode we can
> change most uses of _GLIBCXX_DEBUG_ASSERT to simply __glibcxx_assert,
> so that the assertion is done when _GLIBCXX_ASSERTIONS is defined (not
> only in Debug Mode).
>
> I haven't added any new assertions yet, this just converts the
> lightweight Debug Mode checks, but the next step will be to add
> additional assertions to the (normal mode) containers. The google
> branches contain several good examples of checks to add.
In the suggested doc changes:
+ When defined, <code>_GLIBCXX_ASSERTIONS</code> is defined
+ automatically, so all the assertions that enables are also enabled
+ in debug mode.
there seems to be a typo, presumably it should be
+ When defined, <code>_GLIBCXX_ASSERTIONS</code> is defined
+ automatically, so all the assertions that <ins>it</ins>
enables are also enabled
+ in debug mode.
instead?
- Daniel
More information about the Libstdc++
mailing list