"Walter Bright" wrote in message news:[email protected]...
5. assert(0); is equivalent to a halt, and the compiler won't remove it.
This is not the same definition the spec gives. The spec says assert(0) can be treated as unreachable, and the compiler is allowed to optimize accordingly.
The difference is that in this code: if (cond) assert(0);With your above definition cond will be evaluated, while with the spec's more powerful definition it may be skipped.
