
4 Oct
2005
4 Oct
'05
1:35 p.m.
Rob Stewart wrote:
In the (elided ;-) example, ++x has a side effect so while it doesn't affect whether __assume(false) is reached, the optimizer shouldn't elide the increment unless it can prove that the new value of x is not used. Are you suggesting that __assume(false) would override that?
Yes, I am. __assume( false ) asserts that this point is unreachable. Since ++x always completes, it follows that ++x is unreachable as well, so it can be elided.