On 17/09/18 23:15 +0200, Marc Glisse wrote:
On Mon, 17 Sep 2018, François Dumont wrote:
We talk about it a while back.
I've run testsuite several times since I have this patch on my local
copy. Note that when I implemented it the wrong way tests started to
fail so it is clearly having an effect on the generated code.
* include/bits/c++config [__OPTIMIZE__](__glibcxx_assert): Define as
optimization hint
using __builtin_unreachable.
Ok to commit ?
I see for instance in bits/regex_automaton.tcc:
__glibcxx_assert(__m.count(__ref._M_next) > 0);
where __m is a map, which does not look so well suited for a
__builtin_unreachable. Is it using the wrong macro?
Yes, that looks like it's checking the implementation, but we should
only add assertions to check what users do (we just need to get our
own implementation right).
PR 85184 points out some similar assertions.