On Friday, 29 August 2014 at 17:34:42 UTC, deadalnix wrote:
No, as the load or the store involved can fault/trap.

What kind of trap? Not getting an exception will not necessarily change correctness. Removing a division by zero is not changing correctness:

ok = (1.0/0.0  == 1.0) || true
assert(ok==true)

I would expect a compiler to remove a non-volatile "a=a" even if a is in read-only memory. It does not change correctness?

Reply via email to