[cfe-commits] r79995 - /cfe/trunk/include/clang/AST/Stmt.h

Douglas Gregor dgregor at apple.com
Tue Aug 25 08:47:46 PDT 2009


Author: dgregor
Date: Tue Aug 25 10:47:45 2009
New Revision: 79995

URL: http://llvm.org/viewvc/llvm-project?rev=79995&view=rev
Log:
Sanity checking for statement reference counts. Thanks for the suggestion, Fariborz

Modified:
    cfe/trunk/include/clang/AST/Stmt.h

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

==============================================================================
--- cfe/trunk/include/clang/AST/Stmt.h (original)
+++ cfe/trunk/include/clang/AST/Stmt.h Tue Aug 25 10:47:45 2009
@@ -174,6 +174,7 @@
   
   /// \brief Destroy the current statement and its children.
   void Destroy(ASTContext &Ctx) { 
+    assert(RefCount >= 0);
     if (--RefCount == 0)
       DoDestroy(Ctx); 
   }
@@ -183,6 +184,7 @@
   /// Invoke the Retain() operation when this statement or expression
   /// is being shared by another owner.
   Stmt *Retain() {
+    assert(RefCount >= 1);
     ++RefCount;
     return this;
   }





More information about the cfe-commits mailing list