[cfe-commits] r70567 - in /cfe/trunk/lib/Sema: SemaExpr.cpp SemaInit.cpp SemaNamedCast.cpp SemaStmt.cpp SemaTemplate.cpp SemaTemplateInstantiate.cpp SemaTemplateInstantiateDecl.cpp

Anders Carlsson andersca at mac.com
Fri May 1 12:49:19 PDT 2009


Author: andersca
Date: Fri May  1 14:49:17 2009
New Revision: 70567

URL: http://llvm.org/viewvc/llvm-project?rev=70567&view=rev
Log:
Replace more release+static_cast with takeAs.

Modified:
    cfe/trunk/lib/Sema/SemaExpr.cpp
    cfe/trunk/lib/Sema/SemaInit.cpp
    cfe/trunk/lib/Sema/SemaNamedCast.cpp
    cfe/trunk/lib/Sema/SemaStmt.cpp
    cfe/trunk/lib/Sema/SemaTemplate.cpp
    cfe/trunk/lib/Sema/SemaTemplateInstantiate.cpp
    cfe/trunk/lib/Sema/SemaTemplateInstantiateDecl.cpp

Modified: cfe/trunk/lib/Sema/SemaExpr.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaExpr.cpp?rev=70567&r1=70566&r2=70567&view=diff

==============================================================================
--- cfe/trunk/lib/Sema/SemaExpr.cpp (original)
+++ cfe/trunk/lib/Sema/SemaExpr.cpp Fri May  1 14:49:17 2009
@@ -719,8 +719,7 @@
           OwningExprResult SelfExpr = ActOnIdentifierExpr(S, Loc, II, false);
           return Owned(new (Context) 
                        ObjCIvarRefExpr(IV, IV->getType(), Loc, 
-                                       static_cast<Expr*>(SelfExpr.release()),
-                                       true, true));
+                                       SelfExpr.takeAs<Expr>(), true, true));
         }
       }
     }
@@ -1221,7 +1220,7 @@
 
 Action::OwningExprResult Sema::ActOnParenExpr(SourceLocation L,
                                               SourceLocation R, ExprArg Val) {
-  Expr *E = (Expr *)Val.release();
+  Expr *E = Val.takeAs<Expr>();
   assert((E != 0) && "ActOnParenExpr() missing expr");
   return Owned(new (Context) ParenExpr(L, R, E));
 }
@@ -4423,7 +4422,7 @@
                                           tok::TokenKind Kind,
                                           ExprArg LHS, ExprArg RHS) {
   BinaryOperator::Opcode Opc = ConvertTokenKindToBinaryOpcode(Kind);
-  Expr *lhs = (Expr *)LHS.release(), *rhs = (Expr*)RHS.release();
+  Expr *lhs = LHS.takeAs<Expr>(), *rhs = RHS.takeAs<Expr>();
 
   assert((lhs != 0) && "ActOnBinOp(): missing left expression");
   assert((rhs != 0) && "ActOnBinOp(): missing right expression");
@@ -4926,7 +4925,7 @@
     DiagnoseInvalidJumps(static_cast<CompoundStmt*>(body.get()));
   CurFunctionNeedsScopeChecking = BSI->SavedFunctionNeedsScopeChecking;
   
-  BSI->TheDecl->setBody(static_cast<CompoundStmt*>(body.release()));
+  BSI->TheDecl->setBody(body.takeAs<CompoundStmt>());
   return Owned(new (Context) BlockExpr(BSI->TheDecl, BlockTy,
                                        BSI->hasBlockDeclRefExprs));
 }

Modified: cfe/trunk/lib/Sema/SemaInit.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaInit.cpp?rev=70567&r1=70566&r2=70567&view=diff

==============================================================================
--- cfe/trunk/lib/Sema/SemaInit.cpp (original)
+++ cfe/trunk/lib/Sema/SemaInit.cpp Fri May  1 14:49:17 2009
@@ -1691,8 +1691,7 @@
   DesignatedInitExpr *DIE
     = DesignatedInitExpr::Create(Context, &Designators[0], Designators.size(),
                                  &InitExpressions[0], InitExpressions.size(),
-                                 Loc, GNUSyntax, 
-                                 static_cast<Expr *>(Init.release()));
+                                 Loc, GNUSyntax, Init.takeAs<Expr>());
   return Owned(DIE);
 }
 

Modified: cfe/trunk/lib/Sema/SemaNamedCast.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaNamedCast.cpp?rev=70567&r1=70566&r2=70567&view=diff

