On 03/06/2015 11:19 AM, Aldy Hernandez wrote:
We are hitting the MODIFY_EXPR case. Indeed, _because_ we hit the MODIFY_EXPR is that we return the uninitialized temporary.For example, we start with: return retval = TARGET_EXPR <D.2347, ...> which becomes: <stuff with &D.2347> return D.2349 = D.2347; which the aforementioned MODIFY_EXPR case turns into: <stuff with &D.2347> return D.2349;
But doesn't this still involve a MODIFY_EXPR, i.e. return retval = D.2349? Jason