From 2420ee9b91511c8abf9ae232a0b2beddd9e569fb Mon Sep 17 00:00:00 2001 From: "Mikhail R. Gadelha" Date: Thu, 23 Aug 2018 13:20:18 +0000 Subject: [PATCH] [analyzer] Delete SMTContext. NFC. Summary: There is no reason to have a base class for a context anymore as each SMT object carries a reference to the specific solver context. Reviewers: NoQ, george.karpenkov, hiraditya Reviewed By: hiraditya Subscribers: hiraditya, xazax.hun, szepet, a.sidorin, Szelethus Differential Revision: https://reviews.llvm.org/D50768 llvm-svn: 340532 --- .../StaticAnalyzer/Core/PathSensitive/SMTContext.h | 31 ---------------------- .../StaticAnalyzer/Core/Z3ConstraintManager.cpp | 5 ++-- 2 files changed, 2 insertions(+), 34 deletions(-) delete mode 100644 clang/include/clang/StaticAnalyzer/Core/PathSensitive/SMTContext.h diff --git a/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SMTContext.h b/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SMTContext.h deleted file mode 100644 index 45c9df4..0000000 --- a/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SMTContext.h +++ /dev/null @@ -1,31 +0,0 @@ -//== SMTContext.h -----------------------------------------------*- C++ -*--==// -// -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// -// -// This file defines a SMT generic Context API, which will be the base class -// for every SMT solver context specific class. -// -//===----------------------------------------------------------------------===// - -#ifndef LLVM_CLANG_STATICANALYZER_CORE_PATHSENSITIVE_SMTCONTEXT_H -#define LLVM_CLANG_STATICANALYZER_CORE_PATHSENSITIVE_SMTCONTEXT_H - -namespace clang { -namespace ento { - -/// Generic base class for SMT contexts -class SMTContext { -public: - SMTContext() = default; - virtual ~SMTContext() = default; -}; - -} // namespace ento -} // namespace clang - -#endif diff --git a/clang/lib/StaticAnalyzer/Core/Z3ConstraintManager.cpp b/clang/lib/StaticAnalyzer/Core/Z3ConstraintManager.cpp index 7379ded..fc936cb 100644 --- a/clang/lib/StaticAnalyzer/Core/Z3ConstraintManager.cpp +++ b/clang/lib/StaticAnalyzer/Core/Z3ConstraintManager.cpp @@ -11,7 +11,6 @@ #include "clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h" #include "clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h" #include "clang/StaticAnalyzer/Core/PathSensitive/SMTConstraintManager.h" -#include "clang/StaticAnalyzer/Core/PathSensitive/SMTContext.h" #include "clang/StaticAnalyzer/Core/PathSensitive/SMTExpr.h" #include "clang/StaticAnalyzer/Core/PathSensitive/SMTSolver.h" #include "clang/StaticAnalyzer/Core/PathSensitive/SMTSort.h" @@ -53,11 +52,11 @@ void Z3ErrorHandler(Z3_context Context, Z3_error_code Error) { } /// Wrapper for Z3 context -class Z3Context : public SMTContext { +class Z3Context { public: Z3_context Context; - Z3Context() : SMTContext() { + Z3Context() { Context = Z3_mk_context_rc(Z3Config().Config); // The error function is set here because the context is the first object // created by the backend -- 2.7.4