diff options
author | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2011-02-08 22:30:36 +0000 |
---|---|---|
committer | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2011-02-08 22:30:36 +0000 |
commit | fa0734ec4f15f8a83053812e17e210f5790c042a (patch) | |
tree | 0b8399b58b40f3e92aa9d9a92a20fa496f35465d /clang/lib/StaticAnalyzer/SimpleConstraintManager.h | |
parent | 4975170267cadcd0048b69d60e5fd2044280204b (diff) | |
download | bcm5719-llvm-fa0734ec4f15f8a83053812e17e210f5790c042a.tar.gz bcm5719-llvm-fa0734ec4f15f8a83053812e17e210f5790c042a.zip |
[analyzer] Move the files in lib/StaticAnalyzer to lib/StaticAnalyzer/Core.
Eventually there will also be a lib/StaticAnalyzer/Frontend that will handle initialization and checker registration.
Yet another library to avoid cyclic dependencies between Core and Checkers.
llvm-svn: 125124
Diffstat (limited to 'clang/lib/StaticAnalyzer/SimpleConstraintManager.h')
-rw-r--r-- | clang/lib/StaticAnalyzer/SimpleConstraintManager.h | 93 |
1 files changed, 0 insertions, 93 deletions
diff --git a/clang/lib/StaticAnalyzer/SimpleConstraintManager.h b/clang/lib/StaticAnalyzer/SimpleConstraintManager.h deleted file mode 100644 index 75f67f7f17e..00000000000 --- a/clang/lib/StaticAnalyzer/SimpleConstraintManager.h +++ /dev/null @@ -1,93 +0,0 @@ -//== SimpleConstraintManager.h ----------------------------------*- C++ -*--==// -// -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// -// -// Code shared between BasicConstraintManager and RangeConstraintManager. -// -//===----------------------------------------------------------------------===// - -#ifndef LLVM_CLANG_GR_SIMPLE_CONSTRAINT_MANAGER_H -#define LLVM_CLANG_GR_SIMPLE_CONSTRAINT_MANAGER_H - -#include "clang/StaticAnalyzer/PathSensitive/ConstraintManager.h" -#include "clang/StaticAnalyzer/PathSensitive/GRState.h" - -namespace clang { - -namespace ento { - -class SimpleConstraintManager : public ConstraintManager { - SubEngine &SU; -public: - SimpleConstraintManager(SubEngine &subengine) : SU(subengine) {} - virtual ~SimpleConstraintManager(); - - //===------------------------------------------------------------------===// - // Common implementation for the interface provided by ConstraintManager. - //===------------------------------------------------------------------===// - - bool canReasonAbout(SVal X) const; - - const GRState *assume(const GRState *state, DefinedSVal Cond, - bool Assumption); - - const GRState *assume(const GRState *state, Loc Cond, bool Assumption); - - const GRState *assume(const GRState *state, NonLoc Cond, bool Assumption); - - const GRState *assumeSymRel(const GRState *state, - const SymExpr *LHS, - BinaryOperator::Opcode op, - const llvm::APSInt& Int); - -protected: - - //===------------------------------------------------------------------===// - // Interface that subclasses must implement. - //===------------------------------------------------------------------===// - - // Each of these is of the form "$sym+Adj <> V", where "<>" is the comparison - // operation for the method being invoked. - virtual const GRState *assumeSymNE(const GRState *state, SymbolRef sym, - const llvm::APSInt& V, - const llvm::APSInt& Adjustment) = 0; - - virtual const GRState *assumeSymEQ(const GRState *state, SymbolRef sym, - const llvm::APSInt& V, - const llvm::APSInt& Adjustment) = 0; - - virtual const GRState *assumeSymLT(const GRState *state, SymbolRef sym, - const llvm::APSInt& V, - const llvm::APSInt& Adjustment) = 0; - - virtual const GRState *assumeSymGT(const GRState *state, SymbolRef sym, - const llvm::APSInt& V, - const llvm::APSInt& Adjustment) = 0; - - virtual const GRState *assumeSymLE(const GRState *state, SymbolRef sym, - const llvm::APSInt& V, - const llvm::APSInt& Adjustment) = 0; - - virtual const GRState *assumeSymGE(const GRState *state, SymbolRef sym, - const llvm::APSInt& V, - const llvm::APSInt& Adjustment) = 0; - - //===------------------------------------------------------------------===// - // Internal implementation. - //===------------------------------------------------------------------===// - - const GRState *assumeAux(const GRState *state, Loc Cond,bool Assumption); - - const GRState *assumeAux(const GRState *state, NonLoc Cond, bool Assumption); -}; - -} // end GR namespace - -} // end clang namespace - -#endif |