const ValueDecl *D,
LValue lvalue,
bool capturedByInit) {
- QualType type = lvalue.getType();
Qualifiers::ObjCLifetime lifetime = lvalue.getObjCLifetime();
if (!lifetime) {
llvm::Value *value = EmitScalarExpr(init);
// Automatic Reference Counting:
// If the pseudo-expression names a retainable object with weak or
// strong lifetime, the object shall be released.
- bool isNonGC = false;
Expr *BaseExpr = PseudoDtor->getBase();
llvm::Value *BaseValue = NULL;
Qualifiers BaseQuals;
BaseQuals = PTy->getPointeeType().getQualifiers();
} else {
LValue BaseLV = EmitLValue(BaseExpr);
- if (BaseLV.isNonGC())
- isNonGC = true;
BaseValue = BaseLV.getAddress();
QualType BaseTy = BaseExpr->getType();
BaseQuals = BaseTy.getQualifiers();
static TryEmitResult
tryEmitARCRetainScalarExpr(CodeGenFunction &CGF, const Expr *e) {
- QualType originalType = e->getType();
-
// The desired result type, if it differs from the type of the
// ultimate opaque expression.
const llvm::Type *resultType = 0;
}
// Now parse the selector.
- SourceLocation SelectorStartLoc = Tok.getLocation();
SourceLocation selLoc;
IdentifierInfo *SelIdent = ParseObjCSelectorPiece(selLoc);