==============================================================================
--- cfe/trunk/lib/Sema/SemaNamedCast.cpp (original)
+++ cfe/trunk/lib/Sema/SemaNamedCast.cpp Fri May  1 14:49:17 2009
@@ -63,7 +63,7 @@
                         SourceLocation RAngleBracketLoc,
                         SourceLocation LParenLoc, ExprArg E,
                         SourceLocation RParenLoc) {
-  Expr *Ex = (Expr*)E.release();
+  Expr *Ex = E.takeAs<Expr>();
   QualType DestType = QualType::getFromOpaquePtr(Ty);
   SourceRange OpRange(OpLoc, RParenLoc);
   SourceRange DestRange(LAngleBracketLoc, RAngleBracketLoc);

Modified: cfe/trunk/lib/Sema/SemaStmt.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaStmt.cpp?rev=70567&r1=70566&r2=70567&view=diff

==============================================================================
--- cfe/trunk/lib/Sema/SemaStmt.cpp (original)
+++ cfe/trunk/lib/Sema/SemaStmt.cpp Fri May  1 14:49:17 2009
@@ -180,7 +180,7 @@
 Sema::ActOnIfStmt(SourceLocation IfLoc, ExprArg CondVal,
                   StmtArg ThenVal, SourceLocation ElseLoc,
                   StmtArg ElseVal) {
-  Expr *condExpr = (Expr *)CondVal.release();
+  Expr *condExpr = CondVal.takeAs<Expr>();
 
   assert(condExpr && "ActOnIfStmt(): missing expression");
 
@@ -196,7 +196,7 @@
     return StmtError(Diag(IfLoc, diag::err_typecheck_statement_requires_scalar)
       << condType << condExpr->getSourceRange());
 
-  Stmt *thenStmt = (Stmt *)ThenVal.release();
+  Stmt *thenStmt = ThenVal.takeAs<Stmt>();
 
   // Warn if the if block has a null body without an else value.
   // this helps prevent bugs due to typos, such as
@@ -209,7 +209,7 @@
 
   CondVal.release();
   return Owned(new (Context) IfStmt(IfLoc, condExpr, thenStmt,
-                                    (Stmt*)ElseVal.release()));
+                                    ElseVal.takeAs<Stmt>()));
 }
 
 Action::OwningStmtResult
@@ -324,7 +324,7 @@
 Action::OwningStmtResult
 Sema::ActOnFinishSwitchStmt(SourceLocation SwitchLoc, StmtArg Switch,
                             StmtArg Body) {
-  Stmt *BodyStmt = (Stmt*)Body.release();
+  Stmt *BodyStmt = Body.takeAs<Stmt>();
 
   SwitchStmt *SS = getSwitchStack().back();
   assert(SS == (SwitchStmt*)Switch.get() && "switch stack missing push/pop!");
@@ -514,7 +514,7 @@
 
 Action::OwningStmtResult
 Sema::ActOnWhileStmt(SourceLocation WhileLoc, ExprArg Cond, StmtArg Body) {
-  Expr *condExpr = (Expr *)Cond.release();
+  Expr *condExpr = Cond.takeAs<Expr>();
   assert(condExpr && "ActOnWhileStmt(): missing expression");
 
   DefaultFunctionArrayConversion(condExpr);
@@ -530,14 +530,14 @@
       << condType << condExpr->getSourceRange());
 
   Cond.release();
-  return Owned(new (Context) WhileStmt(condExpr, (Stmt*)Body.release(),
+  return Owned(new (Context) WhileStmt(condExpr, Body.takeAs<Stmt>(), 
                                        WhileLoc));
 }
 
 Action::OwningStmtResult
 Sema::ActOnDoStmt(SourceLocation DoLoc, StmtArg Body,
                   SourceLocation WhileLoc, ExprArg Cond) {
-  Expr *condExpr = (Expr *)Cond.release();
+  Expr *condExpr = Cond.takeAs<Expr>();
   assert(condExpr && "ActOnDoStmt(): missing expression");
 
   DefaultFunctionArrayConversion(condExpr);
@@ -552,7 +552,7 @@
       << condType << condExpr->getSourceRange());
 
   Cond.release();
-  return Owned(new (Context) DoStmt((Stmt*)Body.release(), condExpr, DoLoc));
+  return Owned(new (Context) DoStmt(Body.takeAs<Stmt>(), condExpr, DoLoc));
 }
 
 Action::OwningStmtResult
@@ -1069,7 +1069,7 @@
   }
 
   ObjCAtCatchStmt *CS = new (Context) ObjCAtCatchStmt(AtLoc, RParen,
-    PVD, static_cast<Stmt*>(Body.release()), CatchList);
+    PVD, Body.takeAs<Stmt>(), CatchList);
   return Owned(CatchList ? CatchList : CS);
 }
 
