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?
