On Thursday, 31 July 2014 at 13:37:42 UTC, Daniel Gibson wrote:
Because (in C/C++) assertions just vanish when NDEBUG isn't
defined, it would never occur to me that they have any
influence on such (release mode) builds.
Yes, all standards require this for good reason. I don't know why
Walter and Andrei thinks conforming C can do anything else than
ignoring assert in release builds:
«
If NDEBUG is defined as a macro name before the inclusion of this
header, the assert() macro shall be defined simply as:
#define assert(ignore)((void) 0)
»
http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/assert.h.html