checkedint call removal

Walter Bright via Digitalmars-d digitalmars-d at puremagic.com
Wed Jul 30 14:39:25 PDT 2014


On 7/30/2014 2:21 PM, Timon Gehr wrote:
> Because the compiler does not seem know that 'assert' never returns, they shove
> in an __assume after it.

The critical bit of misunderstanding here is the C standard *requires* that 
assert be implemented as a macro, and that NDEBUG will totally disable it. 
Microsoft needed to add a builtin feature so that the correct assert semantics 
can be reliably obtained by the optimizer.

It's a mistake to infer from that that assert and assume are different.


More information about the Digitalmars-d mailing list