]> granicus.if.org Git - clang/commitdiff
Make the destructor of ConstraintManager virtual.
authorTed Kremenek <kremenek@apple.com>
Wed, 27 Aug 2008 23:13:01 +0000 (23:13 +0000)
committerTed Kremenek <kremenek@apple.com>
Wed, 27 Aug 2008 23:13:01 +0000 (23:13 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55448 91177308-0d34-0410-b5e6-96231b3b80d8

include/clang/Analysis/PathSensitive/ConstraintManager.h
lib/Analysis/GRState.cpp

index 0d8b56a9d7c6fc8ceb4208b64e5d938953ecefea..39e5918c1988255382b83d6034398d783e3c5491 100644 (file)
@@ -9,6 +9,7 @@ class RVal;
 
 class ConstraintManager {
 public:
+  virtual ~ConstraintManager();
   virtual const GRState* Assume(const GRState* St, RVal Cond, bool Assumption,
                                 bool& isFeasible) = 0;
 };
index 4ad0a449bbccbce182713d86bf081f99b5dac777..8ea1191b7e2e21eaca1eb376b8307f198416b168 100644 (file)
 
 #include "clang/Analysis/PathSensitive/GRStateTrait.h"
 #include "clang/Analysis/PathSensitive/GRState.h"
-#include "llvm/ADT/SmallSet.h"
 #include "clang/Analysis/PathSensitive/GRTransferFuncs.h"
+#include "llvm/ADT/SmallSet.h"
 #include "llvm/Support/raw_ostream.h"
+
 using namespace clang;
 
+// Give the vtable for ConstraintManager somewhere to live.
+ConstraintManager::~ConstraintManager() {}
+
 GRStateManager::~GRStateManager() {
   for (std::vector<GRState::Printer*>::iterator I=Printers.begin(),
         E=Printers.end(); I!=E; ++I)