On 6/17/2014 3:27 AM, Jonathan M Davis via Digitalmars-d wrote:
I would hope that the compiler could and would optimize out setting the out
parameter to its init value when it's unnecessary
This is called "dead assignment elimination" and is a bog standard data flow
analysis technique that has been in common use since the 1980's.
Compile some sample code and see!
Also:
grep -r "dead assignment" *.c
in the compiler source tree.
BTW, data flow analysis was not pioneered by the Clang folks, despite them being
very good compiler devs.