On 5/24/20 1:17 AM, Marc Nieper-Wißkirchen wrote: > You > wrote for the affirm macro that if NDEBUG is defined that the behavior > is undefined if E has side effects. That's not true as long as E does > not evaluate to false.
We can *make* it true, by fiat. :-) I don't want to encourage programmers to supply an E with side effects, as side effects are trouble here. Even if side effects happen to work in the current implementation when E is true, I don't want to suggest to programmers that they'll continue to work in future implementations; we may come up with a different implementation that evaluates E twice, for example.