Expression evaluation order
bearophile
bearophileHUGS at lycos.com
Fri Jun 14 04:04:03 PDT 2013
Iain Buclaw:
> However yes, the behaviour relies on the order the sucky X86 ABI
> pushes arguments onto the stack (which for this array op is
> from right
> to left). Whereas on *all* other architectures it will execute
> the
> parameters in left to right order, which would be a, c, b in
> this case.
D needs the same standard order of evaluations for all
expressions on all compilers, regardless of the CPUs. The only
other acceptable alternative is to statically forbid code that
risks having variable results.
(And I think the right order for that is b, c, a).
Bye,
bearophile
More information about the Digitalmars-d
mailing list