[cfe-commits] r46976 - in /cfe/trunk/Analysis: RValues.h ValueState.cpp ValueState.h

Ted Kremenek kremenek at apple.com
Mon Feb 11 15:12:59 PST 2008


Author: kremenek
Date: Mon Feb 11 17:12:59 2008
New Revision: 46976

URL: http://llvm.org/viewvc/llvm-project?rev=46976&view=rev
Log:
Consolidated use of BumpPtrAllocator shared by various ImmutableSet/ImmutableMap
factories.

Fixed a horrible bug in lval:DeclVar::classof(RValue* V); we weren't checking
V was an LValue, allowing nonlval::ConcereteInts to match isa<lval::DeclVar>.

Modified:
    cfe/trunk/Analysis/RValues.h
    cfe/trunk/Analysis/ValueState.cpp
    cfe/trunk/Analysis/ValueState.h

Modified: cfe/trunk/Analysis/RValues.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/Analysis/RValues.h?rev=46976&r1=46975&r2=46976&view=diff

==============================================================================
--- cfe/trunk/Analysis/RValues.h (original)
+++ cfe/trunk/Analysis/RValues.h Mon Feb 11 17:12:59 2008
@@ -459,7 +459,7 @@
     }
     
     static inline bool classof(const RValue* V) {
-      return V->getSubKind() == SymbolValKind;
+      return isa<LValue>(V) && V->getSubKind() == SymbolValKind;
     }  
   };
   
@@ -481,7 +481,7 @@
     
     // Implement isa<T> support.
     static inline bool classof(const RValue* V) {
-      return V->getSubKind() == DeclValKind;
+      return isa<LValue>(V) && V->getSubKind() == DeclValKind;
     }
   };
 

Modified: cfe/trunk/Analysis/ValueState.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/Analysis/ValueState.cpp?rev=46976&r1=46975&r2=46976&view=diff

==============================================================================
--- cfe/trunk/Analysis/ValueState.cpp (original)
+++ cfe/trunk/Analysis/ValueState.cpp Mon Feb 11 17:12:59 2008
@@ -71,7 +71,7 @@
     if (Liveness.isLive(Loc, I.getKey()))
       WList.push_back(I.getKey());
   
-  llvm::SmallPtrSet<ValueDecl*, 10> Marked;
+  llvm::SmallPtrSet<ValueDecl*, 10> Marked;  
   
   while (!WList.empty()) {
     ValueDecl* V = WList.back();
@@ -254,7 +254,6 @@
   return cast<LValue>(GetValue(St, E));
 }
 
-
 ValueState 
 ValueStateManager::SetValue(ValueState St, Expr* E, bool isBlkExpr,
                             const RValue& V) {

Modified: cfe/trunk/Analysis/ValueState.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/Analysis/ValueState.h?rev=46976&r1=46975&r2=46976&view=diff

==============================================================================
--- cfe/trunk/Analysis/ValueState.h (original)
+++ cfe/trunk/Analysis/ValueState.h Mon Feb 11 17:12:59 2008
@@ -231,7 +231,12 @@
   
 public:  
   ValueStateManager(ASTContext& Ctx, llvm::BumpPtrAllocator& alloc) 
-    : ValMgr(Ctx, alloc), Alloc(alloc) {}
+    : ISetFactory(alloc), 
+      EXFactory(alloc),
+      VBFactory(alloc),
+      CNEFactory(alloc),
+      CEFactory(alloc),
+      ValMgr(Ctx, alloc), Alloc(alloc) {}
   
   ValueState getInitialState();
         





More information about the cfe-commits mailing list