c++: track whether we expect a TARGET_EXPR to be elided