diff options
author | Douglas Gregor <dgregor@apple.com> | 2010-07-25 18:17:45 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2010-07-25 18:17:45 +0000 |
commit | ff331c15729f7d4439d253c97f4d60f2a7ffd0c6 (patch) | |
tree | b0ab8d1988b70c1e7717a67a83992b4f4e8319c7 /lib/Sema/SemaExpr.cpp | |
parent | 63fe86bee66fc145942c56b2cc564ea0b9b9ea12 (diff) |
Remove the vast majority of the Destroy methods from the AST library,
since we aren't going to be calling them ever.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@109377 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Sema/SemaExpr.cpp')
-rw-r--r-- | lib/Sema/SemaExpr.cpp | 16 |
1 files changed, 3 insertions, 13 deletions
diff --git a/lib/Sema/SemaExpr.cpp b/lib/Sema/SemaExpr.cpp index 5281f3ff79..2816c4a613 100644 --- a/lib/Sema/SemaExpr.cpp +++ b/lib/Sema/SemaExpr.cpp @@ -553,7 +553,6 @@ Sema::BuildAnonymousStructUnionMemberReference(SourceLocation Loc, if (BaseObject) { // BaseObject is an anonymous struct/union variable (and is, // therefore, not part of another non-anonymous record). - if (BaseObjectExpr) BaseObjectExpr->Destroy(Context); MarkDeclarationReferenced(Loc, BaseObject); BaseObjectExpr = new (Context) DeclRefExpr(BaseObject,BaseObject->getType(), SourceLocation()); @@ -3582,9 +3581,6 @@ Sema::ActOnCallExpr(Scope *S, ExprArg fn, SourceLocation LParenLoc, SourceRange(Args[0]->getLocStart(), Args[NumArgs-1]->getLocEnd())); - for (unsigned I = 0; I != NumArgs; ++I) - Args[I]->Destroy(Context); - NumArgs = 0; } @@ -7042,11 +7038,9 @@ Sema::OwningExprResult Sema::ActOnBuiltinOffsetOf(Scope *S, if (OC.isBrackets) { // Offset of an array sub-field. TODO: Should we allow vector elements? const ArrayType *AT = Context.getAsArrayType(Res->getType()); - if (!AT) { - Res->Destroy(Context); + if (!AT) return ExprError(Diag(OC.LocEnd, diag::err_offsetof_array_type) << Res->getType()); - } // FIXME: C++: Verify that operator[] isn't overloaded. @@ -7068,11 +7062,9 @@ Sema::OwningExprResult Sema::ActOnBuiltinOffsetOf(Scope *S, } const RecordType *RC = Res->getType()->getAs<RecordType>(); - if (!RC) { - Res->Destroy(Context); + if (!RC) return ExprError(Diag(OC.LocEnd, diag::err_offsetof_record_type) << Res->getType()); - } // Get the decl corresponding to this. RecordDecl *RD = RC->getDecl(); @@ -7986,10 +7978,8 @@ Sema::OwningExprResult Sema::ActOnBooleanCondition(Scope *S, SourceLocation Loc, if (!Sub) return ExprError(); - if (CheckBooleanCondition(Sub, Loc)) { - Sub->Destroy(Context); + if (CheckBooleanCondition(Sub, Loc)) return ExprError(); - } return Owned(Sub); } |