"Johannes Pfau"  wrote in message news:[email protected]...

So I need someone with dmd backend knowledge to fix the evaluation
order of extern(C) function parameters to be LTR.
Evaluation order of assignments should also be fixed to be LTR in the
dmd backend. Although not strictly required for the array op changes
it'd be inconsistent to have array op assignments execute LTR but
normal assignments RTL:
a()[] = b()[] + c()[]; //Array op assignment
a() = b() + c();       //Normal assignment
 |      |    |
 1      2    3

It shouldn't need backend changes, just a glue layer fix to evaluate all args to a temporary before the actual call expression.

Something similar to the way https://d.puremagic.com/issues/show_bug.cgi?id=8396 was done should work.

Reply via email to