[cfe-commits] r70566 - in /cfe/trunk/lib/Sema: SemaDecl.cpp SemaDeclCXX.cpp SemaExpr.cpp SemaStmt.cpp SemaTemplateInstantiate.cpp
Anders Carlsson
andersca at mac.com
Fri May 1 12:30:39 PDT 2009
Author: andersca
Date: Fri May 1 14:30:39 2009
New Revision: 70566
URL: http://llvm.org/viewvc/llvm-project?rev=70566&view=rev
Log:
Replace a bunch of static_cast + release with takeAs.
Modified:
cfe/trunk/lib/Sema/SemaDecl.cpp
cfe/trunk/lib/Sema/SemaDeclCXX.cpp
cfe/trunk/lib/Sema/SemaExpr.cpp
cfe/trunk/lib/Sema/SemaStmt.cpp
cfe/trunk/lib/Sema/SemaTemplateInstantiate.cpp
Modified: cfe/trunk/lib/Sema/SemaDecl.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaDecl.cpp?rev=70566&r1=70565&r2=70566&view=diff
==============================================================================
--- cfe/trunk/lib/Sema/SemaDecl.cpp (original)
+++ cfe/trunk/lib/Sema/SemaDecl.cpp Fri May 1 14:30:39 2009
@@ -2485,7 +2485,7 @@
// Take ownership of the expression, now that we're sure we have somewhere
// to put it.
- Expr *Init = static_cast<Expr *>(init.release());
+ Expr *Init = init.takeAs<Expr>();
assert(Init && "missing initializer");
// Get the decls type and save a reference for later, since
@@ -4274,7 +4274,7 @@
Sema::DeclPtrTy Sema::ActOnFileScopeAsmDecl(SourceLocation Loc,
ExprArg expr) {
- StringLiteral *AsmString = cast<StringLiteral>((Expr*)expr.release());
+ StringLiteral *AsmString = cast<StringLiteral>(expr.takeAs<Expr>());
return DeclPtrTy::make(FileScopeAsmDecl::Create(Context, CurContext,
Loc, AsmString));
Modified: cfe/trunk/lib/Sema/SemaDeclCXX.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaDeclCXX.cpp?rev=70566&r1=70565&r2=70566&view=diff
==============================================================================
--- cfe/trunk/lib/Sema/SemaDeclCXX.cpp (original)
+++ cfe/trunk/lib/Sema/SemaDeclCXX.cpp Fri May 1 14:30:39 2009
@@ -108,7 +108,7 @@
Sema::ActOnParamDefaultArgument(DeclPtrTy param, SourceLocation EqualLoc,
ExprArg defarg) {
ParmVarDecl *Param = cast<ParmVarDecl>(param.getAs<Decl>());
- ExprOwningPtr<Expr> DefaultArg(this, (Expr *)defarg.release());
+ ExprOwningPtr<Expr> DefaultArg(this, defarg.takeAs<Expr>());
QualType ParamType = Param->getType();
// Default arguments are only permitted in C++
Modified: cfe/trunk/lib/Sema/SemaExpr.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaExpr.cpp?rev=70566&r1=70565&r2=70566&view=diff
==============================================================================
--- cfe/trunk/lib/Sema/SemaExpr.cpp (original)
+++ cfe/trunk/lib/Sema/SemaExpr.cpp Fri May 1 14:30:39 2009
@@ -1852,7 +1852,7 @@
tok::TokenKind OpKind, SourceLocation MemberLoc,
IdentifierInfo &Member,
DeclPtrTy ObjCImpDecl) {
- Expr *BaseExpr = static_cast<Expr *>(Base.release());
+ Expr *BaseExpr = Base.takeAs<Expr>();
assert(BaseExpr && "no record expression");
// Perform default conversions.
@@ -2322,7 +2322,7 @@
MultiExprArg args,
SourceLocation *CommaLocs, SourceLocation RParenLoc) {
unsigned NumArgs = args.size();
- Expr *Fn = static_cast<Expr *>(fn.release());
+ Expr *Fn = fn.takeAs<Expr>();
Expr **Args = reinterpret_cast<Expr**>(args.release());
assert(Fn && "no function call expression");
FunctionDecl *FDecl = NULL;
@@ -2643,7 +2643,7 @@
assert((Ty != 0) && (Op.get() != 0) &&
"ActOnCastExpr(): missing type or expr");
- Expr *castExpr = static_cast<Expr*>(Op.release());
+ Expr *castExpr = Op.takeAs<Expr>();
QualType castType = QualType::getFromOpaquePtr(Ty);
if (CheckCastTypes(SourceRange(LParenLoc, RParenLoc), castType, castExpr))
@@ -4715,8 +4715,8 @@
// FIXME: C++: Verify that MemberDecl isn't a static field.
// FIXME: Verify that MemberDecl isn't a bitfield.
if (cast<RecordDecl>(MemberDecl->getDeclContext())->isAnonymousStructOrUnion()) {
- Res = static_cast<Expr*>(BuildAnonymousStructUnionMemberReference(
- SourceLocation(), MemberDecl, Res, SourceLocation()).release());
+ Res = BuildAnonymousStructUnionMemberReference(
+ SourceLocation(), MemberDecl, Res, SourceLocation()).takeAs<Expr>();
} else {
// MemberDecl->getType() doesn't get the right qualifiers, but it
// doesn't matter here.
Modified: cfe/trunk/lib/Sema/SemaStmt.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaStmt.cpp?rev=70566&r1=70565&r2=70566&view=diff
==============================================================================
--- cfe/trunk/lib/Sema/SemaStmt.cpp (original)
+++ cfe/trunk/lib/Sema/SemaStmt.cpp Fri May 1 14:30:39 2009
@@ -22,7 +22,7 @@
using namespace clang;
Sema::OwningStmtResult Sema::ActOnExprStmt(ExprArg expr) {
- Expr *E = static_cast<Expr*>(expr.release());
+ Expr *E = expr.takeAs<Expr>();
assert(E && "ActOnExprStmt(): missing expression");
// C99 6.8.3p2: The expression in an expression statement is evaluated as a
@@ -129,14 +129,14 @@
/// ActOnCaseStmtBody - This installs a statement as the body of a case.
void Sema::ActOnCaseStmtBody(StmtTy *caseStmt, StmtArg subStmt) {
CaseStmt *CS = static_cast<CaseStmt*>(caseStmt);
- Stmt *SubStmt = static_cast<Stmt*>(subStmt.release());
+ Stmt *SubStmt = subStmt.takeAs<Stmt>();
CS->setSubStmt(SubStmt);
}
Action::OwningStmtResult
Sema::ActOnDefaultStmt(SourceLocation DefaultLoc, SourceLocation ColonLoc,
StmtArg subStmt, Scope *CurScope) {
- Stmt *SubStmt = static_cast<Stmt*>(subStmt.release());
+ Stmt *SubStmt = subStmt.takeAs<Stmt>();
if (getSwitchStack().empty()) {
Diag(DefaultLoc, diag::err_default_not_in_switch);
@@ -151,7 +151,7 @@
Action::OwningStmtResult
Sema::ActOnLabelStmt(SourceLocation IdentLoc, IdentifierInfo *II,
SourceLocation ColonLoc, StmtArg subStmt) {
- Stmt *SubStmt = static_cast<Stmt*>(subStmt.release());
+ Stmt *SubStmt = subStmt.takeAs<Stmt>();
// Look up the record for this label identifier.
LabelStmt *&LabelDecl = getLabelMap()[II];
@@ -214,7 +214,7 @@
Action::OwningStmtResult
Sema::ActOnStartOfSwitchStmt(ExprArg cond) {
- Expr *Cond = static_cast<Expr*>(cond.release());
+ Expr *Cond = cond.takeAs<Expr>();
if (getLangOptions().CPlusPlus) {
// C++ 6.4.2.p2:
@@ -788,7 +788,7 @@
Action::OwningStmtResult
Sema::ActOnReturnStmt(SourceLocation ReturnLoc, ExprArg rex) {
- Expr *RetValExp = static_cast<Expr *>(rex.release());
+ Expr *RetValExp = rex.takeAs<Expr>();
if (CurBlock)
return ActOnBlockReturnStmt(ReturnLoc, RetValExp);
@@ -1051,7 +1051,7 @@
Sema::ActOnObjCAtCatchStmt(SourceLocation AtLoc,
SourceLocation RParen, DeclPtrTy Parm,
StmtArg Body, StmtArg catchList) {
- Stmt *CatchList = static_cast<Stmt*>(catchList.release());
+ Stmt *CatchList = catchList.takeAs<Stmt>();
ParmVarDecl *PVD = cast_or_null<ParmVarDecl>(Parm.getAs<Decl>());
// PVD == 0 implies @catch(...).
@@ -1091,7 +1091,7 @@
Action::OwningStmtResult
Sema::ActOnObjCAtThrowStmt(SourceLocation AtLoc, ExprArg expr,Scope *CurScope) {
- Expr *ThrowExpr = static_cast<Expr*>(expr.release());
+ Expr *ThrowExpr = expr.takeAs<Expr>();
if (!ThrowExpr) {
// @throw without an expression designates a rethrow (which much occur
// in the context of an @catch clause).
Modified: cfe/trunk/lib/Sema/SemaTemplateInstantiate.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaTemplateInstantiate.cpp?rev=70566&r1=70565&r2=70566&view=diff
==============================================================================
--- cfe/trunk/lib/Sema/SemaTemplateInstantiate.cpp (original)
+++ cfe/trunk/lib/Sema/SemaTemplateInstantiate.cpp Fri May 1 14:30:39 2009
@@ -465,7 +465,7 @@
NumTemplateArgs);
if (E.isInvalid())
return QualType();
- InstantiatedTemplateArgs.push_back((Expr *)E.release());
+ InstantiatedTemplateArgs.push_back(E.takeAs<Expr>());
break;
}
}
More information about the cfe-commits
mailing list