@@ -1083,10 +1083,9 @@
 Sema::ActOnObjCAtTryStmt(SourceLocation AtLoc,
                          StmtArg Try, StmtArg Catch, StmtArg Finally) {
   CurFunctionNeedsScopeChecking = true;
-  return Owned(new (Context) ObjCAtTryStmt(AtLoc,
-                                        static_cast<Stmt*>(Try.release()),
-                                        static_cast<Stmt*>(Catch.release()),
-                                        static_cast<Stmt*>(Finally.release())));
+  return Owned(new (Context) ObjCAtTryStmt(AtLoc, Try.takeAs<Stmt>(),
+                                           Catch.takeAs<Stmt>(),
+                                           Finally.takeAs<Stmt>()));
 }
 
 Action::OwningStmtResult
@@ -1127,9 +1126,9 @@
                        << SyncExpr->getType() << SyncExpr->getSourceRange());
   }
   
-  return Owned(new (Context) ObjCAtSynchronizedStmt(AtLoc,
-                     static_cast<Stmt*>(SynchExpr.release()),
-                     static_cast<Stmt*>(SynchBody.release())));
+  return Owned(new (Context) ObjCAtSynchronizedStmt(AtLoc, 
+                                                    SynchExpr.takeAs<Stmt>(),
+                                                    SynchBody.takeAs<Stmt>()));
 }
 
 /// ActOnCXXCatchBlock - Takes an exception declaration and a handler block
@@ -1140,7 +1139,7 @@
   // There's nothing to test that ActOnExceptionDecl didn't already test.
   return Owned(new (Context) CXXCatchStmt(CatchLoc,
                                   cast_or_null<VarDecl>(ExDecl.getAs<Decl>()),
-                                  static_cast<Stmt*>(HandlerBlock.release())));
+                                          HandlerBlock.takeAs<Stmt>()));
 }
 
 /// ActOnCXXTryBlock - Takes a try compound-statement and a number of

Modified: cfe/trunk/lib/Sema/SemaTemplate.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaTemplate.cpp?rev=70567&r1=70566&r2=70567&view=diff

==============================================================================
--- cfe/trunk/lib/Sema/SemaTemplate.cpp (original)
+++ cfe/trunk/lib/Sema/SemaTemplate.cpp Fri May  1 14:49:17 2009
@@ -302,7 +302,7 @@
     return;
   }
 
-  TemplateParm->setDefaultArgument(static_cast<Expr *>(DefaultE.release()));
+  TemplateParm->setDefaultArgument(DefaultE.takeAs<Expr>());
 }
 
 

Modified: cfe/trunk/lib/Sema/SemaTemplateInstantiate.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaTemplateInstantiate.cpp?rev=70567&r1=70566&r2=70567&view=diff

==============================================================================
--- cfe/trunk/lib/Sema/SemaTemplateInstantiate.cpp (original)
+++ cfe/trunk/lib/Sema/SemaTemplateInstantiate.cpp Fri May  1 14:49:17 2009
@@ -303,7 +303,7 @@
     return QualType();
   
   return SemaRef.BuildArrayType(ElementType, T->getSizeModifier(),
-                                (Expr *)InstantiatedArraySize.release(),
+                                InstantiatedArraySize.takeAs<Expr>(),
                                 T->getIndexTypeQualifier(), Loc, Entity);
 }
 

Modified: cfe/trunk/lib/Sema/SemaTemplateInstantiateDecl.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaTemplateInstantiateDecl.cpp?rev=70567&r1=70566&r2=70567&view=diff

==============================================================================
--- cfe/trunk/lib/Sema/SemaTemplateInstantiateDecl.cpp (original)
+++ cfe/trunk/lib/Sema/SemaTemplateInstantiateDecl.cpp Fri May  1 14:49:17 2009
@@ -171,7 +171,7 @@
       Invalid = true;
       BitWidth = 0;
     } else
-      BitWidth = (Expr *)InstantiatedBitWidth.release();
+      BitWidth = InstantiatedBitWidth.takeAs<Expr>();
   }
 
   FieldDecl *Field = SemaRef.CheckFieldDecl(D->getDeclName(), T,





More information about the cfe-commits mailing list