&& "Invalid assignment");
if (const DeclRefExpr *DRE = dyn_cast<DeclRefExpr>(E->getLHS()))
- if (const VarDecl *VD = dyn_cast<VarDecl>(DRE->getDecl())) {
+ if (const VarDecl *VD = dyn_cast<VarDecl>(DRE->getDecl()))
if (VD->hasAttr<BlocksAttr>() &&
E->getRHS()->HasSideEffects(CGF.getContext())) {
// When __block variable on LHS, the RHS must be evaluated first
bool GCollection = false;
if (CGF.getContext().getLangOptions().getGCMode())
GCollection = TypeRequiresGCollection(E->getLHS()->getType());
- // Codegen the RHS so that it stores directly into the LHS.
Dest = AggValueSlot::forLValue(LHS, true, GCollection);
EmitFinalDestCopy(E, RHS, true);
return;
}
- }
LValue LHS = CGF.EmitLValue(E->getLHS());