[cfe-commits] r71823 - in /cfe/trunk: include/clang/AST/Stmt.h lib/AST/Stmt.cpp lib/Sema/SemaTemplateInstantiateExpr.cpp

Anders Carlsson andersca at mac.com
Thu May 14 17:21:28 PDT 2009


Author: andersca
Date: Thu May 14 19:21:21 2009
New Revision: 71823

URL: http://llvm.org/viewvc/llvm-project?rev=71823&view=rev
Log:
Add NullStmt::Clone and use it

Modified:
    cfe/trunk/include/clang/AST/Stmt.h
    cfe/trunk/lib/AST/Stmt.cpp
    cfe/trunk/lib/Sema/SemaTemplateInstantiateExpr.cpp

Modified: cfe/trunk/include/clang/AST/Stmt.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/Stmt.h?rev=71823&r1=71822&r2=71823&view=diff

==============================================================================
--- cfe/trunk/include/clang/AST/Stmt.h (original)
+++ cfe/trunk/include/clang/AST/Stmt.h Thu May 14 19:21:21 2009
@@ -290,6 +290,8 @@
   /// \brief Build an empty null statement.
   explicit NullStmt(EmptyShell Empty) : Stmt(NullStmtClass, Empty) { }
 
+  NullStmt* Clone(ASTContext &C) const;
+
   SourceLocation getSemiLoc() const { return SemiLoc; }
   void setSemiLoc(SourceLocation L) { SemiLoc = L; }
 

Modified: cfe/trunk/lib/AST/Stmt.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/AST/Stmt.cpp?rev=71823&r1=71822&r2=71823&view=diff

==============================================================================
--- cfe/trunk/lib/AST/Stmt.cpp (original)
+++ cfe/trunk/lib/AST/Stmt.cpp Thu May 14 19:21:21 2009
@@ -98,6 +98,10 @@
   return StatSwitch;
 }
 
+NullStmt* NullStmt::Clone(ASTContext &C) const {
+  return new (C) NullStmt(SemiLoc);
+}
+
 void CompoundStmt::setStmts(ASTContext &C, Stmt **Stmts, unsigned NumStmts) {
   if (this->Body)
     C.Deallocate(Body);

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

==============================================================================
--- cfe/trunk/lib/Sema/SemaTemplateInstantiateExpr.cpp (original)
+++ cfe/trunk/lib/Sema/SemaTemplateInstantiateExpr.cpp Thu May 14 19:21:21 2009
@@ -480,7 +480,7 @@
 }
 
 Sema::OwningStmtResult TemplateStmtInstantiator::VisitNullStmt(NullStmt *S) {
-  return SemaRef.Owned(new (SemaRef.Context) NullStmt(S->getSemiLoc()));
+  return SemaRef.Owned(S->Clone(SemaRef.Context));
 }
 
 Sema::OwningStmtResult TemplateStmtInstantiator::VisitLabelStmt(LabelStmt *S) {





More information about the cfe-commits mailing list