Random832 <random832(a)fastmail.com> wrote:
|On Wed, Jan 4, 2017, at 09:54, Ron Natalie wrote:
|>> I assume you're imagining it as being equivalent to i = j + i + \
|>> 1, with a redundant store operation.
|>
|> It's what the language standard specifies, not imagination. C and C++
|> state that modifying twice between sequence points or using the value
|> other than to compute the value for a store is undefined behavior.
|> The languages put no constraint on what may happen when you do this.
|
|But I'm talking about the alternate universe in which the person I was
|replying to is justified in thinking that it's clear what he means, vs a
|'plausible' implementation that could arise from methods of translating
|expressions into machine operations (since people don't tend to respond
|to "it's undefined because it is, and the compiler can arbitrarily mess
|things up because it's allowed to by the fact that it's undefined"
|without a plausible theory of why something might ever behave in a way
|other than the obvious way)
It is clear in assembler, and C was ment, as i understand it, as
a higher-level portable abstraction of assembler. Which alternate
universe do you refer to?
--steffen