From 05125f180d8f0967d8bcb7e9d578e36eb6905b92 Mon Sep 17 00:00:00 2001 From: Ted Kremenek Date: Wed, 27 Aug 2008 23:13:01 +0000 Subject: [PATCH] Make the destructor of ConstraintManager virtual. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55448 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/clang/Analysis/PathSensitive/ConstraintManager.h | 1 + lib/Analysis/GRState.cpp | 6 +++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/include/clang/Analysis/PathSensitive/ConstraintManager.h b/include/clang/Analysis/PathSensitive/ConstraintManager.h index 0d8b56a9d7..39e5918c19 100644 --- a/include/clang/Analysis/PathSensitive/ConstraintManager.h +++ b/include/clang/Analysis/PathSensitive/ConstraintManager.h @@ -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; }; diff --git a/lib/Analysis/GRState.cpp b/lib/Analysis/GRState.cpp index 4ad0a449bb..8ea1191b7e 100644 --- a/lib/Analysis/GRState.cpp +++ b/lib/Analysis/GRState.cpp @@ -13,11 +13,15 @@ #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::iterator I=Printers.begin(), E=Printers.end(); I!=E; ++I) -- 2.40.0