[cfe-commits] r122420 - in /cfe/trunk: examples/wpa/ include/clang/Checker/ include/clang/Checker/BugReporter/ include/clang/Checker/Checkers/ include/clang/Checker/PathSensitive/ include/clang/GR/ include/clang/GR/BugReporter/ include/clang/GR/Checkers/ include/clang/GR/PathSensitive/ lib/Checker/ lib/FrontendTool/

Argyrios Kyrtzidis akyrtzi at gmail.com
Wed Dec 22 10:51:50 PST 2010


Author: akirtzidis
Date: Wed Dec 22 12:51:49 2010
New Revision: 122420

URL: http://llvm.org/viewvc/llvm-project?rev=122420&view=rev
Log:
[analyzer] Refactoring: include/clang/Checker -> include/clang/GR

Added:
    cfe/trunk/include/clang/GR/
    cfe/trunk/include/clang/GR/AnalysisConsumer.h
      - copied, changed from r122418, cfe/trunk/include/clang/Checker/AnalysisConsumer.h
    cfe/trunk/include/clang/GR/BugReporter/
    cfe/trunk/include/clang/GR/BugReporter/BugReporter.h
      - copied, changed from r122418, cfe/trunk/include/clang/Checker/BugReporter/BugReporter.h
    cfe/trunk/include/clang/GR/BugReporter/BugType.h
      - copied, changed from r122418, cfe/trunk/include/clang/Checker/BugReporter/BugType.h
    cfe/trunk/include/clang/GR/BugReporter/PathDiagnostic.h
      - copied, changed from r122418, cfe/trunk/include/clang/Checker/BugReporter/PathDiagnostic.h
    cfe/trunk/include/clang/GR/Checkers/
    cfe/trunk/include/clang/GR/Checkers/DereferenceChecker.h
      - copied, changed from r122418, cfe/trunk/include/clang/Checker/Checkers/DereferenceChecker.h
    cfe/trunk/include/clang/GR/Checkers/LocalCheckers.h
      - copied, changed from r122418, cfe/trunk/include/clang/Checker/Checkers/LocalCheckers.h
    cfe/trunk/include/clang/GR/FrontendActions.h
      - copied, changed from r122418, cfe/trunk/include/clang/Checker/FrontendActions.h
    cfe/trunk/include/clang/GR/ManagerRegistry.h
      - copied, changed from r122418, cfe/trunk/include/clang/Checker/ManagerRegistry.h
    cfe/trunk/include/clang/GR/PathDiagnosticClients.h
      - copied, changed from r122418, cfe/trunk/include/clang/Checker/PathDiagnosticClients.h
    cfe/trunk/include/clang/GR/PathSensitive/
    cfe/trunk/include/clang/GR/PathSensitive/AnalysisManager.h
      - copied, changed from r122418, cfe/trunk/include/clang/Checker/PathSensitive/AnalysisManager.h
    cfe/trunk/include/clang/GR/PathSensitive/BasicValueFactory.h
      - copied, changed from r122418, cfe/trunk/include/clang/Checker/PathSensitive/BasicValueFactory.h
    cfe/trunk/include/clang/GR/PathSensitive/Checker.h
      - copied, changed from r122418, cfe/trunk/include/clang/Checker/PathSensitive/Checker.h
    cfe/trunk/include/clang/GR/PathSensitive/CheckerHelpers.h
      - copied, changed from r122418, cfe/trunk/include/clang/Checker/PathSensitive/CheckerHelpers.h
    cfe/trunk/include/clang/GR/PathSensitive/CheckerVisitor.def
      - copied, changed from r122418, cfe/trunk/include/clang/Checker/PathSensitive/CheckerVisitor.def
    cfe/trunk/include/clang/GR/PathSensitive/CheckerVisitor.h
      - copied, changed from r122418, cfe/trunk/include/clang/Checker/PathSensitive/CheckerVisitor.h
    cfe/trunk/include/clang/GR/PathSensitive/ConstraintManager.h
      - copied, changed from r122418, cfe/trunk/include/clang/Checker/PathSensitive/ConstraintManager.h
    cfe/trunk/include/clang/GR/PathSensitive/Environment.h
      - copied, changed from r122418, cfe/trunk/include/clang/Checker/PathSensitive/Environment.h
    cfe/trunk/include/clang/GR/PathSensitive/ExplodedGraph.h
      - copied, changed from r122418, cfe/trunk/include/clang/Checker/PathSensitive/ExplodedGraph.h
    cfe/trunk/include/clang/GR/PathSensitive/GRBlockCounter.h
      - copied, changed from r122418, cfe/trunk/include/clang/Checker/PathSensitive/GRBlockCounter.h
    cfe/trunk/include/clang/GR/PathSensitive/GRCoreEngine.h
      - copied, changed from r122418, cfe/trunk/include/clang/Checker/PathSensitive/GRCoreEngine.h
    cfe/trunk/include/clang/GR/PathSensitive/GRExprEngine.h
      - copied, changed from r122418, cfe/trunk/include/clang/Checker/PathSensitive/GRExprEngine.h
    cfe/trunk/include/clang/GR/PathSensitive/GRExprEngineBuilders.h
      - copied, changed from r122418, cfe/trunk/include/clang/Checker/PathSensitive/GRExprEngineBuilders.h
    cfe/trunk/include/clang/GR/PathSensitive/GRState.h
      - copied, changed from r122418, cfe/trunk/include/clang/Checker/PathSensitive/GRState.h
    cfe/trunk/include/clang/GR/PathSensitive/GRStateTrait.h
      - copied, changed from r122418, cfe/trunk/include/clang/Checker/PathSensitive/GRStateTrait.h
    cfe/trunk/include/clang/GR/PathSensitive/GRSubEngine.h
      - copied, changed from r122418, cfe/trunk/include/clang/Checker/PathSensitive/GRSubEngine.h
    cfe/trunk/include/clang/GR/PathSensitive/GRTransferFuncs.h
      - copied, changed from r122418, cfe/trunk/include/clang/Checker/PathSensitive/GRTransferFuncs.h
    cfe/trunk/include/clang/GR/PathSensitive/GRWorkList.h
      - copied, changed from r122418, cfe/trunk/include/clang/Checker/PathSensitive/GRWorkList.h
    cfe/trunk/include/clang/GR/PathSensitive/MemRegion.h
      - copied, changed from r122418, cfe/trunk/include/clang/Checker/PathSensitive/MemRegion.h
    cfe/trunk/include/clang/GR/PathSensitive/SValBuilder.h
      - copied, changed from r122418, cfe/trunk/include/clang/Checker/PathSensitive/SValBuilder.h
    cfe/trunk/include/clang/GR/PathSensitive/SVals.h
      - copied, changed from r122418, cfe/trunk/include/clang/Checker/PathSensitive/SVals.h
    cfe/trunk/include/clang/GR/PathSensitive/Store.h
      - copied, changed from r122418, cfe/trunk/include/clang/Checker/PathSensitive/Store.h
    cfe/trunk/include/clang/GR/PathSensitive/SummaryManager.h
      - copied, changed from r122418, cfe/trunk/include/clang/Checker/PathSensitive/SummaryManager.h
    cfe/trunk/include/clang/GR/PathSensitive/SymbolManager.h
      - copied, changed from r122418, cfe/trunk/include/clang/Checker/PathSensitive/SymbolManager.h
Removed:
    cfe/trunk/include/clang/Checker/AnalysisConsumer.h
    cfe/trunk/include/clang/Checker/BugReporter/BugReporter.h
    cfe/trunk/include/clang/Checker/BugReporter/BugType.h
    cfe/trunk/include/clang/Checker/BugReporter/PathDiagnostic.h
    cfe/trunk/include/clang/Checker/Checkers/DereferenceChecker.h
    cfe/trunk/include/clang/Checker/Checkers/LocalCheckers.h
    cfe/trunk/include/clang/Checker/FrontendActions.h
    cfe/trunk/include/clang/Checker/ManagerRegistry.h
    cfe/trunk/include/clang/Checker/PathDiagnosticClients.h
    cfe/trunk/include/clang/Checker/PathSensitive/AnalysisManager.h
    cfe/trunk/include/clang/Checker/PathSensitive/BasicValueFactory.h
    cfe/trunk/include/clang/Checker/PathSensitive/Checker.h
    cfe/trunk/include/clang/Checker/PathSensitive/CheckerHelpers.h
    cfe/trunk/include/clang/Checker/PathSensitive/CheckerVisitor.def
    cfe/trunk/include/clang/Checker/PathSensitive/CheckerVisitor.h
    cfe/trunk/include/clang/Checker/PathSensitive/ConstraintManager.h
    cfe/trunk/include/clang/Checker/PathSensitive/Environment.h
    cfe/trunk/include/clang/Checker/PathSensitive/ExplodedGraph.h
    cfe/trunk/include/clang/Checker/PathSensitive/GRBlockCounter.h
    cfe/trunk/include/clang/Checker/PathSensitive/GRCoreEngine.h
    cfe/trunk/include/clang/Checker/PathSensitive/GRExprEngine.h
    cfe/trunk/include/clang/Checker/PathSensitive/GRExprEngineBuilders.h
    cfe/trunk/include/clang/Checker/PathSensitive/GRState.h
    cfe/trunk/include/clang/Checker/PathSensitive/GRStateTrait.h
    cfe/trunk/include/clang/Checker/PathSensitive/GRSubEngine.h
    cfe/trunk/include/clang/Checker/PathSensitive/GRTransferFuncs.h
    cfe/trunk/include/clang/Checker/PathSensitive/GRWorkList.h
    cfe/trunk/include/clang/Checker/PathSensitive/MemRegion.h
    cfe/trunk/include/clang/Checker/PathSensitive/SValBuilder.h
    cfe/trunk/include/clang/Checker/PathSensitive/SVals.h
    cfe/trunk/include/clang/Checker/PathSensitive/Store.h
    cfe/trunk/include/clang/Checker/PathSensitive/SummaryManager.h
    cfe/trunk/include/clang/Checker/PathSensitive/SymbolManager.h
Modified:
    cfe/trunk/examples/wpa/clang-wpa.cpp
    cfe/trunk/lib/Checker/AdjustedReturnValueChecker.cpp
    cfe/trunk/lib/Checker/AggExprVisitor.cpp
    cfe/trunk/lib/Checker/AnalysisConsumer.cpp
    cfe/trunk/lib/Checker/AnalysisManager.cpp
    cfe/trunk/lib/Checker/AnalyzerStatsChecker.cpp
    cfe/trunk/lib/Checker/ArrayBoundChecker.cpp
    cfe/trunk/lib/Checker/AttrNonNullChecker.cpp
    cfe/trunk/lib/Checker/BasicConstraintManager.cpp
    cfe/trunk/lib/Checker/BasicObjCFoundationChecks.cpp
    cfe/trunk/lib/Checker/BasicStore.cpp
    cfe/trunk/lib/Checker/BasicValueFactory.cpp
    cfe/trunk/lib/Checker/BugReporter.cpp
    cfe/trunk/lib/Checker/BugReporterVisitors.cpp
    cfe/trunk/lib/Checker/BuiltinFunctionChecker.cpp
    cfe/trunk/lib/Checker/CFRefCount.cpp
    cfe/trunk/lib/Checker/CStringChecker.cpp
    cfe/trunk/lib/Checker/CallAndMessageChecker.cpp
    cfe/trunk/lib/Checker/CastSizeChecker.cpp
    cfe/trunk/lib/Checker/CastToStructChecker.cpp
    cfe/trunk/lib/Checker/CheckDeadStores.cpp
    cfe/trunk/lib/Checker/CheckObjCDealloc.cpp
    cfe/trunk/lib/Checker/CheckObjCInstMethSignature.cpp
    cfe/trunk/lib/Checker/CheckSecuritySyntaxOnly.cpp
    cfe/trunk/lib/Checker/CheckSizeofPointer.cpp
    cfe/trunk/lib/Checker/Checker.cpp
    cfe/trunk/lib/Checker/CheckerHelpers.cpp
    cfe/trunk/lib/Checker/ChrootChecker.cpp
    cfe/trunk/lib/Checker/DereferenceChecker.cpp
    cfe/trunk/lib/Checker/DivZeroChecker.cpp
    cfe/trunk/lib/Checker/Environment.cpp
    cfe/trunk/lib/Checker/ExplodedGraph.cpp
    cfe/trunk/lib/Checker/FixedAddressChecker.cpp
    cfe/trunk/lib/Checker/FlatStore.cpp
    cfe/trunk/lib/Checker/FrontendActions.cpp
    cfe/trunk/lib/Checker/GRBlockCounter.cpp
    cfe/trunk/lib/Checker/GRCXXExprEngine.cpp
    cfe/trunk/lib/Checker/GRCoreEngine.cpp
    cfe/trunk/lib/Checker/GRExprEngine.cpp
    cfe/trunk/lib/Checker/GRExprEngineExperimentalChecks.cpp
    cfe/trunk/lib/Checker/GRState.cpp
    cfe/trunk/lib/Checker/HTMLDiagnostics.cpp
    cfe/trunk/lib/Checker/IdempotentOperationChecker.cpp
    cfe/trunk/lib/Checker/LLVMConventionsChecker.cpp
    cfe/trunk/lib/Checker/MacOSXAPIChecker.cpp
    cfe/trunk/lib/Checker/MallocChecker.cpp
    cfe/trunk/lib/Checker/ManagerRegistry.cpp
    cfe/trunk/lib/Checker/MemRegion.cpp
    cfe/trunk/lib/Checker/NSAutoreleasePoolChecker.cpp
    cfe/trunk/lib/Checker/NSErrorChecker.cpp
    cfe/trunk/lib/Checker/NoReturnFunctionChecker.cpp
    cfe/trunk/lib/Checker/OSAtomicChecker.cpp
    cfe/trunk/lib/Checker/ObjCAtSyncChecker.cpp
    cfe/trunk/lib/Checker/ObjCUnusedIVarsChecker.cpp
    cfe/trunk/lib/Checker/PathDiagnostic.cpp
    cfe/trunk/lib/Checker/PlistDiagnostics.cpp
    cfe/trunk/lib/Checker/PointerArithChecker.cpp
    cfe/trunk/lib/Checker/PointerSubChecker.cpp
    cfe/trunk/lib/Checker/PthreadLockChecker.cpp
    cfe/trunk/lib/Checker/RangeConstraintManager.cpp
    cfe/trunk/lib/Checker/RegionStore.cpp
    cfe/trunk/lib/Checker/ReturnPointerRangeChecker.cpp
    cfe/trunk/lib/Checker/ReturnUndefChecker.cpp
    cfe/trunk/lib/Checker/SValBuilder.cpp
    cfe/trunk/lib/Checker/SVals.cpp
    cfe/trunk/lib/Checker/SimpleConstraintManager.cpp
    cfe/trunk/lib/Checker/SimpleConstraintManager.h
    cfe/trunk/lib/Checker/SimpleSValBuilder.cpp
    cfe/trunk/lib/Checker/StackAddrLeakChecker.cpp
    cfe/trunk/lib/Checker/Store.cpp
    cfe/trunk/lib/Checker/StreamChecker.cpp
    cfe/trunk/lib/Checker/SymbolManager.cpp
    cfe/trunk/lib/Checker/TextPathDiagnostics.cpp
    cfe/trunk/lib/Checker/UndefBranchChecker.cpp
    cfe/trunk/lib/Checker/UndefCapturedBlockVarChecker.cpp
    cfe/trunk/lib/Checker/UndefResultChecker.cpp
    cfe/trunk/lib/Checker/UndefinedArraySubscriptChecker.cpp
    cfe/trunk/lib/Checker/UndefinedAssignmentChecker.cpp
    cfe/trunk/lib/Checker/UnixAPIChecker.cpp
    cfe/trunk/lib/Checker/UnreachableCodeChecker.cpp
    cfe/trunk/lib/Checker/VLASizeChecker.cpp
    cfe/trunk/lib/FrontendTool/ExecuteCompilerInvocation.cpp

Modified: cfe/trunk/examples/wpa/clang-wpa.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/examples/wpa/clang-wpa.cpp?rev=122420&r1=122419&r2=122420&view=diff
==============================================================================
--- cfe/trunk/examples/wpa/clang-wpa.cpp (original)
+++ cfe/trunk/examples/wpa/clang-wpa.cpp Wed Dec 22 12:51:49 2010
@@ -14,10 +14,10 @@
 
 #include "clang/Basic/FileManager.h"
 #include "clang/Basic/SourceManager.h"
-#include "clang/Checker/PathSensitive/AnalysisManager.h"
-#include "clang/Checker/PathSensitive/GRExprEngine.h"
-#include "clang/Checker/PathSensitive/GRTransferFuncs.h"
-#include "clang/Checker/Checkers/LocalCheckers.h"
+#include "clang/GR/PathSensitive/AnalysisManager.h"
+#include "clang/GR/PathSensitive/GRExprEngine.h"
+#include "clang/GR/PathSensitive/GRTransferFuncs.h"
+#include "clang/GR/Checkers/LocalCheckers.h"
 #include "clang/Frontend/ASTUnit.h"
 #include "clang/Frontend/CompilerInstance.h"
 #include "clang/Index/CallGraph.h"

Removed: cfe/trunk/include/clang/Checker/AnalysisConsumer.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Checker/AnalysisConsumer.h?rev=122419&view=auto
==============================================================================
--- cfe/trunk/include/clang/Checker/AnalysisConsumer.h (original)
+++ cfe/trunk/include/clang/Checker/AnalysisConsumer.h (removed)
@@ -1,35 +0,0 @@
-//===--- AnalysisConsumer.h - Front-end Analysis Engine Hooks ---*- C++ -*-===//
-//
-//                     The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-//
-// This header contains the functions necessary for a front-end to run various
-// analyses.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLVM_CLANG_CHECKER_ANALYSISCONSUMER_H
-#define LLVM_CLANG_CHECKER_ANALYSISCONSUMER_H
-
-#include <string>
-
-namespace clang {
-
-class AnalyzerOptions;
-class ASTConsumer;
-class Preprocessor;
-
-/// CreateAnalysisConsumer - Creates an ASTConsumer to run various code
-/// analysis passes.  (The set of analyses run is controlled by command-line
-/// options.)
-ASTConsumer* CreateAnalysisConsumer(const Preprocessor &pp,
-                                    const std::string &output,
-                                    const AnalyzerOptions& Opts);
-
-}
-
-#endif

Removed: cfe/trunk/include/clang/Checker/BugReporter/BugReporter.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Checker/BugReporter/BugReporter.h?rev=122419&view=auto
==============================================================================
--- cfe/trunk/include/clang/Checker/BugReporter/BugReporter.h (original)
+++ cfe/trunk/include/clang/Checker/BugReporter/BugReporter.h (removed)
@@ -1,481 +0,0 @@
-//===---  BugReporter.h - Generate PathDiagnostics --------------*- 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 BugReporter, a utility class for generating
-//  PathDiagnostics for analyses based on GRState.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLVM_CLANG_ANALYSIS_BUGREPORTER
-#define LLVM_CLANG_ANALYSIS_BUGREPORTER
-
-#include "clang/Basic/SourceLocation.h"
-#include "clang/Checker/PathSensitive/GRState.h"
-#include "llvm/ADT/FoldingSet.h"
-#include "llvm/ADT/ImmutableList.h"
-#include "llvm/ADT/ImmutableSet.h"
-#include "llvm/ADT/SmallSet.h"
-#include <list>
-
-namespace clang {
-
-class PathDiagnostic;
-class PathDiagnosticPiece;
-class PathDiagnosticClient;
-class ASTContext;
-class Diagnostic;
-class ExplodedNode;
-class ExplodedGraph;
-class BugReporter;
-class BugReporterContext;
-class GRExprEngine;
-class GRState;
-class Stmt;
-class BugType;
-class ParentMap;
-
-//===----------------------------------------------------------------------===//
-// Interface for individual bug reports.
-//===----------------------------------------------------------------------===//
-
-class BugReporterVisitor : public llvm::FoldingSetNode {
-public:
-  virtual ~BugReporterVisitor();
-  virtual PathDiagnosticPiece* VisitNode(const ExplodedNode* N,
-                                         const ExplodedNode* PrevN,
-                                         BugReporterContext& BRC) = 0;
-
-  virtual bool isOwnedByReporterContext() { return true; }
-  virtual void Profile(llvm::FoldingSetNodeID &ID) const = 0;
-};
-
-// FIXME: Combine this with RangedBugReport and remove RangedBugReport.
-class BugReport : public BugReporterVisitor {
-protected:
-  BugType& BT;
-  std::string ShortDescription;
-  std::string Description;
-  const ExplodedNode *ErrorNode;
-  mutable SourceRange R;
-
-protected:
-  friend class BugReporter;
-  friend class BugReportEquivClass;
-
-  virtual void Profile(llvm::FoldingSetNodeID& hash) const {
-    hash.AddInteger(getLocation().getRawEncoding());
-    hash.AddString(Description);
-  }
-
-public:
-  class NodeResolver {
-  public:
-    virtual ~NodeResolver() {}
-    virtual const ExplodedNode*
-            getOriginalNode(const ExplodedNode* N) = 0;
-  };
-
-  BugReport(BugType& bt, llvm::StringRef desc, const ExplodedNode *errornode)
-    : BT(bt), Description(desc), ErrorNode(errornode) {}
-
-  BugReport(BugType& bt, llvm::StringRef shortDesc, llvm::StringRef desc,
-            const ExplodedNode *errornode)
-  : BT(bt), ShortDescription(shortDesc), Description(desc),
-    ErrorNode(errornode) {}
-
-  virtual ~BugReport();
-
-  virtual bool isOwnedByReporterContext() { return false; }
-
-  const BugType& getBugType() const { return BT; }
-  BugType& getBugType() { return BT; }
-
-  // FIXME: Perhaps this should be moved into a subclass?
-  const ExplodedNode* getErrorNode() const { return ErrorNode; }
-
-  // FIXME: Do we need this?  Maybe getLocation() should return a ProgramPoint
-  // object.
-  // FIXME: If we do need it, we can probably just make it private to
-  // BugReporter.
-  const Stmt* getStmt() const;
-
-  const llvm::StringRef getDescription() const { return Description; }
-
-  const llvm::StringRef getShortDescription() const {
-    return ShortDescription.empty() ? Description : ShortDescription;
-  }
-
-  // FIXME: Is this needed?
-  virtual std::pair<const char**,const char**> getExtraDescriptiveText() {
-    return std::make_pair((const char**)0,(const char**)0);
-  }
-
-  // FIXME: Perhaps move this into a subclass.
-  virtual PathDiagnosticPiece* getEndPath(BugReporterContext& BRC,
-                                          const ExplodedNode* N);
-
-  /// getLocation - Return the "definitive" location of the reported bug.
-  ///  While a bug can span an entire path, usually there is a specific
-  ///  location that can be used to identify where the key issue occured.
-  ///  This location is used by clients rendering diagnostics.
-  virtual SourceLocation getLocation() const;
-
-  typedef const SourceRange *ranges_iterator;
-
-  /// getRanges - Returns the source ranges associated with this bug.
-  virtual std::pair<ranges_iterator, ranges_iterator> getRanges() const;
-
-  virtual PathDiagnosticPiece* VisitNode(const ExplodedNode* N,
-                                         const ExplodedNode* PrevN,
-                                         BugReporterContext& BR);
-
-  virtual void registerInitialVisitors(BugReporterContext& BRC,
-                                       const ExplodedNode* N) {}
-};
-
-//===----------------------------------------------------------------------===//
-// BugTypes (collections of related reports).
-//===----------------------------------------------------------------------===//
-
-class BugReportEquivClass : public llvm::FoldingSetNode {
-  // List of *owned* BugReport objects.
-  std::list<BugReport*> Reports;
-
-  friend class BugReporter;
-  void AddReport(BugReport* R) { Reports.push_back(R); }
-public:
-  BugReportEquivClass(BugReport* R) { Reports.push_back(R); }
-  ~BugReportEquivClass();
-
-  void Profile(llvm::FoldingSetNodeID& ID) const {
-    assert(!Reports.empty());
-    (*Reports.begin())->Profile(ID);
-  }
-
-  class iterator {
-    std::list<BugReport*>::iterator impl;
-  public:
-    iterator(std::list<BugReport*>::iterator i) : impl(i) {}
-    iterator& operator++() { ++impl; return *this; }
-    bool operator==(const iterator& I) const { return I.impl == impl; }
-    bool operator!=(const iterator& I) const { return I.impl != impl; }
-    BugReport* operator*() const { return *impl; }
-    BugReport* operator->() const { return *impl; }
-  };
-
-  class const_iterator {
-    std::list<BugReport*>::const_iterator impl;
-  public:
-    const_iterator(std::list<BugReport*>::const_iterator i) : impl(i) {}
-    const_iterator& operator++() { ++impl; return *this; }
-    bool operator==(const const_iterator& I) const { return I.impl == impl; }
-    bool operator!=(const const_iterator& I) const { return I.impl != impl; }
-    const BugReport* operator*() const { return *impl; }
-    const BugReport* operator->() const { return *impl; }
-  };
-
-  iterator begin() { return iterator(Reports.begin()); }
-  iterator end() { return iterator(Reports.end()); }
-
-  const_iterator begin() const { return const_iterator(Reports.begin()); }
-  const_iterator end() const { return const_iterator(Reports.end()); }
-};
-
-
-//===----------------------------------------------------------------------===//
-// Specialized subclasses of BugReport.
-//===----------------------------------------------------------------------===//
-
-// FIXME: Collapse this with the default BugReport class.
-class RangedBugReport : public BugReport {
-  llvm::SmallVector<SourceRange, 4> Ranges;
-public:
-  RangedBugReport(BugType& D, llvm::StringRef description,
-                  ExplodedNode *errornode)
-    : BugReport(D, description, errornode) {}
-
-  RangedBugReport(BugType& D, llvm::StringRef shortDescription,
-                  llvm::StringRef description, ExplodedNode *errornode)
-  : BugReport(D, shortDescription, description, errornode) {}
-
-  ~RangedBugReport();
-
-  // FIXME: Move this out of line.
-  void addRange(SourceRange R) {
-    assert(R.isValid());
-    Ranges.push_back(R);
-  }
-
-  virtual std::pair<ranges_iterator, ranges_iterator> getRanges() const {
-    return std::make_pair(Ranges.begin(), Ranges.end());
-  }
-};
-
-class EnhancedBugReport : public RangedBugReport {
-public:
-  typedef void (*VisitorCreator)(BugReporterContext &BRcC, const void *data,
-                                 const ExplodedNode *N);
-
-private:
-  typedef std::vector<std::pair<VisitorCreator, const void*> > Creators;
-  Creators creators;
-
-public:
-  EnhancedBugReport(BugType& D, llvm::StringRef description,
-                    ExplodedNode *errornode)
-   : RangedBugReport(D, description, errornode) {}
-
-  EnhancedBugReport(BugType& D, llvm::StringRef shortDescription,
-                   llvm::StringRef description, ExplodedNode *errornode)
-    : RangedBugReport(D, shortDescription, description, errornode) {}
-
-  ~EnhancedBugReport() {}
-
-  void registerInitialVisitors(BugReporterContext& BRC, const ExplodedNode* N) {
-    for (Creators::iterator I = creators.begin(), E = creators.end(); I!=E; ++I)
-      I->first(BRC, I->second, N);
-  }
-
-  void addVisitorCreator(VisitorCreator creator, const void *data) {
-    creators.push_back(std::make_pair(creator, data));
-  }
-};
-
-//===----------------------------------------------------------------------===//
-// BugReporter and friends.
-//===----------------------------------------------------------------------===//
-
-class BugReporterData {
-public:
-  virtual ~BugReporterData();
-  virtual Diagnostic& getDiagnostic() = 0;
-  virtual PathDiagnosticClient* getPathDiagnosticClient() = 0;
-  virtual ASTContext& getASTContext() = 0;
-  virtual SourceManager& getSourceManager() = 0;
-};
-
-class BugReporter {
-public:
-  enum Kind { BaseBRKind, GRBugReporterKind };
-
-private:
-  typedef llvm::ImmutableSet<BugType*> BugTypesTy;
-  BugTypesTy::Factory F;
-  BugTypesTy BugTypes;
-
-  const Kind kind;
-  BugReporterData& D;
-
-  void FlushReport(BugReportEquivClass& EQ);
-
-protected:
-  BugReporter(BugReporterData& d, Kind k) : BugTypes(F.getEmptySet()), kind(k),
-                                            D(d) {}
-
-public:
-  BugReporter(BugReporterData& d) : BugTypes(F.getEmptySet()), kind(BaseBRKind),
-                                    D(d) {}
-  virtual ~BugReporter();
-
-  void FlushReports();
-
-  Kind getKind() const { return kind; }
-
-  Diagnostic& getDiagnostic() {
-    return D.getDiagnostic();
-  }
-
-  PathDiagnosticClient* getPathDiagnosticClient() {
-    return D.getPathDiagnosticClient();
-  }
-
-  typedef BugTypesTy::iterator iterator;
-  iterator begin() { return BugTypes.begin(); }
-  iterator end() { return BugTypes.end(); }
-
-  ASTContext& getContext() { return D.getASTContext(); }
-
-  SourceManager& getSourceManager() { return D.getSourceManager(); }
-
-  virtual void GeneratePathDiagnostic(PathDiagnostic& pathDiagnostic,
-        llvm::SmallVectorImpl<BugReport *> &bugReports) {}
-
-  void Register(BugType *BT);
-
-  void EmitReport(BugReport *R);
-
-  void EmitBasicReport(llvm::StringRef BugName, llvm::StringRef BugStr,
-                       SourceLocation Loc,
-                       SourceRange* RangeBeg, unsigned NumRanges);
-
-  void EmitBasicReport(llvm::StringRef BugName, llvm::StringRef BugCategory,
-                       llvm::StringRef BugStr, SourceLocation Loc,
-                       SourceRange* RangeBeg, unsigned NumRanges);
-
-
-  void EmitBasicReport(llvm::StringRef BugName, llvm::StringRef BugStr,
-                       SourceLocation Loc) {
-    EmitBasicReport(BugName, BugStr, Loc, 0, 0);
-  }
-
-  void EmitBasicReport(llvm::StringRef BugName, llvm::StringRef BugCategory,
-                       llvm::StringRef BugStr, SourceLocation Loc) {
-    EmitBasicReport(BugName, BugCategory, BugStr, Loc, 0, 0);
-  }
-
-  void EmitBasicReport(llvm::StringRef BugName, llvm::StringRef BugStr,
-                       SourceLocation Loc, SourceRange R) {
-    EmitBasicReport(BugName, BugStr, Loc, &R, 1);
-  }
-
-  void EmitBasicReport(llvm::StringRef BugName, llvm::StringRef Category,
-                       llvm::StringRef BugStr, SourceLocation Loc,
-                       SourceRange R) {
-    EmitBasicReport(BugName, Category, BugStr, Loc, &R, 1);
-  }
-
-  static bool classof(const BugReporter* R) { return true; }
-};
-
-// FIXME: Get rid of GRBugReporter.  It's the wrong abstraction.
-class GRBugReporter : public BugReporter {
-  GRExprEngine& Eng;
-  llvm::SmallSet<SymbolRef, 10> NotableSymbols;
-public:
-  GRBugReporter(BugReporterData& d, GRExprEngine& eng)
-    : BugReporter(d, GRBugReporterKind), Eng(eng) {}
-
-  virtual ~GRBugReporter();
-
-  /// getEngine - Return the analysis engine used to analyze a given
-  ///  function or method.
-  GRExprEngine &getEngine() { return Eng; }
-
-  /// getGraph - Get the exploded graph created by the analysis engine
-  ///  for the analyzed method or function.
-  ExplodedGraph &getGraph();
-
-  /// getStateManager - Return the state manager used by the analysis
-  ///  engine.
-  GRStateManager &getStateManager();
-
-  virtual void GeneratePathDiagnostic(PathDiagnostic &pathDiagnostic,
-                     llvm::SmallVectorImpl<BugReport*> &bugReports);
-
-  void addNotableSymbol(SymbolRef Sym) {
-    NotableSymbols.insert(Sym);
-  }
-
-  bool isNotable(SymbolRef Sym) const {
-    return (bool) NotableSymbols.count(Sym);
-  }
-
-  /// classof - Used by isa<>, cast<>, and dyn_cast<>.
-  static bool classof(const BugReporter* R) {
-    return R->getKind() == GRBugReporterKind;
-  }
-};
-
-class BugReporterContext {
-  GRBugReporter &BR;
-  // Not the most efficient data structure, but we use an ImmutableList for the
-  // Callbacks because it is safe to make additions to list during iteration.
-  llvm::ImmutableList<BugReporterVisitor*>::Factory F;
-  llvm::ImmutableList<BugReporterVisitor*> Callbacks;
-  llvm::FoldingSet<BugReporterVisitor> CallbacksSet;
-public:
-  BugReporterContext(GRBugReporter& br) : BR(br), Callbacks(F.getEmptyList()) {}
-  virtual ~BugReporterContext();
-
-  void addVisitor(BugReporterVisitor* visitor);
-
-  typedef llvm::ImmutableList<BugReporterVisitor*>::iterator visitor_iterator;
-  visitor_iterator visitor_begin() { return Callbacks.begin(); }
-  visitor_iterator visitor_end() { return Callbacks.end(); }
-
-  GRBugReporter& getBugReporter() { return BR; }
-
-  ExplodedGraph &getGraph() { return BR.getGraph(); }
-
-  void addNotableSymbol(SymbolRef Sym) {
-    // FIXME: For now forward to GRBugReporter.
-    BR.addNotableSymbol(Sym);
-  }
-
-  bool isNotable(SymbolRef Sym) const {
-    // FIXME: For now forward to GRBugReporter.
-    return BR.isNotable(Sym);
-  }
-
-  GRStateManager& getStateManager() {
-    return BR.getStateManager();
-  }
-
-  SValBuilder& getSValBuilder() {
-    return getStateManager().getSValBuilder();
-  }
-
-  ASTContext& getASTContext() {
-    return BR.getContext();
-  }
-
-  SourceManager& getSourceManager() {
-    return BR.getSourceManager();
-  }
-
-  virtual BugReport::NodeResolver& getNodeResolver() = 0;
-};
-
-class DiagBugReport : public RangedBugReport {
-  std::list<std::string> Strs;
-  FullSourceLoc L;
-public:
-  DiagBugReport(BugType& D, llvm::StringRef desc, FullSourceLoc l) :
-  RangedBugReport(D, desc, 0), L(l) {}
-
-  virtual ~DiagBugReport() {}
-
-  // FIXME: Move out-of-line (virtual function).
-  SourceLocation getLocation() const { return L; }
-
-  void addString(llvm::StringRef s) { Strs.push_back(s); }
-
-  typedef std::list<std::string>::const_iterator str_iterator;
-  str_iterator str_begin() const { return Strs.begin(); }
-  str_iterator str_end() const { return Strs.end(); }
-};
-
-//===----------------------------------------------------------------------===//
-//===----------------------------------------------------------------------===//
-
-namespace bugreporter {
-
-const Stmt *GetDerefExpr(const ExplodedNode *N);
-const Stmt *GetDenomExpr(const ExplodedNode *N);
-const Stmt *GetCalleeExpr(const ExplodedNode *N);
-const Stmt *GetRetValExpr(const ExplodedNode *N);
-
-void registerTrackNullOrUndefValue(BugReporterContext& BRC, const void *stmt,
-                                   const ExplodedNode* N);
-
-void registerFindLastStore(BugReporterContext& BRC, const void *memregion,
-                           const ExplodedNode *N);
-
-void registerNilReceiverVisitor(BugReporterContext &BRC);
-
-void registerVarDeclsLastStore(BugReporterContext &BRC, const void *stmt,
-                               const ExplodedNode *N);
-
-} // end namespace clang::bugreporter
-
-//===----------------------------------------------------------------------===//
-
-} // end clang namespace
-
-#endif

Removed: cfe/trunk/include/clang/Checker/BugReporter/BugType.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Checker/BugReporter/BugType.h?rev=122419&view=auto
==============================================================================
--- cfe/trunk/include/clang/Checker/BugReporter/BugType.h (original)
+++ cfe/trunk/include/clang/Checker/BugReporter/BugType.h (removed)
@@ -1,72 +0,0 @@
-//===---  BugType.h - Bug Information Desciption ----------------*- 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 BugType, a class representing a bug type.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLVM_CLANG_ANALYSIS_BUGTYPE
-#define LLVM_CLANG_ANALYSIS_BUGTYPE
-
-#include "clang/Checker/BugReporter/BugReporter.h"
-#include "llvm/ADT/FoldingSet.h"
-#include <string>
-
-namespace clang {
-
-class ExplodedNode;
-class GRExprEngine;
-
-class BugType {
-private:
-  const std::string Name;
-  const std::string Category;
-  llvm::FoldingSet<BugReportEquivClass> EQClasses;
-  friend class BugReporter;
-  bool SuppressonSink;
-public:
-  BugType(llvm::StringRef name, llvm::StringRef cat)
-    : Name(name), Category(cat), SuppressonSink(false) {}
-  virtual ~BugType();
-
-  // FIXME: Should these be made strings as well?
-  llvm::StringRef getName() const { return Name; }
-  llvm::StringRef getCategory() const { return Category; }
-  
-  /// isSuppressOnSink - Returns true if bug reports associated with this bug
-  ///  type should be suppressed if the end node of the report is post-dominated
-  ///  by a sink node.
-  bool isSuppressOnSink() const { return SuppressonSink; }
-  void setSuppressOnSink(bool x) { SuppressonSink = x; }
-
-  virtual void FlushReports(BugReporter& BR);
-
-  typedef llvm::FoldingSet<BugReportEquivClass>::iterator iterator;
-  iterator begin() { return EQClasses.begin(); }
-  iterator end() { return EQClasses.end(); }
-
-  typedef llvm::FoldingSet<BugReportEquivClass>::const_iterator const_iterator;
-  const_iterator begin() const { return EQClasses.begin(); }
-  const_iterator end() const { return EQClasses.end(); }
-};
-
-class BuiltinBug : public BugType {
-  const std::string desc;
-public:
-  BuiltinBug(const char *name, const char *description)
-    : BugType(name, "Logic error"), desc(description) {}
-  
-  BuiltinBug(const char *name)
-    : BugType(name, "Logic error"), desc(name) {}
-  
-  llvm::StringRef getDescription() const { return desc; }
-};
-
-} // end clang namespace
-#endif

Removed: cfe/trunk/include/clang/Checker/BugReporter/PathDiagnostic.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Checker/BugReporter/PathDiagnostic.h?rev=122419&view=auto
==============================================================================
--- cfe/trunk/include/clang/Checker/BugReporter/PathDiagnostic.h (original)
+++ cfe/trunk/include/clang/Checker/BugReporter/PathDiagnostic.h (removed)
@@ -1,494 +0,0 @@
-//===--- PathDiagnostic.h - Path-Specific Diagnostic Handling ---*- 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 the PathDiagnostic-related interfaces.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLVM_CLANG_PATH_DIAGNOSTIC_H
-#define LLVM_CLANG_PATH_DIAGNOSTIC_H
-
-#include "clang/Basic/Diagnostic.h"
-#include "llvm/ADT/FoldingSet.h"
-#include <deque>
-#include <iterator>
-#include <string>
-#include <vector>
-
-namespace clang {
-
-class Decl;
-class SourceManager;
-class Stmt;
-
-//===----------------------------------------------------------------------===//
-// High-level interface for handlers of path-sensitive diagnostics.
-//===----------------------------------------------------------------------===//
-
-class PathDiagnostic;
-
-class PathDiagnosticClient : public DiagnosticClient  {
-public:
-  PathDiagnosticClient() {}
-
-  virtual ~PathDiagnosticClient() {}
-  
-  virtual void
-  FlushDiagnostics(llvm::SmallVectorImpl<std::string> *FilesMade = 0) = 0;
-  
-  void FlushDiagnostics(llvm::SmallVectorImpl<std::string> &FilesMade) {
-    FlushDiagnostics(&FilesMade);
-  }
-  
-  virtual llvm::StringRef getName() const = 0;
-  
-  virtual void HandleDiagnostic(Diagnostic::Level DiagLevel,
-                                const DiagnosticInfo &Info);
-  virtual void HandlePathDiagnostic(const PathDiagnostic* D) = 0;
-
-  enum PathGenerationScheme { Minimal, Extensive };
-  virtual PathGenerationScheme getGenerationScheme() const { return Minimal; }
-  virtual bool supportsLogicalOpControlFlow() const { return false; }
-  virtual bool supportsAllBlockEdges() const { return false; }
-  virtual bool useVerboseDescription() const { return true; }
-};
-
-//===----------------------------------------------------------------------===//
-// Path-sensitive diagnostics.
-//===----------------------------------------------------------------------===//
-
-class PathDiagnosticRange : public SourceRange {
-public:
-  const bool isPoint;
-
-  PathDiagnosticRange(const SourceRange &R, bool isP = false)
-    : SourceRange(R), isPoint(isP) {}
-};
-
-class PathDiagnosticLocation {
-private:
-  enum Kind { RangeK, SingleLocK, StmtK, DeclK } K;
-  SourceRange R;
-  const Stmt *S;
-  const Decl *D;
-  const SourceManager *SM;
-public:
-  PathDiagnosticLocation()
-    : K(SingleLocK), S(0), D(0), SM(0) {}
-
-  PathDiagnosticLocation(FullSourceLoc L)
-    : K(SingleLocK), R(L, L), S(0), D(0), SM(&L.getManager()) {}
-
-  PathDiagnosticLocation(const Stmt *s, const SourceManager &sm)
-    : K(StmtK), S(s), D(0), SM(&sm) {}
-
-  PathDiagnosticLocation(SourceRange r, const SourceManager &sm)
-    : K(RangeK), R(r), S(0), D(0), SM(&sm) {}
-
-  PathDiagnosticLocation(const Decl *d, const SourceManager &sm)
-    : K(DeclK), S(0), D(d), SM(&sm) {}
-
-  bool operator==(const PathDiagnosticLocation &X) const {
-    return K == X.K && R == X.R && S == X.S && D == X.D;
-  }
-
-  bool operator!=(const PathDiagnosticLocation &X) const {
-    return K != X.K || R != X.R || S != X.S || D != X.D;;
-  }
-
-  PathDiagnosticLocation& operator=(const PathDiagnosticLocation &X) {
-    K = X.K;
-    R = X.R;
-    S = X.S;
-    D = X.D;
-    SM = X.SM;
-    return *this;
-  }
-
-  bool isValid() const {
-    return SM != 0;
-  }
-
-  const SourceManager& getSourceManager() const { assert(isValid());return *SM;}
-
-  FullSourceLoc asLocation() const;
-  PathDiagnosticRange asRange() const;
-  const Stmt *asStmt() const { assert(isValid()); return S; }
-  const Decl *asDecl() const { assert(isValid()); return D; }
-
-  bool hasRange() const { return K == StmtK || K == RangeK || K == DeclK; }
-
-  void invalidate() {
-    *this = PathDiagnosticLocation();
-  }
-
-  void flatten();
-
-  const SourceManager& getManager() const { assert(isValid()); return *SM; }
-  
-  void Profile(llvm::FoldingSetNodeID &ID) const;
-};
-
-class PathDiagnosticLocationPair {
-private:
-  PathDiagnosticLocation Start, End;
-public:
-  PathDiagnosticLocationPair(const PathDiagnosticLocation &start,
-                             const PathDiagnosticLocation &end)
-    : Start(start), End(end) {}
-
-  const PathDiagnosticLocation &getStart() const { return Start; }
-  const PathDiagnosticLocation &getEnd() const { return End; }
-
-  void flatten() {
-    Start.flatten();
-    End.flatten();
-  }
-  
-  void Profile(llvm::FoldingSetNodeID &ID) const {
-    Start.Profile(ID);
-    End.Profile(ID);
-  }
-};
-
-//===----------------------------------------------------------------------===//
-// Path "pieces" for path-sensitive diagnostics.
-//===----------------------------------------------------------------------===//
-
-class PathDiagnosticPiece {
-public:
-  enum Kind { ControlFlow, Event, Macro };
-  enum DisplayHint { Above, Below };
-
-private:
-  const std::string str;
-  std::vector<FixItHint> FixItHints;
-  const Kind kind;
-  const DisplayHint Hint;
-  std::vector<SourceRange> ranges;
-
-  // Do not implement:
-  PathDiagnosticPiece();
-  PathDiagnosticPiece(const PathDiagnosticPiece &P);
-  PathDiagnosticPiece& operator=(const PathDiagnosticPiece &P);
-
-protected:
-  PathDiagnosticPiece(llvm::StringRef s, Kind k, DisplayHint hint = Below);
-
-  PathDiagnosticPiece(Kind k, DisplayHint hint = Below);
-
-public:
-  virtual ~PathDiagnosticPiece();
-
-  const std::string& getString() const { return str; }
-
-  /// getDisplayHint - Return a hint indicating where the diagnostic should
-  ///  be displayed by the PathDiagnosticClient.
-  DisplayHint getDisplayHint() const { return Hint; }
-
-  virtual PathDiagnosticLocation getLocation() const = 0;
-  virtual void flattenLocations() = 0;
-
-  Kind getKind() const { return kind; }
-
-  void addRange(SourceRange R) { ranges.push_back(R); }
-
-  void addRange(SourceLocation B, SourceLocation E) {
-    ranges.push_back(SourceRange(B,E));
-  }
-
-  void addFixItHint(const FixItHint& Hint) {
-    FixItHints.push_back(Hint);
-  }
-
-  typedef const SourceRange* range_iterator;
-
-  range_iterator ranges_begin() const {
-    return ranges.empty() ? NULL : &ranges[0];
-  }
-
-  range_iterator ranges_end() const {
-    return ranges_begin() + ranges.size();
-  }
-
-  typedef const FixItHint *fixit_iterator;
-
-  fixit_iterator fixit_begin() const {
-    return FixItHints.empty()? 0 : &FixItHints[0];
-  }
-
-  fixit_iterator fixit_end() const {
-    return FixItHints.empty()? 0
-                   : &FixItHints[0] + FixItHints.size();
-  }
-
-  static inline bool classof(const PathDiagnosticPiece* P) {
-    return true;
-  }
-  
-  virtual void Profile(llvm::FoldingSetNodeID &ID) const;
-};
-
-class PathDiagnosticSpotPiece : public PathDiagnosticPiece {
-private:
-  PathDiagnosticLocation Pos;
-public:
-  PathDiagnosticSpotPiece(const PathDiagnosticLocation &pos,
-                          llvm::StringRef s,
-                          PathDiagnosticPiece::Kind k,
-                          bool addPosRange = true)
-  : PathDiagnosticPiece(s, k), Pos(pos) {
-    assert(Pos.asLocation().isValid() &&
-           "PathDiagnosticSpotPiece's must have a valid location.");
-    if (addPosRange && Pos.hasRange()) addRange(Pos.asRange());
-  }
-
-  PathDiagnosticLocation getLocation() const { return Pos; }
-  virtual void flattenLocations() { Pos.flatten(); }
-  
-  virtual void Profile(llvm::FoldingSetNodeID &ID) const;
-};
-
-class PathDiagnosticEventPiece : public PathDiagnosticSpotPiece {
-
-public:
-  PathDiagnosticEventPiece(const PathDiagnosticLocation &pos,
-                           llvm::StringRef s, bool addPosRange = true)
-    : PathDiagnosticSpotPiece(pos, s, Event, addPosRange) {}
-
-  ~PathDiagnosticEventPiece();
-
-  static inline bool classof(const PathDiagnosticPiece* P) {
-    return P->getKind() == Event;
-  }
-};
-
-class PathDiagnosticControlFlowPiece : public PathDiagnosticPiece {
-  std::vector<PathDiagnosticLocationPair> LPairs;
-public:
-  PathDiagnosticControlFlowPiece(const PathDiagnosticLocation &startPos,
-                                 const PathDiagnosticLocation &endPos,
-                                 llvm::StringRef s)
-    : PathDiagnosticPiece(s, ControlFlow) {
-      LPairs.push_back(PathDiagnosticLocationPair(startPos, endPos));
-    }
-
-  PathDiagnosticControlFlowPiece(const PathDiagnosticLocation &startPos,
-                                 const PathDiagnosticLocation &endPos)
-    : PathDiagnosticPiece(ControlFlow) {
-      LPairs.push_back(PathDiagnosticLocationPair(startPos, endPos));
-    }
-
-  ~PathDiagnosticControlFlowPiece();
-
-  PathDiagnosticLocation getStartLocation() const {
-    assert(!LPairs.empty() &&
-           "PathDiagnosticControlFlowPiece needs at least one location.");
-    return LPairs[0].getStart();
-  }
-
-  PathDiagnosticLocation getEndLocation() const {
-    assert(!LPairs.empty() &&
-           "PathDiagnosticControlFlowPiece needs at least one location.");
-    return LPairs[0].getEnd();
-  }
-
-  void push_back(const PathDiagnosticLocationPair &X) { LPairs.push_back(X); }
-
-  virtual PathDiagnosticLocation getLocation() const {
-    return getStartLocation();
-  }
-
-  typedef std::vector<PathDiagnosticLocationPair>::iterator iterator;
-  iterator begin() { return LPairs.begin(); }
-  iterator end()   { return LPairs.end(); }
-
-  virtual void flattenLocations() {
-    for (iterator I=begin(), E=end(); I!=E; ++I) I->flatten();
-  }
-
-  typedef std::vector<PathDiagnosticLocationPair>::const_iterator
-          const_iterator;
-  const_iterator begin() const { return LPairs.begin(); }
-  const_iterator end() const   { return LPairs.end(); }
-
-  static inline bool classof(const PathDiagnosticPiece* P) {
-    return P->getKind() == ControlFlow;
-  }
-  
-  virtual void Profile(llvm::FoldingSetNodeID &ID) const;
-};
-
-class PathDiagnosticMacroPiece : public PathDiagnosticSpotPiece {
-  std::vector<PathDiagnosticPiece*> SubPieces;
-public:
-  PathDiagnosticMacroPiece(const PathDiagnosticLocation &pos)
-    : PathDiagnosticSpotPiece(pos, "", Macro) {}
-
-  ~PathDiagnosticMacroPiece();
-
-  bool containsEvent() const;
-
-  void push_back(PathDiagnosticPiece* P) { SubPieces.push_back(P); }
-
-  typedef std::vector<PathDiagnosticPiece*>::iterator iterator;
-  iterator begin() { return SubPieces.begin(); }
-  iterator end() { return SubPieces.end(); }
-
-  virtual void flattenLocations() {
-    PathDiagnosticSpotPiece::flattenLocations();
-    for (iterator I=begin(), E=end(); I!=E; ++I) (*I)->flattenLocations();
-  }
-
-  typedef std::vector<PathDiagnosticPiece*>::const_iterator const_iterator;
-  const_iterator begin() const { return SubPieces.begin(); }
-  const_iterator end() const { return SubPieces.end(); }
-
-  static inline bool classof(const PathDiagnosticPiece* P) {
-    return P->getKind() == Macro;
-  }
-  
-  virtual void Profile(llvm::FoldingSetNodeID &ID) const;
-};
-
-/// PathDiagnostic - PathDiagnostic objects represent a single path-sensitive
-///  diagnostic.  It represents an ordered-collection of PathDiagnosticPieces,
-///  each which represent the pieces of the path.
-class PathDiagnostic : public llvm::FoldingSetNode {
-  std::deque<PathDiagnosticPiece*> path;
-  unsigned Size;
-  std::string BugType;
-  std::string Desc;
-  std::string Category;
-  std::deque<std::string> OtherDesc;
-
-public:
-  PathDiagnostic();
-
-  PathDiagnostic(llvm::StringRef bugtype, llvm::StringRef desc,
-                 llvm::StringRef category);
-
-  ~PathDiagnostic();
-
-  llvm::StringRef getDescription() const { return Desc; }
-  llvm::StringRef getBugType() const { return BugType; }
-  llvm::StringRef getCategory() const { return Category; }
-
-  typedef std::deque<std::string>::const_iterator meta_iterator;
-  meta_iterator meta_begin() const { return OtherDesc.begin(); }
-  meta_iterator meta_end() const { return OtherDesc.end(); }
-  void addMeta(llvm::StringRef s) { OtherDesc.push_back(s); }
-
-  PathDiagnosticLocation getLocation() const {
-    assert(Size > 0 && "getLocation() requires a non-empty PathDiagnostic.");
-    return rbegin()->getLocation();
-  }
-
-  void push_front(PathDiagnosticPiece* piece) {
-    assert(piece);
-    path.push_front(piece);
-    ++Size;
-  }
-
-  void push_back(PathDiagnosticPiece* piece) {
-    assert(piece);
-    path.push_back(piece);
-    ++Size;
-  }
-
-  PathDiagnosticPiece* back() {
-    return path.back();
-  }
-
-  const PathDiagnosticPiece* back() const {
-    return path.back();
-  }
-
-  unsigned size() const { return Size; }
-  bool empty() const { return Size == 0; }
-
-  void resetPath(bool deletePieces = true);
-
-  class iterator {
-  public:
-    typedef std::deque<PathDiagnosticPiece*>::iterator ImplTy;
-
-    typedef PathDiagnosticPiece              value_type;
-    typedef value_type&                      reference;
-    typedef value_type*                      pointer;
-    typedef ptrdiff_t                        difference_type;
-    typedef std::bidirectional_iterator_tag  iterator_category;
-
-  private:
-    ImplTy I;
-
-  public:
-    iterator(const ImplTy& i) : I(i) {}
-
-    bool operator==(const iterator& X) const { return I == X.I; }
-    bool operator!=(const iterator& X) const { return I != X.I; }
-
-    PathDiagnosticPiece& operator*() const { return **I; }
-    PathDiagnosticPiece* operator->() const { return *I; }
-
-    iterator& operator++() { ++I; return *this; }
-    iterator& operator--() { --I; return *this; }
-  };
-
-  class const_iterator {
-  public:
-    typedef std::deque<PathDiagnosticPiece*>::const_iterator ImplTy;
-
-    typedef const PathDiagnosticPiece        value_type;
-    typedef value_type&                      reference;
-    typedef value_type*                      pointer;
-    typedef ptrdiff_t                        difference_type;
-    typedef std::bidirectional_iterator_tag  iterator_category;
-
-  private:
-    ImplTy I;
-
-  public:
-    const_iterator(const ImplTy& i) : I(i) {}
-
-    bool operator==(const const_iterator& X) const { return I == X.I; }
-    bool operator!=(const const_iterator& X) const { return I != X.I; }
-
-    reference operator*() const { return **I; }
-    pointer operator->() const { return *I; }
-
-    const_iterator& operator++() { ++I; return *this; }
-    const_iterator& operator--() { --I; return *this; }
-  };
-
-  typedef std::reverse_iterator<iterator>       reverse_iterator;
-  typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
-
-  // forward iterator creation methods.
-
-  iterator begin() { return path.begin(); }
-  iterator end() { return path.end(); }
-
-  const_iterator begin() const { return path.begin(); }
-  const_iterator end() const { return path.end(); }
-
-  // reverse iterator creation methods.
-  reverse_iterator rbegin()            { return reverse_iterator(end()); }
-  const_reverse_iterator rbegin() const{ return const_reverse_iterator(end()); }
-  reverse_iterator rend()              { return reverse_iterator(begin()); }
-  const_reverse_iterator rend() const { return const_reverse_iterator(begin());}
-
-  void flattenLocations() {
-    for (iterator I = begin(), E = end(); I != E; ++I) I->flattenLocations();
-  }
-  
-  void Profile(llvm::FoldingSetNodeID &ID) const;
-};  
-} //end clang namespace
-#endif

Removed: cfe/trunk/include/clang/Checker/Checkers/DereferenceChecker.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Checker/Checkers/DereferenceChecker.h?rev=122419&view=auto
==============================================================================
--- cfe/trunk/include/clang/Checker/Checkers/DereferenceChecker.h (original)
+++ cfe/trunk/include/clang/Checker/Checkers/DereferenceChecker.h (removed)
@@ -1,31 +0,0 @@
-//== NullDerefChecker.h - Null dereference checker --------------*- C++ -*--==//
-//
-//                     The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-//
-// This defines NullDerefChecker and UndefDerefChecker, two builtin checks
-// in GRExprEngine that check for null and undefined pointers at loads
-// and stores.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLVM_CLANG_DEREFCHECKER
-#define LLVM_CLANG_DEREFCHECKER
-
-#include <utility>
-
-namespace clang {
-
-class GRExprEngine;
-class ExplodedNode;
-
-std::pair<ExplodedNode * const *, ExplodedNode * const *>
-GetImplicitNullDereferences(GRExprEngine &Eng);
-
-} // end clang namespace
-
-#endif

Removed: cfe/trunk/include/clang/Checker/Checkers/LocalCheckers.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Checker/Checkers/LocalCheckers.h?rev=122419&view=auto
==============================================================================
--- cfe/trunk/include/clang/Checker/Checkers/LocalCheckers.h (original)
+++ cfe/trunk/include/clang/Checker/Checkers/LocalCheckers.h (removed)
@@ -1,61 +0,0 @@
-//==- LocalCheckers.h - Intra-Procedural+Flow-Sensitive Checkers -*- 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 the interface to call a set of intra-procedural (local)
-//  checkers that use flow/path-sensitive analyses to find bugs.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLVM_CLANG_ANALYSIS_LOCALCHECKERS_H
-#define LLVM_CLANG_ANALYSIS_LOCALCHECKERS_H
-
-namespace clang {
-
-class CFG;
-class Decl;
-class Diagnostic;
-class ASTContext;
-class PathDiagnosticClient;
-class GRTransferFuncs;
-class BugType;
-class LangOptions;
-class ParentMap;
-class LiveVariables;
-class BugReporter;
-class ObjCImplementationDecl;
-class LangOptions;
-class GRExprEngine;
-class TranslationUnitDecl;
-
-void CheckDeadStores(CFG &cfg, LiveVariables &L, ParentMap &map, 
-                     BugReporter& BR);
-
-GRTransferFuncs* MakeCFRefCountTF(ASTContext& Ctx, bool GCEnabled,
-                                  const LangOptions& lopts);
-
-void CheckObjCDealloc(const ObjCImplementationDecl* D, const LangOptions& L,
-                      BugReporter& BR);
-
-void CheckObjCInstMethSignature(const ObjCImplementationDecl *ID,
-                                BugReporter& BR);
-
-void CheckObjCUnusedIvar(const ObjCImplementationDecl *D, BugReporter& BR);
-
-void RegisterAppleChecks(GRExprEngine& Eng, const Decl &D);
-void RegisterExperimentalChecks(GRExprEngine &Eng);
-void RegisterExperimentalInternalChecks(GRExprEngine &Eng);
-
-void CheckLLVMConventions(TranslationUnitDecl &TU, BugReporter &BR);
-void CheckSecuritySyntaxOnly(const Decl *D, BugReporter &BR);
-void CheckSizeofPointer(const Decl *D, BugReporter &BR);
-
-void RegisterCallInliner(GRExprEngine &Eng);
-} // end namespace clang
-
-#endif

Removed: cfe/trunk/include/clang/Checker/FrontendActions.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Checker/FrontendActions.h?rev=122419&view=auto
==============================================================================
--- cfe/trunk/include/clang/Checker/FrontendActions.h (original)
+++ cfe/trunk/include/clang/Checker/FrontendActions.h (removed)
@@ -1,29 +0,0 @@
-//===-- FrontendActions.h - Useful Frontend Actions -------------*- C++ -*-===//
-//
-//                     The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLVM_CLANG_CHECKER_FRONTENDACTIONS_H
-#define LLVM_CLANG_CHECKER_FRONTENDACTIONS_H
-
-#include "clang/Frontend/FrontendAction.h"
-
-namespace clang {
-
-//===----------------------------------------------------------------------===//
-// AST Consumer Actions
-//===----------------------------------------------------------------------===//
-
-class AnalysisAction : public ASTFrontendAction {
-protected:
-  virtual ASTConsumer *CreateASTConsumer(CompilerInstance &CI,
-                                         llvm::StringRef InFile);
-};
-
-}  // end namespace clang
-
-#endif

Removed: cfe/trunk/include/clang/Checker/ManagerRegistry.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Checker/ManagerRegistry.h?rev=122419&view=auto
==============================================================================
--- cfe/trunk/include/clang/Checker/ManagerRegistry.h (original)
+++ cfe/trunk/include/clang/Checker/ManagerRegistry.h (removed)
@@ -1,53 +0,0 @@
-//===-- ManagerRegistry.h - Pluggable analyzer module registry --*- 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 the ManagerRegistry and Register* classes.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLVM_CLANG_ANALYSIS_MANAGER_REGISTRY_H
-#define LLVM_CLANG_ANALYSIS_MANAGER_REGISTRY_H
-
-#include "clang/Checker/PathSensitive/GRState.h"
-
-namespace clang {
-
-/// ManagerRegistry - This class records manager creators registered at
-/// runtime. The information is communicated to AnalysisManager through static
-/// members. Better design is expected.
-
-class ManagerRegistry {
-public:
-  static StoreManagerCreator StoreMgrCreator;
-  static ConstraintManagerCreator ConstraintMgrCreator;
-};
-
-/// RegisterConstraintManager - This class is used to setup the constraint
-/// manager of the static analyzer. The constructor takes a creator function
-/// pointer for creating the constraint manager.
-///
-/// It is used like this:
-///
-/// class MyConstraintManager {};
-/// ConstraintManager* CreateMyConstraintManager(GRStateManager& statemgr) {
-///  return new MyConstraintManager(statemgr);
-/// }
-/// RegisterConstraintManager X(CreateMyConstraintManager);
-
-class RegisterConstraintManager {
-public:
-  RegisterConstraintManager(ConstraintManagerCreator CMC) {
-    assert(ManagerRegistry::ConstraintMgrCreator == 0
-           && "ConstraintMgrCreator already set!");
-    ManagerRegistry::ConstraintMgrCreator = CMC;
-  }
-};
-
-}
-#endif

Removed: cfe/trunk/include/clang/Checker/PathDiagnosticClients.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Checker/PathDiagnosticClients.h?rev=122419&view=auto
==============================================================================
--- cfe/trunk/include/clang/Checker/PathDiagnosticClients.h (original)
+++ cfe/trunk/include/clang/Checker/PathDiagnosticClients.h (removed)
@@ -1,36 +0,0 @@
-//===--- PathDiagnosticClients.h - Path Diagnostic Clients ------*- 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 the interface to create different path diagostic clients.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLVM_CLANG_CHECKER_PATH_DIAGNOSTIC_CLIENTS_H
-#define LLVM_CLANG_CHECKER_PATH_DIAGNOSTIC_CLiENTS_H
-
-#include <string>
-
-namespace clang {
-
-class PathDiagnosticClient;
-class Preprocessor;
-
-PathDiagnosticClient*
-createHTMLDiagnosticClient(const std::string& prefix, const Preprocessor &PP);
-
-PathDiagnosticClient*
-createPlistDiagnosticClient(const std::string& prefix, const Preprocessor &PP,
-                            PathDiagnosticClient *SubPD = 0);
-
-PathDiagnosticClient*
-createTextPathDiagnosticClient(const std::string& prefix,
-                               const Preprocessor &PP);
-
-} // end clang namespace
-#endif

Removed: cfe/trunk/include/clang/Checker/PathSensitive/AnalysisManager.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Checker/PathSensitive/AnalysisManager.h?rev=122419&view=auto
==============================================================================
--- cfe/trunk/include/clang/Checker/PathSensitive/AnalysisManager.h (original)
+++ cfe/trunk/include/clang/Checker/PathSensitive/AnalysisManager.h (removed)
@@ -1,204 +0,0 @@
-//== AnalysisManager.h - Path sensitive analysis data manager ------*- 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 the AnalysisManager class that manages the data and policy
-// for path sensitive analysis.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLVM_CLANG_ANALYSIS_ANALYSISMANAGER_H
-#define LLVM_CLANG_ANALYSIS_ANALYSISMANAGER_H
-
-#include "clang/Analysis/AnalysisContext.h"
-#include "clang/Checker/BugReporter/BugReporter.h"
-#include "clang/Checker/BugReporter/PathDiagnostic.h"
-
-namespace clang {
-
-namespace idx { 
-  class Indexer;
-  class TranslationUnit; 
-}
-
-class AnalysisManager : public BugReporterData {
-  AnalysisContextManager AnaCtxMgr;
-  LocationContextManager LocCtxMgr;
-
-  ASTContext &Ctx;
-  Diagnostic &Diags;
-  const LangOptions &LangInfo;
-
-  llvm::OwningPtr<PathDiagnosticClient> PD;
-
-  // Configurable components creators.
-  StoreManagerCreator CreateStoreMgr;
-  ConstraintManagerCreator CreateConstraintMgr;
-
-  /// \brief Provide function definitions in other translation units. This is
-  /// NULL if we don't have multiple translation units. AnalysisManager does
-  /// not own the Indexer.
-  idx::Indexer *Idxer;
-
-  enum AnalysisScope { ScopeTU, ScopeDecl } AScope;
-
-  // The maximum number of exploded nodes the analyzer will generate.
-  unsigned MaxNodes;
-
-  // The maximum number of times the analyzer visit a block.
-  unsigned MaxVisit;
-
-  bool VisualizeEGDot;
-  bool VisualizeEGUbi;
-  bool PurgeDead;
-
-  /// EargerlyAssume - A flag indicating how the engine should handle
-  //   expressions such as: 'x = (y != 0)'.  When this flag is true then
-  //   the subexpression 'y != 0' will be eagerly assumed to be true or false,
-  //   thus evaluating it to the integers 0 or 1 respectively.  The upside
-  //   is that this can increase analysis precision until we have a better way
-  //   to lazily evaluate such logic.  The downside is that it eagerly
-  //   bifurcates paths.
-  bool EagerlyAssume;
-  bool TrimGraph;
-  bool InlineCall;
-
-public:
-  AnalysisManager(ASTContext &ctx, Diagnostic &diags, 
-                  const LangOptions &lang, PathDiagnosticClient *pd,
-                  StoreManagerCreator storemgr,
-                  ConstraintManagerCreator constraintmgr, 
-                  idx::Indexer *idxer,
-                  unsigned maxnodes, unsigned maxvisit,
-                  bool vizdot, bool vizubi, bool purge, bool eager, bool trim,
-                  bool inlinecall, bool useUnoptimizedCFG,
-                  bool addImplicitDtors, bool addInitializers)
-
-    : AnaCtxMgr(useUnoptimizedCFG, addImplicitDtors, addInitializers),
-      Ctx(ctx), Diags(diags), LangInfo(lang), PD(pd),
-      CreateStoreMgr(storemgr), CreateConstraintMgr(constraintmgr),Idxer(idxer),
-      AScope(ScopeDecl), MaxNodes(maxnodes), MaxVisit(maxvisit),
-      VisualizeEGDot(vizdot), VisualizeEGUbi(vizubi), PurgeDead(purge),
-      EagerlyAssume(eager), TrimGraph(trim), InlineCall(inlinecall) {}
-  
-  ~AnalysisManager() { FlushDiagnostics(); }
-  
-  void ClearContexts() {
-    LocCtxMgr.clear();
-    AnaCtxMgr.clear();
-  }
-  
-  AnalysisContextManager& getAnalysisContextManager() {
-    return AnaCtxMgr;
-  }
-
-  StoreManagerCreator getStoreManagerCreator() {
-    return CreateStoreMgr;
-  }
-
-  ConstraintManagerCreator getConstraintManagerCreator() {
-    return CreateConstraintMgr;
-  }
-
-  idx::Indexer *getIndexer() const { return Idxer; }
-
-  virtual ASTContext &getASTContext() {
-    return Ctx;
-  }
-
-  virtual SourceManager &getSourceManager() {
-    return getASTContext().getSourceManager();
-  }
-
-  virtual Diagnostic &getDiagnostic() {
-    return Diags;
-  }
-
-  const LangOptions &getLangOptions() const {
-    return LangInfo;
-  }
-
-  virtual PathDiagnosticClient *getPathDiagnosticClient() {
-    return PD.get();
-  }
-  
-  void FlushDiagnostics() {
-    if (PD.get())
-      PD->FlushDiagnostics();
-  }
-
-  unsigned getMaxNodes() const { return MaxNodes; }
-
-  unsigned getMaxVisit() const { return MaxVisit; }
-
-  bool shouldVisualizeGraphviz() const { return VisualizeEGDot; }
-
-  bool shouldVisualizeUbigraph() const { return VisualizeEGUbi; }
-
-  bool shouldVisualize() const {
-    return VisualizeEGDot || VisualizeEGUbi;
-  }
-
-  bool shouldTrimGraph() const { return TrimGraph; }
-
-  bool shouldPurgeDead() const { return PurgeDead; }
-
-  bool shouldEagerlyAssume() const { return EagerlyAssume; }
-
-  bool shouldInlineCall() const { return InlineCall; }
-
-  bool hasIndexer() const { return Idxer != 0; }
-
-  AnalysisContext *getAnalysisContextInAnotherTU(const Decl *D);
-
-  CFG *getCFG(Decl const *D) {
-    return AnaCtxMgr.getContext(D)->getCFG();
-  }
-
-  LiveVariables *getLiveVariables(Decl const *D) {
-    return AnaCtxMgr.getContext(D)->getLiveVariables();
-  }
-
-  ParentMap &getParentMap(Decl const *D) {
-    return AnaCtxMgr.getContext(D)->getParentMap();
-  }
-
-  AnalysisContext *getAnalysisContext(const Decl *D) {
-    return AnaCtxMgr.getContext(D);
-  }
-
-  AnalysisContext *getAnalysisContext(const Decl *D, idx::TranslationUnit *TU) {
-    return AnaCtxMgr.getContext(D, TU);
-  }
-
-  const StackFrameContext *getStackFrame(AnalysisContext *Ctx,
-                                         LocationContext const *Parent,
-                                         const Stmt *S,
-                                         const CFGBlock *Blk, unsigned Idx) {
-    return LocCtxMgr.getStackFrame(Ctx, Parent, S, Blk, Idx);
-  }
-
-  // Get the top level stack frame.
-  const StackFrameContext *getStackFrame(Decl const *D, 
-                                         idx::TranslationUnit *TU) {
-    return LocCtxMgr.getStackFrame(AnaCtxMgr.getContext(D, TU), 0, 0, 0, 0);
-  }
-
-  // Get a stack frame with parent.
-  StackFrameContext const *getStackFrame(const Decl *D, 
-                                         LocationContext const *Parent,
-                                         const Stmt *S,
-                                         const CFGBlock *Blk, unsigned Idx) {
-    return LocCtxMgr.getStackFrame(AnaCtxMgr.getContext(D), Parent, S,
-                                   Blk,Idx);
-  }
-};
-
-}
-
-#endif

Removed: cfe/trunk/include/clang/Checker/PathSensitive/BasicValueFactory.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Checker/PathSensitive/BasicValueFactory.h?rev=122419&view=auto
==============================================================================
--- cfe/trunk/include/clang/Checker/PathSensitive/BasicValueFactory.h (original)
+++ cfe/trunk/include/clang/Checker/PathSensitive/BasicValueFactory.h (removed)
@@ -1,197 +0,0 @@
-//=== BasicValueFactory.h - Basic values for Path Sens analysis --*- 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 BasicValueFactory, a class that manages the lifetime
-//  of APSInt objects and symbolic constraints used by GRExprEngine
-//  and related classes.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLVM_CLANG_ANALYSIS_BASICVALUEFACTORY_H
-#define LLVM_CLANG_ANALYSIS_BASICVALUEFACTORY_H
-
-#include "clang/Checker/PathSensitive/SVals.h"
-#include "clang/AST/ASTContext.h"
-#include "llvm/ADT/FoldingSet.h"
-#include "llvm/ADT/APSInt.h"
-#include "llvm/ADT/ImmutableList.h"
-
-namespace clang {
-
-  class GRState;
-
-class CompoundValData : public llvm::FoldingSetNode {
-  QualType T;
-  llvm::ImmutableList<SVal> L;
-
-public:
-  CompoundValData(QualType t, llvm::ImmutableList<SVal> l)
-    : T(t), L(l) {}
-
-  typedef llvm::ImmutableList<SVal>::iterator iterator;
-  iterator begin() const { return L.begin(); }
-  iterator end() const { return L.end(); }
-
-  static void Profile(llvm::FoldingSetNodeID& ID, QualType T,
-                      llvm::ImmutableList<SVal> L);
-
-  void Profile(llvm::FoldingSetNodeID& ID) { Profile(ID, T, L); }
-};
-
-class LazyCompoundValData : public llvm::FoldingSetNode {
-  const void *store;
-  const TypedRegion *region;
-public:
-  LazyCompoundValData(const void *st, const TypedRegion *r)
-    : store(st), region(r) {}
-
-  const void *getStore() const { return store; }
-  const TypedRegion *getRegion() const { return region; }
-
-  static void Profile(llvm::FoldingSetNodeID& ID, const void *store,
-                      const TypedRegion *region);
-
-  void Profile(llvm::FoldingSetNodeID& ID) { Profile(ID, store, region); }
-};
-
-class BasicValueFactory {
-  typedef llvm::FoldingSet<llvm::FoldingSetNodeWrapper<llvm::APSInt> >
-          APSIntSetTy;
-
-  ASTContext& Ctx;
-  llvm::BumpPtrAllocator& BPAlloc;
-
-  APSIntSetTy   APSIntSet;
-  void*         PersistentSVals;
-  void*         PersistentSValPairs;
-
-  llvm::ImmutableList<SVal>::Factory SValListFactory;
-  llvm::FoldingSet<CompoundValData>  CompoundValDataSet;
-  llvm::FoldingSet<LazyCompoundValData> LazyCompoundValDataSet;
-
-public:
-  BasicValueFactory(ASTContext& ctx, llvm::BumpPtrAllocator& Alloc)
-  : Ctx(ctx), BPAlloc(Alloc), PersistentSVals(0), PersistentSValPairs(0),
-    SValListFactory(Alloc) {}
-
-  ~BasicValueFactory();
-
-  ASTContext& getContext() const { return Ctx; }
-
-  const llvm::APSInt& getValue(const llvm::APSInt& X);
-  const llvm::APSInt& getValue(const llvm::APInt& X, bool isUnsigned);
-  const llvm::APSInt& getValue(uint64_t X, unsigned BitWidth, bool isUnsigned);
-  const llvm::APSInt& getValue(uint64_t X, QualType T);
-
-  /// Convert - Create a new persistent APSInt with the same value as 'From'
-  ///  but with the bitwidth and signedness of 'To'.
-  const llvm::APSInt &Convert(const llvm::APSInt& To,
-                              const llvm::APSInt& From) {
-
-    if (To.isUnsigned() == From.isUnsigned() &&
-        To.getBitWidth() == From.getBitWidth())
-      return From;
-
-    return getValue(From.getSExtValue(), To.getBitWidth(), To.isUnsigned());
-  }
-  
-  const llvm::APSInt &Convert(QualType T, const llvm::APSInt &From) {
-    assert(T->isIntegerType() || Loc::IsLocType(T));
-    unsigned bitwidth = Ctx.getTypeSize(T);
-    bool isUnsigned = T->isUnsignedIntegerType() || Loc::IsLocType(T);
-    
-    if (isUnsigned == From.isUnsigned() && bitwidth == From.getBitWidth())
-      return From;
-    
-    return getValue(From.getSExtValue(), bitwidth, isUnsigned);
-  }
-
-  const llvm::APSInt& getIntValue(uint64_t X, bool isUnsigned) {
-    QualType T = isUnsigned ? Ctx.UnsignedIntTy : Ctx.IntTy;
-    return getValue(X, T);
-  }
-
-  inline const llvm::APSInt& getMaxValue(const llvm::APSInt &v) {
-    return getValue(llvm::APSInt::getMaxValue(v.getBitWidth(), v.isUnsigned()));
-  }
-
-  inline const llvm::APSInt& getMinValue(const llvm::APSInt &v) {
-    return getValue(llvm::APSInt::getMinValue(v.getBitWidth(), v.isUnsigned()));
-  }
-
-  inline const llvm::APSInt& getMaxValue(QualType T) {
-    assert(T->isIntegerType() || Loc::IsLocType(T));
-    bool isUnsigned = T->isUnsignedIntegerType() || Loc::IsLocType(T);
-    return getValue(llvm::APSInt::getMaxValue(Ctx.getTypeSize(T), isUnsigned));
-  }
-
-  inline const llvm::APSInt& getMinValue(QualType T) {
-    assert(T->isIntegerType() || Loc::IsLocType(T));
-    bool isUnsigned = T->isUnsignedIntegerType() || Loc::IsLocType(T);
-    return getValue(llvm::APSInt::getMinValue(Ctx.getTypeSize(T), isUnsigned));
-  }
-
-  inline const llvm::APSInt& Add1(const llvm::APSInt& V) {
-    llvm::APSInt X = V;
-    ++X;
-    return getValue(X);
-  }
-
-  inline const llvm::APSInt& Sub1(const llvm::APSInt& V) {
-    llvm::APSInt X = V;
-    --X;
-    return getValue(X);
-  }
-
-  inline const llvm::APSInt& getZeroWithPtrWidth(bool isUnsigned = true) {
-    return getValue(0, Ctx.getTypeSize(Ctx.VoidPtrTy), isUnsigned);
-  }
-
-  inline const llvm::APSInt &getIntWithPtrWidth(uint64_t X, bool isUnsigned) {
-    return getValue(X, Ctx.getTypeSize(Ctx.VoidPtrTy), isUnsigned);
-  }
-
-  inline const llvm::APSInt& getTruthValue(bool b, QualType T) {
-    return getValue(b ? 1 : 0, Ctx.getTypeSize(T), false);
-  }
-
-  inline const llvm::APSInt& getTruthValue(bool b) {
-    return getTruthValue(b, Ctx.IntTy);
-  }
-
-  const CompoundValData *getCompoundValData(QualType T,
-                                            llvm::ImmutableList<SVal> Vals);
-
-  const LazyCompoundValData *getLazyCompoundValData(const void *store,
-                                                    const TypedRegion *region);
-
-  llvm::ImmutableList<SVal> getEmptySValList() {
-    return SValListFactory.getEmptyList();
-  }
-
-  llvm::ImmutableList<SVal> consVals(SVal X, llvm::ImmutableList<SVal> L) {
-    return SValListFactory.add(X, L);
-  }
-
-  const llvm::APSInt* evalAPSInt(BinaryOperator::Opcode Op,
-                                     const llvm::APSInt& V1,
-                                     const llvm::APSInt& V2);
-
-  const std::pair<SVal, uintptr_t>&
-  getPersistentSValWithData(const SVal& V, uintptr_t Data);
-
-  const std::pair<SVal, SVal>&
-  getPersistentSValPair(const SVal& V1, const SVal& V2);
-
-  const SVal* getPersistentSVal(SVal X);
-};
-
-} // end clang namespace
-
-#endif

Removed: cfe/trunk/include/clang/Checker/PathSensitive/Checker.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Checker/PathSensitive/Checker.h?rev=122419&view=auto
==============================================================================
--- cfe/trunk/include/clang/Checker/PathSensitive/Checker.h (original)
+++ cfe/trunk/include/clang/Checker/PathSensitive/Checker.h (removed)
@@ -1,304 +0,0 @@
-//== Checker.h - Abstract interface for checkers -----------------*- 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 Checker and CheckerVisitor, classes used for creating
-//  domain-specific checks.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLVM_CLANG_ANALYSIS_CHECKER
-#define LLVM_CLANG_ANALYSIS_CHECKER
-
-#include "clang/Analysis/Support/SaveAndRestore.h"
-#include "clang/Checker/PathSensitive/GRExprEngine.h"
-
-//===----------------------------------------------------------------------===//
-// Checker interface.
-//===----------------------------------------------------------------------===//
-
-namespace clang {
-
-class CheckerContext {
-  ExplodedNodeSet &Dst;
-  GRStmtNodeBuilder &B;
-  GRExprEngine &Eng;
-  ExplodedNode *Pred;
-  SaveAndRestore<bool> OldSink;
-  SaveAndRestore<const void*> OldTag;
-  SaveAndRestore<ProgramPoint::Kind> OldPointKind;
-  SaveOr OldHasGen;
-  const GRState *ST;
-  const Stmt *statement;
-  const unsigned size;
-public:
-  bool *respondsToCallback;
-public:
-  CheckerContext(ExplodedNodeSet &dst, GRStmtNodeBuilder &builder,
-                 GRExprEngine &eng, ExplodedNode *pred,
-                 const void *tag, ProgramPoint::Kind K,
-                 bool *respondsToCB = 0,
-                 const Stmt *stmt = 0, const GRState *st = 0)
-    : Dst(dst), B(builder), Eng(eng), Pred(pred),
-      OldSink(B.BuildSinks),
-      OldTag(B.Tag, tag),
-      OldPointKind(B.PointKind, K),
-      OldHasGen(B.HasGeneratedNode),
-      ST(st), statement(stmt), size(Dst.size()),
-      respondsToCallback(respondsToCB) {}
-
-  ~CheckerContext();
-
-  GRExprEngine &getEngine() {
-    return Eng;
-  }
-
-  AnalysisManager &getAnalysisManager() {
-    return Eng.getAnalysisManager();
-  }
-
-  ConstraintManager &getConstraintManager() {
-    return Eng.getConstraintManager();
-  }
-
-  StoreManager &getStoreManager() {
-    return Eng.getStoreManager();
-  }
-
-  ExplodedNodeSet &getNodeSet() { return Dst; }
-  GRStmtNodeBuilder &getNodeBuilder() { return B; }
-  ExplodedNode *&getPredecessor() { return Pred; }
-  const GRState *getState() { return ST ? ST : B.GetState(Pred); }
-
-  ASTContext &getASTContext() {
-    return Eng.getContext();
-  }
-  
-  BugReporter &getBugReporter() {
-    return Eng.getBugReporter();
-  }
-  
-  SourceManager &getSourceManager() {
-    return getBugReporter().getSourceManager();
-  }
-
-  SValBuilder &getSValBuilder() {
-    return Eng.getSValBuilder();
-  }
-
-  ExplodedNode *generateNode(bool autoTransition = true) {
-    assert(statement && "Only transitions with statements currently supported");
-    ExplodedNode *N = generateNodeImpl(statement, getState(), false);
-    if (N && autoTransition)
-      Dst.Add(N);
-    return N;
-  }
-  
-  ExplodedNode *generateNode(const Stmt *stmt, const GRState *state,
-                             bool autoTransition = true) {
-    assert(state);
-    ExplodedNode *N = generateNodeImpl(stmt, state, false);
-    if (N && autoTransition)
-      addTransition(N);
-    return N;
-  }
-
-  ExplodedNode *generateNode(const GRState *state, ExplodedNode *pred,
-                             bool autoTransition = true) {
-   assert(statement && "Only transitions with statements currently supported");
-    ExplodedNode *N = generateNodeImpl(statement, state, pred, false);
-    if (N && autoTransition)
-      addTransition(N);
-    return N;
-  }
-
-  ExplodedNode *generateNode(const GRState *state, bool autoTransition = true) {
-    assert(statement && "Only transitions with statements currently supported");
-    ExplodedNode *N = generateNodeImpl(statement, state, false);
-    if (N && autoTransition)
-      addTransition(N);
-    return N;
-  }
-
-  ExplodedNode *generateSink(const Stmt *stmt, const GRState *state = 0) {
-    return generateNodeImpl(stmt, state ? state : getState(), true);
-  }
-  
-  ExplodedNode *generateSink(const GRState *state = 0) {
-    assert(statement && "Only transitions with statements currently supported");
-    return generateNodeImpl(statement, state ? state : getState(), true);
-  }
-
-  void addTransition(ExplodedNode *node) {
-    Dst.Add(node);
-  }
-  
-  void addTransition(const GRState *state) {
-    assert(state);
-    // If the 'state' is not new, we need to check if the cached state 'ST'
-    // is new.
-    if (state != getState() || (ST && ST != B.GetState(Pred)))
-      // state is new or equals to ST.
-      generateNode(state, true);
-    else
-      Dst.Add(Pred);
-  }
-
-  // Generate a node with a new program point different from the one that will
-  // be created by the GRStmtNodeBuilder.
-  void addTransition(const GRState *state, ProgramPoint Loc) {
-    ExplodedNode *N = B.generateNode(Loc, state, Pred);
-    if (N)
-      addTransition(N);
-  }
-
-  void EmitReport(BugReport *R) {
-    Eng.getBugReporter().EmitReport(R);
-  }
-
-  AnalysisContext *getCurrentAnalysisContext() const {
-    return Pred->getLocationContext()->getAnalysisContext();
-  }
-
-private:
-  ExplodedNode *generateNodeImpl(const Stmt* stmt, const GRState *state,
-                             bool markAsSink) {
-    ExplodedNode *node = B.generateNode(stmt, state, Pred);
-    if (markAsSink && node)
-      node->markAsSink();
-    return node;
-  }
-
-  ExplodedNode *generateNodeImpl(const Stmt* stmt, const GRState *state,
-                                 ExplodedNode *pred, bool markAsSink) {
-   ExplodedNode *node = B.generateNode(stmt, state, pred);
-    if (markAsSink && node)
-      node->markAsSink();
-    return node;
-  }
-};
-
-class Checker {
-private:
-  friend class GRExprEngine;
-
-  // FIXME: Remove the 'tag' option.
-  void GR_Visit(ExplodedNodeSet &Dst,
-                GRStmtNodeBuilder &Builder,
-                GRExprEngine &Eng,
-                const Stmt *S,
-                ExplodedNode *Pred, void *tag, bool isPrevisit,
-                bool& respondsToCallback) {
-    CheckerContext C(Dst, Builder, Eng, Pred, tag,
-                     isPrevisit ? ProgramPoint::PreStmtKind :
-                     ProgramPoint::PostStmtKind, &respondsToCallback, S);
-    if (isPrevisit)
-      _PreVisit(C, S);
-    else
-      _PostVisit(C, S);
-  }
-
-  bool GR_evalNilReceiver(ExplodedNodeSet &Dst, GRStmtNodeBuilder &Builder,
-                          GRExprEngine &Eng, const ObjCMessageExpr *ME,
-                          ExplodedNode *Pred, const GRState *state, void *tag) {
-    CheckerContext C(Dst, Builder, Eng, Pred, tag, ProgramPoint::PostStmtKind,
-                     0, ME, state);
-    return evalNilReceiver(C, ME);
-  }
-
-  bool GR_evalCallExpr(ExplodedNodeSet &Dst, GRStmtNodeBuilder &Builder,
-                       GRExprEngine &Eng, const CallExpr *CE,
-                       ExplodedNode *Pred, void *tag) {
-    CheckerContext C(Dst, Builder, Eng, Pred, tag, ProgramPoint::PostStmtKind,
-                     0, CE);
-    return evalCallExpr(C, CE);
-  }
-
-  // FIXME: Remove the 'tag' option.
-  void GR_VisitBind(ExplodedNodeSet &Dst,
-                    GRStmtNodeBuilder &Builder, GRExprEngine &Eng,
-                    const Stmt *StoreE, ExplodedNode *Pred, void *tag, 
-                    SVal location, SVal val,
-                    bool isPrevisit) {
-    CheckerContext C(Dst, Builder, Eng, Pred, tag,
-                     isPrevisit ? ProgramPoint::PreStmtKind :
-                     ProgramPoint::PostStmtKind, 0, StoreE);
-    assert(isPrevisit && "Only previsit supported for now.");
-    PreVisitBind(C, StoreE, location, val);
-  }
-  
-  // FIXME: Remove the 'tag' option.
-  void GR_visitLocation(ExplodedNodeSet &Dst,
-                        GRStmtNodeBuilder &Builder,
-                        GRExprEngine &Eng,
-                        const Stmt *S,
-                        ExplodedNode *Pred, const GRState *state,
-                        SVal location,
-                        void *tag, bool isLoad) {
-    CheckerContext C(Dst, Builder, Eng, Pred, tag,
-                     isLoad ? ProgramPoint::PreLoadKind :
-                     ProgramPoint::PreStoreKind, 0, S, state);
-    visitLocation(C, S, location);
-  }
-
-  void GR_evalDeadSymbols(ExplodedNodeSet &Dst, GRStmtNodeBuilder &Builder,
-                          GRExprEngine &Eng, const Stmt *S, ExplodedNode *Pred,
-                          SymbolReaper &SymReaper, void *tag) {
-    CheckerContext C(Dst, Builder, Eng, Pred, tag, 
-                     ProgramPoint::PostPurgeDeadSymbolsKind, 0, S);
-    evalDeadSymbols(C, SymReaper);
-  }
-
-public:
-  virtual ~Checker();
-  virtual void _PreVisit(CheckerContext &C, const Stmt *S) {}
-  virtual void _PostVisit(CheckerContext &C, const Stmt *S) {}
-  virtual void visitLocation(CheckerContext &C, const Stmt *S, SVal location) {}
-  virtual void PreVisitBind(CheckerContext &C, const Stmt *StoreE,
-                            SVal location, SVal val) {}
-  virtual void evalDeadSymbols(CheckerContext &C, SymbolReaper &SymReaper) {}
-  virtual void evalEndPath(GREndPathNodeBuilder &B, void *tag,
-                           GRExprEngine &Eng) {}
-
-  virtual void MarkLiveSymbols(const GRState *state, SymbolReaper &SymReaper) {}
-
-  virtual void VisitBranchCondition(GRBranchNodeBuilder &Builder,
-                                    GRExprEngine &Eng,
-                                    const Stmt *Condition, void *tag) {}
-
-  virtual bool evalNilReceiver(CheckerContext &C, const ObjCMessageExpr *ME) {
-    return false;
-  }
-
-  virtual bool evalCallExpr(CheckerContext &C, const CallExpr *CE) {
-    return false;
-  }
-
-  virtual const GRState *evalAssume(const GRState *state, SVal Cond, 
-                                    bool Assumption, bool *respondsToCallback) {
-    *respondsToCallback = false;
-    return state;
-  }
-
-  virtual bool WantsRegionChangeUpdate(const GRState *state) { return false; }
-
-  virtual const GRState *EvalRegionChanges(const GRState *state,
-                                           const MemRegion * const *Begin,
-                                           const MemRegion * const *End,
-                                           bool *respondsToCallback) {
-    *respondsToCallback = false;
-    return state;
-  }
-
-  virtual void VisitEndAnalysis(ExplodedGraph &G, BugReporter &B,
-                                GRExprEngine &Eng) {}
-};
-} // end clang namespace
-
-#endif
-

Removed: cfe/trunk/include/clang/Checker/PathSensitive/CheckerHelpers.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Checker/PathSensitive/CheckerHelpers.h?rev=122419&view=auto
==============================================================================
--- cfe/trunk/include/clang/Checker/PathSensitive/CheckerHelpers.h (original)
+++ cfe/trunk/include/clang/Checker/PathSensitive/CheckerHelpers.h (removed)
@@ -1,40 +0,0 @@
-//== CheckerHelpers.h - Helper functions for checkers ------------*- 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 CheckerVisitor.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLVM_CLANG_CHECKER_PATHSENSITIVE_CHECKERHELPERS
-#define LLVM_CLANG_CHECKER_PATHSENSITIVE_CHECKERHELPERS
-
-#include "clang/AST/Stmt.h"
-
-namespace clang {
-
-bool containsMacro(const Stmt *S);
-bool containsEnum(const Stmt *S);
-bool containsStaticLocal(const Stmt *S);
-bool containsBuiltinOffsetOf(const Stmt *S);
-template <class T> bool containsStmt(const Stmt *S) {
-  if (isa<T>(S))
-      return true;
-
-  for (Stmt::const_child_iterator I = S->child_begin(); I != S->child_end();
-      ++I)
-    if (const Stmt *child = *I)
-      if (containsStmt<T>(child))
-        return true;
-
-  return false;
-}
-
-}
-
-#endif

Removed: cfe/trunk/include/clang/Checker/PathSensitive/CheckerVisitor.def
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Checker/PathSensitive/CheckerVisitor.def?rev=122419&view=auto
==============================================================================
--- cfe/trunk/include/clang/Checker/PathSensitive/CheckerVisitor.def (original)
+++ cfe/trunk/include/clang/Checker/PathSensitive/CheckerVisitor.def (removed)
@@ -1,43 +0,0 @@
-//===-- CheckerVisitor.def - Metadata for CheckerVisitor ----------------*-===//
-//
-//                     The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-//
-//  This file defines the AST nodes accepted by the CheckerVisitor class.
-//
-//===---------------------------------------------------------------------===//
-
-#ifndef PREVISIT
-#define PREVISIT(NODE, FALLBACK)
-#endif
-
-#ifndef POSTVISIT
-#define POSTVISIT(NODE, FALLBACK)
-#endif
-
-PREVISIT(ArraySubscriptExpr, Stmt)
-PREVISIT(BinaryOperator, Stmt)
-PREVISIT(CallExpr, GenericCall)
-PREVISIT(CStyleCastExpr, CastExpr)
-PREVISIT(CXXFunctionalCastExpr, CastExpr)
-PREVISIT(CXXOperatorCallExpr, GenericCall)
-PREVISIT(CXXMemberCallExpr, GenericCall)
-PREVISIT(DeclStmt, Stmt)
-PREVISIT(ImplicitCastExpr, CastExpr)
-PREVISIT(ObjCAtSynchronizedStmt, Stmt)
-PREVISIT(ObjCMessageExpr, Stmt)
-PREVISIT(ReturnStmt, Stmt)
-
-POSTVISIT(BlockExpr, Stmt)
-POSTVISIT(BinaryOperator, Stmt)
-POSTVISIT(CallExpr, GenericCall)
-POSTVISIT(CXXOperatorCallExpr, GenericCall)
-POSTVISIT(CXXMemberCallExpr, GenericCall)
-POSTVISIT(ObjCMessageExpr, Stmt)
-
-#undef PREVISIT
-#undef POSTVISIT

Removed: cfe/trunk/include/clang/Checker/PathSensitive/CheckerVisitor.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Checker/PathSensitive/CheckerVisitor.h?rev=122419&view=auto
==============================================================================
--- cfe/trunk/include/clang/Checker/PathSensitive/CheckerVisitor.h (original)
+++ cfe/trunk/include/clang/Checker/PathSensitive/CheckerVisitor.h (removed)
@@ -1,107 +0,0 @@
-//== CheckerVisitor.h - Abstract visitor for checkers ------------*- 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 CheckerVisitor.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLVM_CLANG_ANALYSIS_CHECKERVISITOR
-#define LLVM_CLANG_ANALYSIS_CHECKERVISITOR
-#include "clang/Checker/PathSensitive/Checker.h"
-
-namespace clang {
-
-//===----------------------------------------------------------------------===//
-// Checker visitor interface.  Used by subclasses of Checker to specify their
-// own checker visitor logic.
-//===----------------------------------------------------------------------===//
-
-/// CheckerVisitor - This class implements a simple visitor for Stmt subclasses.
-/// Since Expr derives from Stmt, this also includes support for visiting Exprs.
-template<typename ImplClass>
-class CheckerVisitor : public Checker {
-public:
-  virtual void _PreVisit(CheckerContext &C, const Stmt *S) {
-    PreVisit(C, S);
-  }
-  
-  virtual void _PostVisit(CheckerContext &C, const Stmt *S) {
-    PostVisit(C, S);
-  }
-
-  void PreVisit(CheckerContext &C, const Stmt *S) {
-    switch (S->getStmtClass()) {
-      default:
-        assert(false && "Unsupport statement.");
-        return;
-      case Stmt::CompoundAssignOperatorClass:
-        static_cast<ImplClass*>(this)->PreVisitBinaryOperator(C,
-                                         static_cast<const BinaryOperator*>(S));
-        break;
-
-#define PREVISIT(NAME, FALLBACK) \
-case Stmt::NAME ## Class:\
-static_cast<ImplClass*>(this)->PreVisit ## NAME(C,static_cast<const NAME*>(S));\
-break;
-#include "clang/Checker/PathSensitive/CheckerVisitor.def"
-    }
-  }
-  
-  void PostVisit(CheckerContext &C, const Stmt *S) {
-    switch (S->getStmtClass()) {
-      default:
-        assert(false && "Unsupport statement.");
-        return;
-      case Stmt::CompoundAssignOperatorClass:
-        static_cast<ImplClass*>(this)->PostVisitBinaryOperator(C,
-                                         static_cast<const BinaryOperator*>(S));
-        break;
-
-#define POSTVISIT(NAME, FALLBACK) \
-case Stmt::NAME ## Class:\
-static_cast<ImplClass*>(this)->\
-PostVisit ## NAME(C,static_cast<const NAME*>(S));\
-break;
-#include "clang/Checker/PathSensitive/CheckerVisitor.def"
-    }
-  }
-
-  void PreVisitGenericCall(CheckerContext &C, const CallExpr *CE) {
-    static_cast<ImplClass*>(this)->PreVisitStmt(C, CE);
-  }
-  void PostVisitGenericCall(CheckerContext &C, const CallExpr *CE) {
-    static_cast<ImplClass*>(this)->PostVisitStmt(C, CE);
-  }
-
-  void PreVisitStmt(CheckerContext &C, const Stmt *S) {
-    *C.respondsToCallback = false;
-  }
-
-  void PostVisitStmt(CheckerContext &C, const Stmt *S) {
-    *C.respondsToCallback = false;
-  }
-
-  void PreVisitCastExpr(CheckerContext &C, const CastExpr *E) {
-    static_cast<ImplClass*>(this)->PreVisitStmt(C, E);
-  }
-  
-#define PREVISIT(NAME, FALLBACK) \
-void PreVisit ## NAME(CheckerContext &C, const NAME* S) {\
-  static_cast<ImplClass*>(this)->PreVisit ## FALLBACK(C, S);\
-}
-#define POSTVISIT(NAME, FALLBACK) \
-void PostVisit ## NAME(CheckerContext &C, const NAME* S) {\
-  static_cast<ImplClass*>(this)->PostVisit ## FALLBACK(C, S);\
-}
-#include "clang/Checker/PathSensitive/CheckerVisitor.def"
-};
-
-} // end clang namespace
-
-#endif

Removed: cfe/trunk/include/clang/Checker/PathSensitive/ConstraintManager.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Checker/PathSensitive/ConstraintManager.h?rev=122419&view=auto
==============================================================================
--- cfe/trunk/include/clang/Checker/PathSensitive/ConstraintManager.h (original)
+++ cfe/trunk/include/clang/Checker/PathSensitive/ConstraintManager.h (removed)
@@ -1,72 +0,0 @@
-//== ConstraintManager.h - Constraints on symbolic values.-------*- C++ -*--==//
-//
-//                     The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-//
-//  This file defined the interface to manage constraints on symbolic values.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLVM_CLANG_ANALYSIS_CONSTRAINT_MANAGER_H
-#define LLVM_CLANG_ANALYSIS_CONSTRAINT_MANAGER_H
-
-// FIXME: Typedef LiveSymbolsTy/DeadSymbolsTy at a more appropriate place.
-#include "clang/Checker/PathSensitive/Store.h"
-
-namespace llvm {
-class APSInt;
-}
-
-namespace clang {
-
-class GRState;
-class GRStateManager;
-class GRSubEngine;
-class SVal;
-
-class ConstraintManager {
-public:
-  virtual ~ConstraintManager();
-  virtual const GRState *assume(const GRState *state, DefinedSVal Cond,
-                                bool Assumption) = 0;
-
-  std::pair<const GRState*, const GRState*> assumeDual(const GRState *state,
-                                                       DefinedSVal Cond) {
-    return std::make_pair(assume(state, Cond, true),
-                          assume(state, Cond, false));
-  }
-
-  virtual const llvm::APSInt* getSymVal(const GRState *state,
-                                        SymbolRef sym) const = 0;
-
-  virtual bool isEqual(const GRState *state, SymbolRef sym,
-                       const llvm::APSInt& V) const = 0;
-
-  virtual const GRState *RemoveDeadBindings(const GRState *state,
-                                            SymbolReaper& SymReaper) = 0;
-
-  virtual void print(const GRState *state, llvm::raw_ostream& Out,
-                     const char* nl, const char *sep) = 0;
-
-  virtual void EndPath(const GRState *state) {}
-
-  /// canReasonAbout - Not all ConstraintManagers can accurately reason about
-  ///  all SVal values.  This method returns true if the ConstraintManager can
-  ///  reasonably handle a given SVal value.  This is typically queried by
-  ///  GRExprEngine to determine if the value should be replaced with a
-  ///  conjured symbolic value in order to recover some precision.
-  virtual bool canReasonAbout(SVal X) const = 0;
-};
-
-ConstraintManager* CreateBasicConstraintManager(GRStateManager& statemgr,
-                                                GRSubEngine &subengine);
-ConstraintManager* CreateRangeConstraintManager(GRStateManager& statemgr,
-                                                GRSubEngine &subengine);
-
-} // end clang namespace
-
-#endif

Removed: cfe/trunk/include/clang/Checker/PathSensitive/Environment.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Checker/PathSensitive/Environment.h?rev=122419&view=auto
==============================================================================
--- cfe/trunk/include/clang/Checker/PathSensitive/Environment.h (original)
+++ cfe/trunk/include/clang/Checker/PathSensitive/Environment.h (removed)
@@ -1,101 +0,0 @@
-//== Environment.h - Map from Stmt* to Locations/Values ---------*- C++ -*--==//
-//
-//                     The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-//
-//  This file defined the Environment and EnvironmentManager classes.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLVM_CLANG_ANALYSIS_ENVIRONMENT_H
-#define LLVM_CLANG_ANALYSIS_ENVIRONMENT_H
-
-#include "clang/Checker/PathSensitive/Store.h"
-#include "clang/Checker/PathSensitive/SVals.h"
-#include "llvm/ADT/ImmutableMap.h"
-
-namespace clang {
-
-class EnvironmentManager;
-class SValBuilder;
-class LiveVariables;
-
-/// Environment - An immutable map from Stmts to their current
-///  symbolic values (SVals).
-///
-class Environment {
-private:
-  friend class EnvironmentManager;
-
-  // Type definitions.
-  typedef llvm::ImmutableMap<const Stmt*,SVal> BindingsTy;
-
-  // Data.
-  BindingsTy ExprBindings;
-
-  Environment(BindingsTy eb)
-    : ExprBindings(eb) {}
-
-  SVal lookupExpr(const Stmt* E) const;
-
-public:
-  typedef BindingsTy::iterator iterator;
-  iterator begin() const { return ExprBindings.begin(); }
-  iterator end() const { return ExprBindings.end(); }
-
-
-  /// GetSVal - Fetches the current binding of the expression in the
-  ///  Environment.
-  SVal getSVal(const Stmt* Ex, SValBuilder& svalBuilder) const;
-
-  /// Profile - Profile the contents of an Environment object for use
-  ///  in a FoldingSet.
-  static void Profile(llvm::FoldingSetNodeID& ID, const Environment* env) {
-    env->ExprBindings.Profile(ID);
-  }
-
-  /// Profile - Used to profile the contents of this object for inclusion
-  ///  in a FoldingSet.
-  void Profile(llvm::FoldingSetNodeID& ID) const {
-    Profile(ID, this);
-  }
-
-  bool operator==(const Environment& RHS) const {
-    return ExprBindings == RHS.ExprBindings;
-  }
-};
-
-class EnvironmentManager {
-private:
-  typedef Environment::BindingsTy::Factory FactoryTy;
-  FactoryTy F;
-
-public:
-  EnvironmentManager(llvm::BumpPtrAllocator& Allocator) : F(Allocator) {}
-  ~EnvironmentManager() {}
-
-  Environment getInitialEnvironment() {
-    return Environment(F.getEmptyMap());
-  }
-
-  /// Bind the value 'V' to the statement 'S'.
-  Environment bindExpr(Environment Env, const Stmt *S, SVal V,
-                       bool Invalidate);
-  
-  /// Bind the location 'location' and value 'V' to the statement 'S'.  This
-  /// is used when simulating loads/stores.
-  Environment bindExprAndLocation(Environment Env, const Stmt *S, SVal location,
-                                  SVal V);
-
-  Environment RemoveDeadBindings(Environment Env,
-                                 SymbolReaper &SymReaper, const GRState *ST,
-                          llvm::SmallVectorImpl<const MemRegion*>& RegionRoots);
-};
-
-} // end clang namespace
-
-#endif

Removed: cfe/trunk/include/clang/Checker/PathSensitive/ExplodedGraph.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Checker/PathSensitive/ExplodedGraph.h?rev=122419&view=auto
==============================================================================
--- cfe/trunk/include/clang/Checker/PathSensitive/ExplodedGraph.h (original)
+++ cfe/trunk/include/clang/Checker/PathSensitive/ExplodedGraph.h (removed)
@@ -1,430 +0,0 @@
-//=-- ExplodedGraph.h - Local, Path-Sens. "Exploded Graph" -*- 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 the template classes ExplodedNode and ExplodedGraph,
-//  which represent a path-sensitive, intra-procedural "exploded graph."
-//  See "Precise interprocedural dataflow analysis via graph reachability"
-//  by Reps, Horwitz, and Sagiv
-//  (http://portal.acm.org/citation.cfm?id=199462) for the definition of an
-//  exploded graph.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLVM_CLANG_ANALYSIS_EXPLODEDGRAPH
-#define LLVM_CLANG_ANALYSIS_EXPLODEDGRAPH
-
-#include "clang/Analysis/ProgramPoint.h"
-#include "clang/Analysis/AnalysisContext.h"
-#include "clang/AST/Decl.h"
-#include "llvm/ADT/SmallVector.h"
-#include "llvm/ADT/FoldingSet.h"
-#include "llvm/ADT/SmallPtrSet.h"
-#include "llvm/Support/Allocator.h"
-#include "llvm/ADT/OwningPtr.h"
-#include "llvm/ADT/GraphTraits.h"
-#include "llvm/ADT/DepthFirstIterator.h"
-#include "llvm/Support/Casting.h"
-#include "clang/Analysis/Support/BumpVector.h"
-
-namespace clang {
-
-class GRState;
-class CFG;
-class ExplodedGraph;
-
-//===----------------------------------------------------------------------===//
-// ExplodedGraph "implementation" classes.  These classes are not typed to
-// contain a specific kind of state.  Typed-specialized versions are defined
-// on top of these classes.
-//===----------------------------------------------------------------------===//
-
-class ExplodedNode : public llvm::FoldingSetNode {
-  friend class ExplodedGraph;
-  friend class GRCoreEngine;
-  friend class GRStmtNodeBuilder;
-  friend class GRBranchNodeBuilder;
-  friend class GRIndirectGotoNodeBuilder;
-  friend class GRSwitchNodeBuilder;
-  friend class GREndPathNodeBuilder;
-
-  class NodeGroup {
-    enum { Size1 = 0x0, SizeOther = 0x1, AuxFlag = 0x2, Mask = 0x3 };
-    uintptr_t P;
-
-    unsigned getKind() const {
-      return P & 0x1;
-    }
-
-    void* getPtr() const {
-      assert (!getFlag());
-      return reinterpret_cast<void*>(P & ~Mask);
-    }
-
-    ExplodedNode *getNode() const {
-      return reinterpret_cast<ExplodedNode*>(getPtr());
-    }
-
-  public:
-    NodeGroup() : P(0) {}
-
-    ExplodedNode **begin() const;
-
-    ExplodedNode **end() const;
-
-    unsigned size() const;
-
-    bool empty() const { return (P & ~Mask) == 0; }
-
-    void addNode(ExplodedNode* N, ExplodedGraph &G);
-
-    void setFlag() {
-      assert(P == 0);
-      P = AuxFlag;
-    }
-
-    bool getFlag() const {
-      return P & AuxFlag ? true : false;
-    }
-  };
-
-  /// Location - The program location (within a function body) associated
-  ///  with this node.
-  const ProgramPoint Location;
-
-  /// State - The state associated with this node.
-  const GRState* State;
-
-  /// Preds - The predecessors of this node.
-  NodeGroup Preds;
-
-  /// Succs - The successors of this node.
-  NodeGroup Succs;
-
-public:
-
-  explicit ExplodedNode(const ProgramPoint& loc, const GRState* state)
-    : Location(loc), State(state) {}
-
-  /// getLocation - Returns the edge associated with the given node.
-  ProgramPoint getLocation() const { return Location; }
-
-  const LocationContext *getLocationContext() const {
-    return getLocation().getLocationContext();
-  }
-
-  const Decl &getCodeDecl() const { return *getLocationContext()->getDecl(); }
-
-  CFG &getCFG() const { return *getLocationContext()->getCFG(); }
-
-  ParentMap &getParentMap() const {return getLocationContext()->getParentMap();}
-
-  LiveVariables &getLiveVariables() const { 
-    return *getLocationContext()->getLiveVariables(); 
-  }
-
-  const GRState* getState() const { return State; }
-
-  template <typename T>
-  const T* getLocationAs() const { return llvm::dyn_cast<T>(&Location); }
-
-  static void Profile(llvm::FoldingSetNodeID &ID,
-                      const ProgramPoint& Loc, const GRState* state) {
-    ID.Add(Loc);
-    ID.AddPointer(state);
-  }
-
-  void Profile(llvm::FoldingSetNodeID& ID) const {
-    Profile(ID, getLocation(), getState());
-  }
-
-  /// addPredeccessor - Adds a predecessor to the current node, and
-  ///  in tandem add this node as a successor of the other node.
-  void addPredecessor(ExplodedNode* V, ExplodedGraph &G);
-
-  unsigned succ_size() const { return Succs.size(); }
-  unsigned pred_size() const { return Preds.size(); }
-  bool succ_empty() const { return Succs.empty(); }
-  bool pred_empty() const { return Preds.empty(); }
-
-  bool isSink() const { return Succs.getFlag(); }
-  void markAsSink() { Succs.setFlag(); }
-
-  ExplodedNode* getFirstPred() {
-    return pred_empty() ? NULL : *(pred_begin());
-  }
-
-  const ExplodedNode* getFirstPred() const {
-    return const_cast<ExplodedNode*>(this)->getFirstPred();
-  }
-
-  // Iterators over successor and predecessor vertices.
-  typedef ExplodedNode**       succ_iterator;
-  typedef const ExplodedNode* const * const_succ_iterator;
-  typedef ExplodedNode**       pred_iterator;
-  typedef const ExplodedNode* const * const_pred_iterator;
-
-  pred_iterator pred_begin() { return Preds.begin(); }
-  pred_iterator pred_end() { return Preds.end(); }
-
-  const_pred_iterator pred_begin() const {
-    return const_cast<ExplodedNode*>(this)->pred_begin();
-  }
-  const_pred_iterator pred_end() const {
-    return const_cast<ExplodedNode*>(this)->pred_end();
-  }
-
-  succ_iterator succ_begin() { return Succs.begin(); }
-  succ_iterator succ_end() { return Succs.end(); }
-
-  const_succ_iterator succ_begin() const {
-    return const_cast<ExplodedNode*>(this)->succ_begin();
-  }
-  const_succ_iterator succ_end() const {
-    return const_cast<ExplodedNode*>(this)->succ_end();
-  }
-
-  // For debugging.
-
-public:
-
-  class Auditor {
-  public:
-    virtual ~Auditor();
-    virtual void AddEdge(ExplodedNode* Src, ExplodedNode* Dst) = 0;
-  };
-
-  static void SetAuditor(Auditor* A);
-};
-
-// FIXME: Is this class necessary?
-class InterExplodedGraphMap {
-  llvm::DenseMap<const ExplodedNode*, ExplodedNode*> M;
-  friend class ExplodedGraph;
-
-public:
-  ExplodedNode* getMappedNode(const ExplodedNode* N) const;
-
-  InterExplodedGraphMap() {}
-  virtual ~InterExplodedGraphMap() {}
-};
-
-class ExplodedGraph {
-protected:
-  friend class GRCoreEngine;
-
-  // Type definitions.
-  typedef llvm::SmallVector<ExplodedNode*,2>    RootsTy;
-  typedef llvm::SmallVector<ExplodedNode*,10>   EndNodesTy;
-
-  /// Roots - The roots of the simulation graph. Usually there will be only
-  /// one, but clients are free to establish multiple subgraphs within a single
-  /// SimulGraph. Moreover, these subgraphs can often merge when paths from
-  /// different roots reach the same state at the same program location.
-  RootsTy Roots;
-
-  /// EndNodes - The nodes in the simulation graph which have been
-  ///  specially marked as the endpoint of an abstract simulation path.
-  EndNodesTy EndNodes;
-
-  /// Nodes - The nodes in the graph.
-  llvm::FoldingSet<ExplodedNode> Nodes;
-
-  /// BVC - Allocator and context for allocating nodes and their predecessor
-  /// and successor groups.
-  BumpVectorContext BVC;
-
-  /// NumNodes - The number of nodes in the graph.
-  unsigned NumNodes;
-
-public:
-  /// getNode - Retrieve the node associated with a (Location,State) pair,
-  ///  where the 'Location' is a ProgramPoint in the CFG.  If no node for
-  ///  this pair exists, it is created.  IsNew is set to true if
-  ///  the node was freshly created.
-
-  ExplodedNode* getNode(const ProgramPoint& L, const GRState *State,
-                        bool* IsNew = 0);
-
-  ExplodedGraph* MakeEmptyGraph() const {
-    return new ExplodedGraph();
-  }
-
-  /// addRoot - Add an untyped node to the set of roots.
-  ExplodedNode* addRoot(ExplodedNode* V) {
-    Roots.push_back(V);
-    return V;
-  }
-
-  /// addEndOfPath - Add an untyped node to the set of EOP nodes.
-  ExplodedNode* addEndOfPath(ExplodedNode* V) {
-    EndNodes.push_back(V);
-    return V;
-  }
-
-  ExplodedGraph() : NumNodes(0) {}
-
-  ~ExplodedGraph() {}
-
-  unsigned num_roots() const { return Roots.size(); }
-  unsigned num_eops() const { return EndNodes.size(); }
-
-  bool empty() const { return NumNodes == 0; }
-  unsigned size() const { return NumNodes; }
-
-  // Iterators.
-  typedef ExplodedNode                        NodeTy;
-  typedef llvm::FoldingSet<ExplodedNode>      AllNodesTy;
-  typedef NodeTy**                            roots_iterator;
-  typedef NodeTy* const *                     const_roots_iterator;
-  typedef NodeTy**                            eop_iterator;
-  typedef NodeTy* const *                     const_eop_iterator;
-  typedef AllNodesTy::iterator                node_iterator;
-  typedef AllNodesTy::const_iterator          const_node_iterator;
-
-  node_iterator nodes_begin() { return Nodes.begin(); }
-
-  node_iterator nodes_end() { return Nodes.end(); }
-
-  const_node_iterator nodes_begin() const { return Nodes.begin(); }
-
-  const_node_iterator nodes_end() const { return Nodes.end(); }
-
-  roots_iterator roots_begin() { return Roots.begin(); }
-
-  roots_iterator roots_end() { return Roots.end(); }
-
-  const_roots_iterator roots_begin() const { return Roots.begin(); }
-
-  const_roots_iterator roots_end() const { return Roots.end(); }
-
-  eop_iterator eop_begin() { return EndNodes.begin(); }
-
-  eop_iterator eop_end() { return EndNodes.end(); }
-
-  const_eop_iterator eop_begin() const { return EndNodes.begin(); }
-
-  const_eop_iterator eop_end() const { return EndNodes.end(); }
-
-  llvm::BumpPtrAllocator & getAllocator() { return BVC.getAllocator(); }
-  BumpVectorContext &getNodeAllocator() { return BVC; }
-
-  typedef llvm::DenseMap<const ExplodedNode*, ExplodedNode*> NodeMap;
-
-  std::pair<ExplodedGraph*, InterExplodedGraphMap*>
-  Trim(const NodeTy* const* NBeg, const NodeTy* const* NEnd,
-       llvm::DenseMap<const void*, const void*> *InverseMap = 0) const;
-
-  ExplodedGraph* TrimInternal(const ExplodedNode* const * NBeg,
-                              const ExplodedNode* const * NEnd,
-                              InterExplodedGraphMap *M,
-                    llvm::DenseMap<const void*, const void*> *InverseMap) const;
-};
-
-class ExplodedNodeSet {
-  typedef llvm::SmallPtrSet<ExplodedNode*,5> ImplTy;
-  ImplTy Impl;
-
-public:
-  ExplodedNodeSet(ExplodedNode* N) {
-    assert (N && !static_cast<ExplodedNode*>(N)->isSink());
-    Impl.insert(N);
-  }
-
-  ExplodedNodeSet() {}
-
-  inline void Add(ExplodedNode* N) {
-    if (N && !static_cast<ExplodedNode*>(N)->isSink()) Impl.insert(N);
-  }
-
-  ExplodedNodeSet& operator=(const ExplodedNodeSet &X) {
-    Impl = X.Impl;
-    return *this;
-  }
-
-  typedef ImplTy::iterator       iterator;
-  typedef ImplTy::const_iterator const_iterator;
-
-  unsigned size() const { return Impl.size();  }
-  bool empty()    const { return Impl.empty(); }
-
-  void clear() { Impl.clear(); }
-  void insert(const ExplodedNodeSet &S) {
-    if (empty())
-      Impl = S.Impl;
-    else
-      Impl.insert(S.begin(), S.end());
-  }
-
-  inline iterator begin() { return Impl.begin(); }
-  inline iterator end()   { return Impl.end();   }
-
-  inline const_iterator begin() const { return Impl.begin(); }
-  inline const_iterator end()   const { return Impl.end();   }
-};
-
-} // end clang namespace
-
-// GraphTraits
-
-namespace llvm {
-  template<> struct GraphTraits<clang::ExplodedNode*> {
-    typedef clang::ExplodedNode NodeType;
-    typedef NodeType::succ_iterator  ChildIteratorType;
-    typedef llvm::df_iterator<NodeType*>      nodes_iterator;
-
-    static inline NodeType* getEntryNode(NodeType* N) {
-      return N;
-    }
-
-    static inline ChildIteratorType child_begin(NodeType* N) {
-      return N->succ_begin();
-    }
-
-    static inline ChildIteratorType child_end(NodeType* N) {
-      return N->succ_end();
-    }
-
-    static inline nodes_iterator nodes_begin(NodeType* N) {
-      return df_begin(N);
-    }
-
-    static inline nodes_iterator nodes_end(NodeType* N) {
-      return df_end(N);
-    }
-  };
-
-  template<> struct GraphTraits<const clang::ExplodedNode*> {
-    typedef const clang::ExplodedNode NodeType;
-    typedef NodeType::const_succ_iterator   ChildIteratorType;
-    typedef llvm::df_iterator<NodeType*>       nodes_iterator;
-
-    static inline NodeType* getEntryNode(NodeType* N) {
-      return N;
-    }
-
-    static inline ChildIteratorType child_begin(NodeType* N) {
-      return N->succ_begin();
-    }
-
-    static inline ChildIteratorType child_end(NodeType* N) {
-      return N->succ_end();
-    }
-
-    static inline nodes_iterator nodes_begin(NodeType* N) {
-      return df_begin(N);
-    }
-
-    static inline nodes_iterator nodes_end(NodeType* N) {
-      return df_end(N);
-    }
-  };
-
-} // end llvm namespace
-
-#endif

Removed: cfe/trunk/include/clang/Checker/PathSensitive/GRBlockCounter.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Checker/PathSensitive/GRBlockCounter.h?rev=122419&view=auto
==============================================================================
--- cfe/trunk/include/clang/Checker/PathSensitive/GRBlockCounter.h (original)
+++ cfe/trunk/include/clang/Checker/PathSensitive/GRBlockCounter.h (removed)
@@ -1,55 +0,0 @@
-//==- GRBlockCounter.h - ADT for counting block visits -------------*- 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 GRBlockCounter, an abstract data type used to count
-//  the number of times a given block has been visited along a path
-//  analyzed by GRCoreEngine.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLVM_CLANG_ANALYSIS_GRBLOCKCOUNTER
-#define LLVM_CLANG_ANALYSIS_GRBLOCKCOUNTER
-
-namespace llvm {
-  class BumpPtrAllocator;
-}
-
-namespace clang {
-
-class StackFrameContext;
-
-class GRBlockCounter {
-  void* Data;
-
-  GRBlockCounter(void* D) : Data(D) {}
-
-public:
-  GRBlockCounter() : Data(0) {}
-
-  unsigned getNumVisited(const StackFrameContext *CallSite, 
-                         unsigned BlockID) const;
-
-  class Factory {
-    void* F;
-  public:
-    Factory(llvm::BumpPtrAllocator& Alloc);
-    ~Factory();
-
-    GRBlockCounter GetEmptyCounter();
-    GRBlockCounter IncrementCount(GRBlockCounter BC, 
-                                  const StackFrameContext *CallSite,
-                                  unsigned BlockID);
-  };
-
-  friend class Factory;
-};
-
-} // end clang namespace
-
-#endif

Removed: cfe/trunk/include/clang/Checker/PathSensitive/GRCoreEngine.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Checker/PathSensitive/GRCoreEngine.h?rev=122419&view=auto
==============================================================================
--- cfe/trunk/include/clang/Checker/PathSensitive/GRCoreEngine.h (original)
+++ cfe/trunk/include/clang/Checker/PathSensitive/GRCoreEngine.h (removed)
@@ -1,537 +0,0 @@
-//==- GRCoreEngine.h - Path-Sensitive Dataflow Engine --------------*- 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 generic engine for intraprocedural, path-sensitive,
-//  dataflow analysis via graph reachability.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLVM_CLANG_ANALYSIS_GRENGINE
-#define LLVM_CLANG_ANALYSIS_GRENGINE
-
-#include "clang/AST/Expr.h"
-#include "clang/Checker/PathSensitive/ExplodedGraph.h"
-#include "clang/Checker/PathSensitive/GRWorkList.h"
-#include "clang/Checker/PathSensitive/GRBlockCounter.h"
-#include "clang/Checker/PathSensitive/GRSubEngine.h"
-#include "llvm/ADT/OwningPtr.h"
-
-namespace clang {
-
-//===----------------------------------------------------------------------===//
-/// GRCoreEngine - Implements the core logic of the graph-reachability
-///   analysis. It traverses the CFG and generates the ExplodedGraph.
-///   Program "states" are treated as opaque void pointers.
-///   The template class GRCoreEngine (which subclasses GRCoreEngine)
-///   provides the matching component to the engine that knows the actual types
-///   for states.  Note that this engine only dispatches to transfer functions
-///   at the statement and block-level.  The analyses themselves must implement
-///   any transfer function logic and the sub-expression level (if any).
-class GRCoreEngine {
-  friend class GRStmtNodeBuilder;
-  friend class GRBranchNodeBuilder;
-  friend class GRIndirectGotoNodeBuilder;
-  friend class GRSwitchNodeBuilder;
-  friend class GREndPathNodeBuilder;
-  friend class GRCallEnterNodeBuilder;
-  friend class GRCallExitNodeBuilder;
-
-public:
-  typedef std::vector<std::pair<BlockEdge, const ExplodedNode*> >
-            BlocksAborted;
-private:
-
-  GRSubEngine& SubEngine;
-
-  /// G - The simulation graph.  Each node is a (location,state) pair.
-  llvm::OwningPtr<ExplodedGraph> G;
-
-  /// WList - A set of queued nodes that need to be processed by the
-  ///  worklist algorithm.  It is up to the implementation of WList to decide
-  ///  the order that nodes are processed.
-  GRWorkList* WList;
-
-  /// BCounterFactory - A factory object for created GRBlockCounter objects.
-  ///   These are used to record for key nodes in the ExplodedGraph the
-  ///   number of times different CFGBlocks have been visited along a path.
-  GRBlockCounter::Factory BCounterFactory;
-
-  /// The locations where we stopped doing work because we visited a location
-  ///  too many times.
-  BlocksAborted blocksAborted;
-
-  void generateNode(const ProgramPoint& Loc, const GRState* State,
-                    ExplodedNode* Pred);
-
-  void HandleBlockEdge(const BlockEdge& E, ExplodedNode* Pred);
-  void HandleBlockEntrance(const BlockEntrance& E, ExplodedNode* Pred);
-  void HandleBlockExit(const CFGBlock* B, ExplodedNode* Pred);
-  void HandlePostStmt(const CFGBlock* B, unsigned StmtIdx, ExplodedNode *Pred);
-
-  void HandleBranch(const Stmt* Cond, const Stmt* Term, const CFGBlock* B,
-                    ExplodedNode* Pred);
-  void HandleCallEnter(const CallEnter &L, const CFGBlock *Block,
-                       unsigned Index, ExplodedNode *Pred);
-  void HandleCallExit(const CallExit &L, ExplodedNode *Pred);
-
-  /// Get the initial state from the subengine.
-  const GRState* getInitialState(const LocationContext *InitLoc) {
-    return SubEngine.getInitialState(InitLoc);
-  }
-
-  void ProcessEndPath(GREndPathNodeBuilder& Builder) {
-    SubEngine.ProcessEndPath(Builder);
-  }
-
-  void ProcessElement(const CFGElement E, GRStmtNodeBuilder& Builder) {
-    SubEngine.ProcessElement(E, Builder);
-  }
-
-  bool ProcessBlockEntrance(const CFGBlock* Blk, const ExplodedNode *Pred,
-                            GRBlockCounter BC) {
-    return SubEngine.ProcessBlockEntrance(Blk, Pred, BC);
-  }
-
-
-  void ProcessBranch(const Stmt* Condition, const Stmt* Terminator,
-                     GRBranchNodeBuilder& Builder) {
-    SubEngine.ProcessBranch(Condition, Terminator, Builder);
-  }
-
-
-  void ProcessIndirectGoto(GRIndirectGotoNodeBuilder& Builder) {
-    SubEngine.ProcessIndirectGoto(Builder);
-  }
-
-
-  void ProcessSwitch(GRSwitchNodeBuilder& Builder) {
-    SubEngine.ProcessSwitch(Builder);
-  }
-
-  void ProcessCallEnter(GRCallEnterNodeBuilder &Builder) {
-    SubEngine.ProcessCallEnter(Builder);
-  }
-
-  void ProcessCallExit(GRCallExitNodeBuilder &Builder) {
-    SubEngine.ProcessCallExit(Builder);
-  }
-
-private:
-  GRCoreEngine(const GRCoreEngine&); // Do not implement.
-  GRCoreEngine& operator=(const GRCoreEngine&);
-
-public:
-  /// Construct a GRCoreEngine object to analyze the provided CFG using
-  ///  a DFS exploration of the exploded graph.
-  GRCoreEngine(GRSubEngine& subengine)
-    : SubEngine(subengine), G(new ExplodedGraph()),
-      WList(GRWorkList::MakeBFS()),
-      BCounterFactory(G->getAllocator()) {}
-
-  /// Construct a GRCoreEngine object to analyze the provided CFG and to
-  ///  use the provided worklist object to execute the worklist algorithm.
-  ///  The GRCoreEngine object assumes ownership of 'wlist'.
-  GRCoreEngine(GRWorkList* wlist, GRSubEngine& subengine)
-    : SubEngine(subengine), G(new ExplodedGraph()), WList(wlist),
-      BCounterFactory(G->getAllocator()) {}
-
-  ~GRCoreEngine() {
-    delete WList;
-  }
-
-  /// getGraph - Returns the exploded graph.
-  ExplodedGraph& getGraph() { return *G.get(); }
-
-  /// takeGraph - Returns the exploded graph.  Ownership of the graph is
-  ///  transfered to the caller.
-  ExplodedGraph* takeGraph() { return G.take(); }
-
-  /// ExecuteWorkList - Run the worklist algorithm for a maximum number of
-  ///  steps.  Returns true if there is still simulation state on the worklist.
-  bool ExecuteWorkList(const LocationContext *L, unsigned Steps,
-                       const GRState *InitState);
-  void ExecuteWorkListWithInitialState(const LocationContext *L, unsigned Steps,
-                                       const GRState *InitState, 
-                                       ExplodedNodeSet &Dst);
-
-  // Functions for external checking of whether we have unfinished work
-  bool wasBlockAborted() const { return !blocksAborted.empty(); }
-  bool hasWorkRemaining() const { return wasBlockAborted() || WList->hasWork(); }
-
-  GRWorkList *getWorkList() const { return WList; }
-
-  BlocksAborted::const_iterator blocks_aborted_begin() const {
-    return blocksAborted.begin();
-  }
-  BlocksAborted::const_iterator blocks_aborted_end() const {
-    return blocksAborted.end();
-  }
-};
-
-class GRStmtNodeBuilder {
-  GRCoreEngine& Eng;
-  const CFGBlock& B;
-  const unsigned Idx;
-  ExplodedNode* Pred;
-  GRStateManager& Mgr;
-
-public:
-  bool PurgingDeadSymbols;
-  bool BuildSinks;
-  bool HasGeneratedNode;
-  ProgramPoint::Kind PointKind;
-  const void *Tag;
-
-  const GRState* CleanedState;
-
-
-  typedef llvm::SmallPtrSet<ExplodedNode*,5> DeferredTy;
-  DeferredTy Deferred;
-
-  void GenerateAutoTransition(ExplodedNode* N);
-
-public:
-  GRStmtNodeBuilder(const CFGBlock* b, unsigned idx, ExplodedNode* N,
-                    GRCoreEngine* e, GRStateManager &mgr);
-
-  ~GRStmtNodeBuilder();
-
-  ExplodedNode* getBasePredecessor() const { return Pred; }
-
-  // FIXME: This should not be exposed.
-  GRWorkList *getWorkList() { return Eng.WList; }
-
-  void SetCleanedState(const GRState* St) {
-    CleanedState = St;
-  }
-
-  GRBlockCounter getBlockCounter() const { return Eng.WList->getBlockCounter();}
-
-  unsigned getCurrentBlockCount() const {
-    return getBlockCounter().getNumVisited(
-                            Pred->getLocationContext()->getCurrentStackFrame(),
-                                           B.getBlockID());
-  }
-
-  ExplodedNode* generateNode(PostStmt PP,const GRState* St,ExplodedNode* Pred) {
-    HasGeneratedNode = true;
-    return generateNodeInternal(PP, St, Pred);
-  }
-
-  ExplodedNode* generateNode(const Stmt *S, const GRState *St,
-                             ExplodedNode *Pred, ProgramPoint::Kind K) {
-    HasGeneratedNode = true;
-
-    if (PurgingDeadSymbols)
-      K = ProgramPoint::PostPurgeDeadSymbolsKind;
-
-    return generateNodeInternal(S, St, Pred, K, Tag);
-  }
-
-  ExplodedNode* generateNode(const Stmt *S, const GRState *St,
-                             ExplodedNode *Pred) {
-    return generateNode(S, St, Pred, PointKind);
-  }
-
-  ExplodedNode *generateNode(const ProgramPoint &PP, const GRState* State,
-                             ExplodedNode* Pred) {
-    HasGeneratedNode = true;
-    return generateNodeInternal(PP, State, Pred);
-  }
-
-  ExplodedNode*
-  generateNodeInternal(const ProgramPoint &PP, const GRState* State,
-                       ExplodedNode* Pred);
-
-  ExplodedNode*
-  generateNodeInternal(const Stmt* S, const GRState* State, ExplodedNode* Pred,
-                   ProgramPoint::Kind K = ProgramPoint::PostStmtKind,
-                   const void *tag = 0);
-
-  /// getStmt - Return the current block-level expression associated with
-  ///  this builder.
-  const Stmt* getStmt() const { 
-    CFGStmt CS = B[Idx].getAs<CFGStmt>();
-    if (CS)
-      return CS.getStmt();
-    else
-      return 0;
-  }
-
-  /// getBlock - Return the CFGBlock associated with the block-level expression
-  ///  of this builder.
-  const CFGBlock* getBlock() const { return &B; }
-
-  unsigned getIndex() const { return Idx; }
-
-  const GRState* GetState(ExplodedNode* Pred) const {
-    if (Pred == getBasePredecessor())
-      return CleanedState;
-    else
-      return Pred->getState();
-  }
-
-  ExplodedNode* MakeNode(ExplodedNodeSet& Dst, const Stmt* S, 
-                         ExplodedNode* Pred, const GRState* St) {
-    return MakeNode(Dst, S, Pred, St, PointKind);
-  }
-
-  ExplodedNode* MakeNode(ExplodedNodeSet& Dst, const Stmt* S,ExplodedNode* Pred,
-                         const GRState* St, ProgramPoint::Kind K);
-
-  ExplodedNode* MakeSinkNode(ExplodedNodeSet& Dst, const Stmt* S,
-                       ExplodedNode* Pred, const GRState* St) {
-    bool Tmp = BuildSinks;
-    BuildSinks = true;
-    ExplodedNode* N = MakeNode(Dst, S, Pred, St);
-    BuildSinks = Tmp;
-    return N;
-  }
-};
-
-class GRBranchNodeBuilder {
-  GRCoreEngine& Eng;
-  const CFGBlock* Src;
-  const CFGBlock* DstT;
-  const CFGBlock* DstF;
-  ExplodedNode* Pred;
-
-  typedef llvm::SmallVector<ExplodedNode*,3> DeferredTy;
-  DeferredTy Deferred;
-
-  bool GeneratedTrue;
-  bool GeneratedFalse;
-  bool InFeasibleTrue;
-  bool InFeasibleFalse;
-
-public:
-  GRBranchNodeBuilder(const CFGBlock* src, const CFGBlock* dstT, 
-                      const CFGBlock* dstF, ExplodedNode* pred, GRCoreEngine* e)
-  : Eng(*e), Src(src), DstT(dstT), DstF(dstF), Pred(pred),
-    GeneratedTrue(false), GeneratedFalse(false),
-    InFeasibleTrue(!DstT), InFeasibleFalse(!DstF) {}
-
-  ~GRBranchNodeBuilder();
-
-  ExplodedNode* getPredecessor() const { return Pred; }
-
-  const ExplodedGraph& getGraph() const { return *Eng.G; }
-
-  GRBlockCounter getBlockCounter() const { return Eng.WList->getBlockCounter();}
-
-  ExplodedNode* generateNode(const GRState* State, bool branch);
-
-  const CFGBlock* getTargetBlock(bool branch) const {
-    return branch ? DstT : DstF;
-  }
-
-  void markInfeasible(bool branch) {
-    if (branch)
-      InFeasibleTrue = GeneratedTrue = true;
-    else
-      InFeasibleFalse = GeneratedFalse = true;
-  }
-
-  bool isFeasible(bool branch) {
-    return branch ? !InFeasibleTrue : !InFeasibleFalse;
-  }
-
-  const GRState* getState() const {
-    return getPredecessor()->getState();
-  }
-};
-
-class GRIndirectGotoNodeBuilder {
-  GRCoreEngine& Eng;
-  const CFGBlock* Src;
-  const CFGBlock& DispatchBlock;
-  const Expr* E;
-  ExplodedNode* Pred;
-
-public:
-  GRIndirectGotoNodeBuilder(ExplodedNode* pred, const CFGBlock* src, 
-                    const Expr* e, const CFGBlock* dispatch, GRCoreEngine* eng)
-    : Eng(*eng), Src(src), DispatchBlock(*dispatch), E(e), Pred(pred) {}
-
-  class iterator {
-    CFGBlock::const_succ_iterator I;
-
-    friend class GRIndirectGotoNodeBuilder;
-    iterator(CFGBlock::const_succ_iterator i) : I(i) {}
-  public:
-
-    iterator& operator++() { ++I; return *this; }
-    bool operator!=(const iterator& X) const { return I != X.I; }
-
-    const LabelStmt* getLabel() const {
-      return llvm::cast<LabelStmt>((*I)->getLabel());
-    }
-
-    const CFGBlock*  getBlock() const {
-      return *I;
-    }
-  };
-
-  iterator begin() { return iterator(DispatchBlock.succ_begin()); }
-  iterator end() { return iterator(DispatchBlock.succ_end()); }
-
-  ExplodedNode* generateNode(const iterator& I, const GRState* State,
-                             bool isSink = false);
-
-  const Expr* getTarget() const { return E; }
-
-  const GRState* getState() const { return Pred->State; }
-};
-
-class GRSwitchNodeBuilder {
-  GRCoreEngine& Eng;
-  const CFGBlock* Src;
-  const Expr* Condition;
-  ExplodedNode* Pred;
-
-public:
-  GRSwitchNodeBuilder(ExplodedNode* pred, const CFGBlock* src,
-                      const Expr* condition, GRCoreEngine* eng)
-  : Eng(*eng), Src(src), Condition(condition), Pred(pred) {}
-
-  class iterator {
-    CFGBlock::const_succ_reverse_iterator I;
-
-    friend class GRSwitchNodeBuilder;
-    iterator(CFGBlock::const_succ_reverse_iterator i) : I(i) {}
-
-  public:
-    iterator& operator++() { ++I; return *this; }
-    bool operator!=(const iterator &X) const { return I != X.I; }
-    bool operator==(const iterator &X) const { return I == X.I; }
-
-    const CaseStmt* getCase() const {
-      return llvm::cast<CaseStmt>((*I)->getLabel());
-    }
-
-    const CFGBlock* getBlock() const {
-      return *I;
-    }
-  };
-
-  iterator begin() { return iterator(Src->succ_rbegin()+1); }
-  iterator end() { return iterator(Src->succ_rend()); }
-
-  const SwitchStmt *getSwitch() const {
-    return llvm::cast<SwitchStmt>(Src->getTerminator());
-  }
-
-  ExplodedNode* generateCaseStmtNode(const iterator& I, const GRState* State);
-
-  ExplodedNode* generateDefaultCaseNode(const GRState* State,
-                                        bool isSink = false);
-
-  const Expr* getCondition() const { return Condition; }
-
-  const GRState* getState() const { return Pred->State; }
-};
-
-class GREndPathNodeBuilder {
-  GRCoreEngine &Eng;
-  const CFGBlock& B;
-  ExplodedNode* Pred;
-
-public:
-  bool HasGeneratedNode;
-
-public:
-  GREndPathNodeBuilder(const CFGBlock* b, ExplodedNode* N, GRCoreEngine* e)
-    : Eng(*e), B(*b), Pred(N), HasGeneratedNode(false) {}
-
-  ~GREndPathNodeBuilder();
-
-  GRWorkList &getWorkList() { return *Eng.WList; }
-
-  ExplodedNode* getPredecessor() const { return Pred; }
-
-  GRBlockCounter getBlockCounter() const {
-    return Eng.WList->getBlockCounter();
-  }
-
-  unsigned getCurrentBlockCount() const {
-    return getBlockCounter().getNumVisited(
-                            Pred->getLocationContext()->getCurrentStackFrame(),
-                                           B.getBlockID());
-  }
-
-  ExplodedNode* generateNode(const GRState* State, const void *tag = 0,
-                             ExplodedNode *P = 0);
-
-  void GenerateCallExitNode(const GRState *state);
-
-  const CFGBlock* getBlock() const { return &B; }
-
-  const GRState* getState() const {
-    return getPredecessor()->getState();
-  }
-};
-
-class GRCallEnterNodeBuilder {
-  GRCoreEngine &Eng;
-
-  const ExplodedNode *Pred;
-
-  // The call site. For implicit automatic object dtor, this is the trigger 
-  // statement.
-  const Stmt *CE;
-
-  // The context of the callee.
-  const StackFrameContext *CalleeCtx;
-
-  // The parent block of the CallExpr.
-  const CFGBlock *Block;
-
-  // The CFGBlock index of the CallExpr.
-  unsigned Index;
-
-public:
-  GRCallEnterNodeBuilder(GRCoreEngine &eng, const ExplodedNode *pred, 
-                         const Stmt *s, const StackFrameContext *callee, 
-                         const CFGBlock *blk, unsigned idx)
-    : Eng(eng), Pred(pred), CE(s), CalleeCtx(callee), Block(blk), Index(idx) {}
-
-  const GRState *getState() const { return Pred->getState(); }
-
-  const LocationContext *getLocationContext() const { 
-    return Pred->getLocationContext();
-  }
-
-  const Stmt *getCallExpr() const { return CE; }
-
-  const StackFrameContext *getCalleeContext() const { return CalleeCtx; }
-
-  const CFGBlock *getBlock() const { return Block; }
-
-  unsigned getIndex() const { return Index; }
-
-  void generateNode(const GRState *state);
-};
-
-class GRCallExitNodeBuilder {
-  GRCoreEngine &Eng;
-  const ExplodedNode *Pred;
-
-public:
-  GRCallExitNodeBuilder(GRCoreEngine &eng, const ExplodedNode *pred)
-    : Eng(eng), Pred(pred) {}
-
-  const ExplodedNode *getPredecessor() const { return Pred; }
-
-  const GRState *getState() const { return Pred->getState(); }
-
-  void generateNode(const GRState *state);
-}; 
-} // end clang namespace
-
-#endif

Removed: cfe/trunk/include/clang/Checker/PathSensitive/GRExprEngine.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Checker/PathSensitive/GRExprEngine.h?rev=122419&view=auto
==============================================================================
--- cfe/trunk/include/clang/Checker/PathSensitive/GRExprEngine.h (original)
+++ cfe/trunk/include/clang/Checker/PathSensitive/GRExprEngine.h (removed)
@@ -1,538 +0,0 @@
-//===-- GRExprEngine.h - Path-Sensitive Expression-Level Dataflow ---*- 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 meta-engine for path-sensitive dataflow analysis that
-//  is built on GRCoreEngine, but provides the boilerplate to execute transfer
-//  functions and build the ExplodedGraph at the expression level.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLVM_CLANG_ANALYSIS_GREXPRENGINE
-#define LLVM_CLANG_ANALYSIS_GREXPRENGINE
-
-#include "clang/Checker/PathSensitive/AnalysisManager.h"
-#include "clang/Checker/PathSensitive/GRSubEngine.h"
-#include "clang/Checker/PathSensitive/GRCoreEngine.h"
-#include "clang/Checker/PathSensitive/GRState.h"
-#include "clang/Checker/PathSensitive/GRTransferFuncs.h"
-#include "clang/Checker/BugReporter/BugReporter.h"
-#include "clang/AST/Type.h"
-#include "clang/AST/ExprObjC.h"
-#include "clang/AST/ExprCXX.h"
-#include "clang/AST/StmtObjC.h"
-
-namespace clang {
-class AnalysisManager;
-class Checker;
-class ObjCForCollectionStmt;
-
-class GRExprEngine : public GRSubEngine {
-  AnalysisManager &AMgr;
-
-  GRCoreEngine CoreEngine;
-
-  /// G - the simulation graph.
-  ExplodedGraph& G;
-
-  /// Builder - The current GRStmtNodeBuilder which is used when building the
-  ///  nodes for a given statement.
-  GRStmtNodeBuilder* Builder;
-
-  /// StateMgr - Object that manages the data for all created states.
-  GRStateManager StateMgr;
-
-  /// SymMgr - Object that manages the symbol information.
-  SymbolManager& SymMgr;
-
-  /// svalBuilder - SValBuilder object that creates SVals from expressions.
-  SValBuilder &svalBuilder;
-
-  /// EntryNode - The immediate predecessor node.
-  ExplodedNode* EntryNode;
-
-  /// CleanedState - The state for EntryNode "cleaned" of all dead
-  ///  variables and symbols (as determined by a liveness analysis).
-  const GRState* CleanedState;
-
-  /// currentStmt - The current block-level statement.
-  const Stmt* currentStmt;
-
-  // Obj-C Class Identifiers.
-  IdentifierInfo* NSExceptionII;
-
-  // Obj-C Selectors.
-  Selector* NSExceptionInstanceRaiseSelectors;
-  Selector RaiseSel;
-
-  enum CallbackKind {
-    PreVisitStmtCallback,
-    PostVisitStmtCallback,
-    ProcessAssumeCallback,
-    EvalRegionChangesCallback
-  };
-
-  typedef uint32_t CallbackTag;
-
-  /// GetCallbackTag - Create a tag for a certain kind of callback. The 'Sub'
-  ///  argument can be used to differentiate callbacks that depend on another
-  ///  value from a small set of possibilities, such as statement classes.
-  static inline CallbackTag GetCallbackTag(CallbackKind K, uint32_t Sub = 0) {
-    assert(Sub == ((Sub << 8) >> 8) && "Tag sub-kind must fit into 24 bits");
-    return K | (Sub << 8);
-  }
-
-  typedef llvm::DenseMap<void *, unsigned> CheckerMap;
-  typedef std::vector<std::pair<void *, Checker*> > CheckersOrdered;
-  typedef llvm::DenseMap<CallbackTag, CheckersOrdered *> CheckersOrderedCache;
-  
-  /// A registration map from checker tag to the index into the
-  ///  ordered checkers vector.
-  CheckerMap CheckerM;
-
-  /// An ordered vector of checkers that are called when evaluating
-  ///  various expressions and statements.
-  CheckersOrdered Checkers;
-
-  /// A map used for caching the checkers that respond to the callback for
-  ///  a particular callback tag.
-  CheckersOrderedCache COCache;
-
-  /// The BugReporter associated with this engine.  It is important that
-  ///  this object be placed at the very end of member variables so that its
-  ///  destructor is called before the rest of the GRExprEngine is destroyed.
-  GRBugReporter BR;
-  
-  llvm::OwningPtr<GRTransferFuncs> TF;
-
-public:
-  GRExprEngine(AnalysisManager &mgr, GRTransferFuncs *tf);
-
-  ~GRExprEngine();
-
-  void ExecuteWorkList(const LocationContext *L, unsigned Steps = 150000) {
-    CoreEngine.ExecuteWorkList(L, Steps, 0);
-  }
-
-  /// Execute the work list with an initial state. Nodes that reaches the exit
-  /// of the function are added into the Dst set, which represent the exit
-  /// state of the function call.
-  void ExecuteWorkListWithInitialState(const LocationContext *L, unsigned Steps,
-                                       const GRState *InitState, 
-                                       ExplodedNodeSet &Dst) {
-    CoreEngine.ExecuteWorkListWithInitialState(L, Steps, InitState, Dst);
-  }
-
-  /// getContext - Return the ASTContext associated with this analysis.
-  ASTContext& getContext() const { return AMgr.getASTContext(); }
-
-  virtual AnalysisManager &getAnalysisManager() { return AMgr; }
-
-  SValBuilder &getSValBuilder() { return svalBuilder; }
-
-  GRTransferFuncs& getTF() { return *TF; }
-
-  BugReporter& getBugReporter() { return BR; }
-
-  GRStmtNodeBuilder &getBuilder() { assert(Builder); return *Builder; }
-
-  // FIXME: Remove once GRTransferFuncs is no longer referenced.
-  void setTransferFunction(GRTransferFuncs* tf);
-
-  /// ViewGraph - Visualize the ExplodedGraph created by executing the
-  ///  simulation.
-  void ViewGraph(bool trim = false);
-
-  void ViewGraph(ExplodedNode** Beg, ExplodedNode** End);
-
-  /// getInitialState - Return the initial state used for the root vertex
-  ///  in the ExplodedGraph.
-  const GRState* getInitialState(const LocationContext *InitLoc);
-
-  ExplodedGraph& getGraph() { return G; }
-  const ExplodedGraph& getGraph() const { return G; }
-
-  template <typename CHECKER>
-  void registerCheck(CHECKER *check) {
-    unsigned entry = Checkers.size();
-    void *tag = CHECKER::getTag();
-    Checkers.push_back(std::make_pair(tag, check));
-    CheckerM[tag] = entry;
-  }
-  
-  Checker *lookupChecker(void *tag) const;
-
-  template <typename CHECKER>
-  CHECKER *getChecker() const {
-     return static_cast<CHECKER*>(lookupChecker(CHECKER::getTag()));
-  }
-
-  /// ProcessElement - Called by GRCoreEngine. Used to generate new successor
-  ///  nodes by processing the 'effects' of a CFG element.
-  void ProcessElement(const CFGElement E, GRStmtNodeBuilder& builder);
-
-  void ProcessStmt(const CFGStmt S, GRStmtNodeBuilder &builder);
-
-  void ProcessInitializer(const CFGInitializer I, GRStmtNodeBuilder &builder);
-
-  void ProcessImplicitDtor(const CFGImplicitDtor D, GRStmtNodeBuilder &builder);
-
-  void ProcessAutomaticObjDtor(const CFGAutomaticObjDtor D, 
-                            GRStmtNodeBuilder &builder);
-  void ProcessBaseDtor(const CFGBaseDtor D, GRStmtNodeBuilder &builder);
-  void ProcessMemberDtor(const CFGMemberDtor D, GRStmtNodeBuilder &builder);
-  void ProcessTemporaryDtor(const CFGTemporaryDtor D, 
-                            GRStmtNodeBuilder &builder);
-
-  /// ProcessBlockEntrance - Called by GRCoreEngine when start processing
-  ///  a CFGBlock.  This method returns true if the analysis should continue
-  ///  exploring the given path, and false otherwise.
-  bool ProcessBlockEntrance(const CFGBlock* B, const ExplodedNode *Pred,
-                            GRBlockCounter BC);
-
-  /// ProcessBranch - Called by GRCoreEngine.  Used to generate successor
-  ///  nodes by processing the 'effects' of a branch condition.
-  void ProcessBranch(const Stmt* Condition, const Stmt* Term, 
-                     GRBranchNodeBuilder& builder);
-
-  /// ProcessIndirectGoto - Called by GRCoreEngine.  Used to generate successor
-  ///  nodes by processing the 'effects' of a computed goto jump.
-  void ProcessIndirectGoto(GRIndirectGotoNodeBuilder& builder);
-
-  /// ProcessSwitch - Called by GRCoreEngine.  Used to generate successor
-  ///  nodes by processing the 'effects' of a switch statement.
-  void ProcessSwitch(GRSwitchNodeBuilder& builder);
-
-  /// ProcessEndPath - Called by GRCoreEngine.  Used to generate end-of-path
-  ///  nodes when the control reaches the end of a function.
-  void ProcessEndPath(GREndPathNodeBuilder& builder);
-
-  /// Generate the entry node of the callee.
-  void ProcessCallEnter(GRCallEnterNodeBuilder &builder);
-
-  /// Generate the first post callsite node.
-  void ProcessCallExit(GRCallExitNodeBuilder &builder);
-
-  /// Called by GRCoreEngine when the analysis worklist has terminated.
-  void ProcessEndWorklist(bool hasWorkRemaining);
-
-  /// evalAssume - Callback function invoked by the ConstraintManager when
-  ///  making assumptions about state values.
-  const GRState *ProcessAssume(const GRState *state, SVal cond,bool assumption);
-
-  /// WantsRegionChangeUpdate - Called by GRStateManager to determine if a
-  ///  region change should trigger a ProcessRegionChanges update.
-  bool WantsRegionChangeUpdate(const GRState* state);
-
-  /// ProcessRegionChanges - Called by GRStateManager whenever a change is made
-  ///  to the store. Used to update checkers that track region values.
-  const GRState* ProcessRegionChanges(const GRState *state,
-                                      const MemRegion * const *Begin,
-                                      const MemRegion * const *End);
-
-  virtual GRStateManager& getStateManager() { return StateMgr; }
-
-  StoreManager& getStoreManager() { return StateMgr.getStoreManager(); }
-
-  ConstraintManager& getConstraintManager() {
-    return StateMgr.getConstraintManager();
-  }
-
-  // FIXME: Remove when we migrate over to just using SValBuilder.
-  BasicValueFactory& getBasicVals() {
-    return StateMgr.getBasicVals();
-  }
-  const BasicValueFactory& getBasicVals() const {
-    return StateMgr.getBasicVals();
-  }
-
-  // FIXME: Remove when we migrate over to just using ValueManager.
-  SymbolManager& getSymbolManager() { return SymMgr; }
-  const SymbolManager& getSymbolManager() const { return SymMgr; }
-
-  // Functions for external checking of whether we have unfinished work
-  bool wasBlockAborted() const { return CoreEngine.wasBlockAborted(); }
-  bool hasEmptyWorkList() const { return !CoreEngine.getWorkList()->hasWork(); }
-  bool hasWorkRemaining() const {
-    return wasBlockAborted() || CoreEngine.getWorkList()->hasWork();
-  }
-
-  const GRCoreEngine &getCoreEngine() const { return CoreEngine; }
-
-protected:
-  const GRState* GetState(ExplodedNode* N) {
-    return N == EntryNode ? CleanedState : N->getState();
-  }
-
-public:
-  ExplodedNode* MakeNode(ExplodedNodeSet& Dst, const Stmt* S, 
-                         ExplodedNode* Pred, const GRState* St,
-                         ProgramPoint::Kind K = ProgramPoint::PostStmtKind,
-                         const void *tag = 0);
-
-  /// CheckerVisit - Dispatcher for performing checker-specific logic
-  ///  at specific statements.
-  void CheckerVisit(const Stmt *S, ExplodedNodeSet &Dst, ExplodedNodeSet &Src, 
-                    CallbackKind Kind);
-
-  bool CheckerEvalCall(const CallExpr *CE, 
-                       ExplodedNodeSet &Dst, 
-                       ExplodedNode *Pred);
-
-  void CheckerEvalNilReceiver(const ObjCMessageExpr *ME, 
-                              ExplodedNodeSet &Dst,
-                              const GRState *state,
-                              ExplodedNode *Pred);
-  
-  void CheckerVisitBind(const Stmt *StoreE, ExplodedNodeSet &Dst,
-                        ExplodedNodeSet &Src,  SVal location, SVal val,
-                        bool isPrevisit);
-
-  /// Visit - Transfer function logic for all statements.  Dispatches to
-  ///  other functions that handle specific kinds of statements.
-  void Visit(const Stmt* S, ExplodedNode* Pred, ExplodedNodeSet& Dst);
-
-  /// VisitArraySubscriptExpr - Transfer function for array accesses.
-  void VisitLvalArraySubscriptExpr(const ArraySubscriptExpr* Ex,
-                                   ExplodedNode* Pred,
-                                   ExplodedNodeSet& Dst);
-
-  /// VisitAsmStmt - Transfer function logic for inline asm.
-  void VisitAsmStmt(const AsmStmt* A, ExplodedNode* Pred, ExplodedNodeSet& Dst);
-
-  void VisitAsmStmtHelperOutputs(const AsmStmt* A,
-                                 AsmStmt::const_outputs_iterator I,
-                                 AsmStmt::const_outputs_iterator E,
-                                 ExplodedNode* Pred, ExplodedNodeSet& Dst);
-
-  void VisitAsmStmtHelperInputs(const AsmStmt* A,
-                                AsmStmt::const_inputs_iterator I,
-                                AsmStmt::const_inputs_iterator E,
-                                ExplodedNode* Pred, ExplodedNodeSet& Dst);
-  
-  /// VisitBlockExpr - Transfer function logic for BlockExprs.
-  void VisitBlockExpr(const BlockExpr *BE, ExplodedNode *Pred, 
-                      ExplodedNodeSet &Dst);
-
-  /// VisitBinaryOperator - Transfer function logic for binary operators.
-  void VisitBinaryOperator(const BinaryOperator* B, ExplodedNode* Pred, 
-                           ExplodedNodeSet& Dst);
-
-
-  /// VisitCall - Transfer function for function calls.
-  void VisitCall(const CallExpr* CE, ExplodedNode* Pred,
-                 CallExpr::const_arg_iterator AI, 
-                 CallExpr::const_arg_iterator AE,
-                 ExplodedNodeSet& Dst);
-
-  /// VisitCast - Transfer function logic for all casts (implicit and explicit).
-  void VisitCast(const CastExpr *CastE, const Expr *Ex, ExplodedNode *Pred,
-                ExplodedNodeSet &Dst);
-
-  /// VisitCompoundLiteralExpr - Transfer function logic for compound literals.
-  void VisitCompoundLiteralExpr(const CompoundLiteralExpr* CL, 
-                                ExplodedNode* Pred, ExplodedNodeSet& Dst);
-
-  /// Transfer function logic for DeclRefExprs and BlockDeclRefExprs.
-  void VisitCommonDeclRefExpr(const Expr* DR, const NamedDecl *D,
-                              ExplodedNode* Pred, ExplodedNodeSet& Dst);
-  
-  /// VisitDeclStmt - Transfer function logic for DeclStmts.
-  void VisitDeclStmt(const DeclStmt* DS, ExplodedNode* Pred, 
-                     ExplodedNodeSet& Dst);
-
-  /// VisitGuardedExpr - Transfer function logic for ?, __builtin_choose
-  void VisitGuardedExpr(const Expr* Ex, const Expr* L, const Expr* R, 
-                        ExplodedNode* Pred, ExplodedNodeSet& Dst);
-
-  /// VisitCondInit - Transfer function for handling the initialization
-  ///  of a condition variable in an IfStmt, SwitchStmt, etc.
-  void VisitCondInit(const VarDecl *VD, const Stmt *S, ExplodedNode *Pred,
-                     ExplodedNodeSet& Dst);
-  
-  void VisitInitListExpr(const InitListExpr* E, ExplodedNode* Pred,
-                         ExplodedNodeSet& Dst);
-
-  /// VisitLogicalExpr - Transfer function logic for '&&', '||'
-  void VisitLogicalExpr(const BinaryOperator* B, ExplodedNode* Pred,
-                        ExplodedNodeSet& Dst);
-
-  /// VisitMemberExpr - Transfer function for member expressions.
-  void VisitMemberExpr(const MemberExpr* M, ExplodedNode* Pred, 
-                           ExplodedNodeSet& Dst);
-
-  /// Transfer function logic for ObjCAtSynchronizedStmts.
-  void VisitObjCAtSynchronizedStmt(const ObjCAtSynchronizedStmt *S,
-                                   ExplodedNode *Pred, ExplodedNodeSet &Dst);
-
-  /// Transfer function logic for computing the lvalue of an Objective-C ivar.
-  void VisitLvalObjCIvarRefExpr(const ObjCIvarRefExpr* DR, ExplodedNode* Pred,
-                                ExplodedNodeSet& Dst);
-
-  /// VisitObjCForCollectionStmt - Transfer function logic for
-  ///  ObjCForCollectionStmt.
-  void VisitObjCForCollectionStmt(const ObjCForCollectionStmt* S, 
-                                  ExplodedNode* Pred, ExplodedNodeSet& Dst);
-
-  void VisitObjCForCollectionStmtAux(const ObjCForCollectionStmt* S, 
-                                     ExplodedNode* Pred,
-                                     ExplodedNodeSet& Dst, SVal ElementV);
-
-  /// VisitObjCMessageExpr - Transfer function for ObjC message expressions.
-  void VisitObjCMessageExpr(const ObjCMessageExpr* ME, ExplodedNode* Pred, 
-                            ExplodedNodeSet& Dst);
-
-  /// VisitReturnStmt - Transfer function logic for return statements.
-  void VisitReturnStmt(const ReturnStmt* R, ExplodedNode* Pred, 
-                       ExplodedNodeSet& Dst);
-  
-  /// VisitOffsetOfExpr - Transfer function for offsetof.
-  void VisitOffsetOfExpr(const OffsetOfExpr* Ex, ExplodedNode* Pred,
-                         ExplodedNodeSet& Dst);
-
-  /// VisitSizeOfAlignOfExpr - Transfer function for sizeof.
-  void VisitSizeOfAlignOfExpr(const SizeOfAlignOfExpr* Ex, ExplodedNode* Pred,
-                              ExplodedNodeSet& Dst);
-
-  /// VisitUnaryOperator - Transfer function logic for unary operators.
-  void VisitUnaryOperator(const UnaryOperator* B, ExplodedNode* Pred, 
-                          ExplodedNodeSet& Dst);
-
-  void VisitCXXThisExpr(const CXXThisExpr *TE, ExplodedNode *Pred, 
-                        ExplodedNodeSet & Dst);
-
-  void VisitCXXTemporaryObjectExpr(const CXXTemporaryObjectExpr *expr,
-                                   ExplodedNode *Pred, ExplodedNodeSet &Dst) {
-    VisitCXXConstructExpr(expr, 0, Pred, Dst);
-  }
-
-  void VisitCXXConstructExpr(const CXXConstructExpr *E, const MemRegion *Dest,
-                             ExplodedNode *Pred, ExplodedNodeSet &Dst);
-
-  void VisitCXXDestructor(const CXXDestructorDecl *DD,
-                          const MemRegion *Dest, const Stmt *S,
-                          ExplodedNode *Pred, ExplodedNodeSet &Dst);
-
-  void VisitCXXMemberCallExpr(const CXXMemberCallExpr *MCE, ExplodedNode *Pred,
-                              ExplodedNodeSet &Dst);
-
-  void VisitCXXOperatorCallExpr(const CXXOperatorCallExpr *C,
-                                ExplodedNode *Pred, ExplodedNodeSet &Dst);
-
-  void VisitCXXNewExpr(const CXXNewExpr *CNE, ExplodedNode *Pred,
-                       ExplodedNodeSet &Dst);
-
-  void VisitCXXDeleteExpr(const CXXDeleteExpr *CDE, ExplodedNode *Pred,
-                          ExplodedNodeSet &Dst);
-
-  void VisitAggExpr(const Expr *E, const MemRegion *Dest, ExplodedNode *Pred,
-                    ExplodedNodeSet &Dst);
-
-  /// Create a C++ temporary object for an rvalue.
-  void CreateCXXTemporaryObject(const Expr *Ex, ExplodedNode *Pred, 
-                                ExplodedNodeSet &Dst);
-
-  /// Synthesize CXXThisRegion.
-  const CXXThisRegion *getCXXThisRegion(const CXXRecordDecl *RD,
-                                        const StackFrameContext *SFC);
-
-  const CXXThisRegion *getCXXThisRegion(const CXXMethodDecl *decl,
-                                        const StackFrameContext *frameCtx);
-
-  /// Evaluate arguments with a work list algorithm.
-  void evalArguments(ConstExprIterator AI, ConstExprIterator AE,
-                     const FunctionProtoType *FnType, 
-                     ExplodedNode *Pred, ExplodedNodeSet &Dst,
-                     bool FstArgAsLValue = false);
-
-  /// Evaluate method call itself. Used for CXXMethodCallExpr and
-  /// CXXOperatorCallExpr.
-  void evalMethodCall(const CallExpr *MCE, const CXXMethodDecl *MD,
-                      const Expr *ThisExpr, ExplodedNode *Pred,
-                      ExplodedNodeSet &Src, ExplodedNodeSet &Dst);
-
-  /// evalEagerlyAssume - Given the nodes in 'Src', eagerly assume symbolic
-  ///  expressions of the form 'x != 0' and generate new nodes (stored in Dst)
-  ///  with those assumptions.
-  void evalEagerlyAssume(ExplodedNodeSet& Dst, ExplodedNodeSet& Src, 
-                         const Expr *Ex);
-
-  SVal evalMinus(SVal X) {
-    return X.isValid() ? svalBuilder.evalMinus(cast<NonLoc>(X)) : X;
-  }
-
-  SVal evalComplement(SVal X) {
-    return X.isValid() ? svalBuilder.evalComplement(cast<NonLoc>(X)) : X;
-  }
-
-public:
-
-  SVal evalBinOp(const GRState *state, BinaryOperator::Opcode op,
-                 NonLoc L, NonLoc R, QualType T) {
-    return svalBuilder.evalBinOpNN(state, op, L, R, T);
-  }
-
-  SVal evalBinOp(const GRState *state, BinaryOperator::Opcode op,
-                 NonLoc L, SVal R, QualType T) {
-    return R.isValid() ? svalBuilder.evalBinOpNN(state,op,L, cast<NonLoc>(R), T) : R;
-  }
-
-  SVal evalBinOp(const GRState *ST, BinaryOperator::Opcode Op,
-                 SVal LHS, SVal RHS, QualType T) {
-    return svalBuilder.evalBinOp(ST, Op, LHS, RHS, T);
-  }
-  
-protected:
-  void evalObjCMessageExpr(ExplodedNodeSet& Dst, const ObjCMessageExpr* ME, 
-                           ExplodedNode* Pred, const GRState *state) {
-    assert (Builder && "GRStmtNodeBuilder must be defined.");
-    getTF().evalObjCMessageExpr(Dst, *this, *Builder, ME, Pred, state);
-  }
-
-  const GRState* MarkBranch(const GRState* St, const Stmt* Terminator,
-                            bool branchTaken);
-
-  /// evalBind - Handle the semantics of binding a value to a specific location.
-  ///  This method is used by evalStore, VisitDeclStmt, and others.
-  void evalBind(ExplodedNodeSet& Dst, const Stmt* StoreE, ExplodedNode* Pred,
-                const GRState* St, SVal location, SVal Val,
-                bool atDeclInit = false);
-
-public:
-  // FIXME: 'tag' should be removed, and a LocationContext should be used
-  // instead.
-  // FIXME: Comment on the meaning of the arguments, when 'St' may not
-  // be the same as Pred->state, and when 'location' may not be the
-  // same as state->getLValue(Ex).
-  /// Simulate a read of the result of Ex.
-  void evalLoad(ExplodedNodeSet& Dst, const Expr* Ex, ExplodedNode* Pred,
-                const GRState* St, SVal location, const void *tag = 0,
-                QualType LoadTy = QualType());
-
-  // FIXME: 'tag' should be removed, and a LocationContext should be used
-  // instead.
-  void evalStore(ExplodedNodeSet& Dst, const Expr* AssignE, const Expr* StoreE,
-                 ExplodedNode* Pred, const GRState* St, SVal TargetLV, SVal Val,
-                 const void *tag = 0);
-private:
-  void evalLoadCommon(ExplodedNodeSet& Dst, const Expr* Ex, ExplodedNode* Pred,
-                      const GRState* St, SVal location, const void *tag,
-                      QualType LoadTy);
-
-  // FIXME: 'tag' should be removed, and a LocationContext should be used
-  // instead.
-  void evalLocation(ExplodedNodeSet &Dst, const Stmt *S, ExplodedNode* Pred,
-                    const GRState* St, SVal location,
-                    const void *tag, bool isLoad);
-
-  bool InlineCall(ExplodedNodeSet &Dst, const CallExpr *CE, ExplodedNode *Pred);
-};
-
-} // end clang namespace
-
-#endif

Removed: cfe/trunk/include/clang/Checker/PathSensitive/GRExprEngineBuilders.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Checker/PathSensitive/GRExprEngineBuilders.h?rev=122419&view=auto
==============================================================================
--- cfe/trunk/include/clang/Checker/PathSensitive/GRExprEngineBuilders.h (original)
+++ cfe/trunk/include/clang/Checker/PathSensitive/GRExprEngineBuilders.h (removed)
@@ -1,76 +0,0 @@
-//===-- GRExprEngineBuilders.h - "Builder" classes for GRExprEngine -*- 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 smart builder "references" which are used to marshal
-//  builders between GRExprEngine objects and their related components.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLVM_CLANG_ANALYSIS_GREXPRENGINE_BUILDERS
-#define LLVM_CLANG_ANALYSIS_GREXPRENGINE_BUILDERS
-#include "clang/Checker/PathSensitive/GRExprEngine.h"
-#include "clang/Analysis/Support/SaveAndRestore.h"
-
-namespace clang {
-
-class GRStmtNodeBuilderRef {
-  ExplodedNodeSet &Dst;
-  GRStmtNodeBuilder &B;
-  GRExprEngine& Eng;
-  ExplodedNode* Pred;
-  const GRState* state;
-  const Stmt* stmt;
-  const unsigned OldSize;
-  const bool AutoCreateNode;
-  SaveAndRestore<bool> OldSink;
-  SaveAndRestore<const void*> OldTag;
-  SaveOr OldHasGen;
-
-private:
-  friend class GRExprEngine;
-
-  GRStmtNodeBuilderRef(); // do not implement
-  void operator=(const GRStmtNodeBuilderRef&); // do not implement
-
-  GRStmtNodeBuilderRef(ExplodedNodeSet &dst,
-                       GRStmtNodeBuilder &builder,
-                       GRExprEngine& eng,
-                       ExplodedNode* pred,
-                       const GRState *st,
-                       const Stmt* s, bool auto_create_node)
-  : Dst(dst), B(builder), Eng(eng), Pred(pred),
-    state(st), stmt(s), OldSize(Dst.size()), AutoCreateNode(auto_create_node),
-    OldSink(B.BuildSinks), OldTag(B.Tag), OldHasGen(B.HasGeneratedNode) {}
-
-public:
-
-  ~GRStmtNodeBuilderRef() {
-    // Handle the case where no nodes where generated.  Auto-generate that
-    // contains the updated state if we aren't generating sinks.
-    if (!B.BuildSinks && Dst.size() == OldSize && !B.HasGeneratedNode) {
-      if (AutoCreateNode)
-        B.MakeNode(Dst, const_cast<Stmt*>(stmt), Pred, state);
-      else
-        Dst.Add(Pred);
-    }
-  }
-
-  const GRState *getState() { return state; }
-
-  GRStateManager& getStateManager() {
-    return Eng.getStateManager();
-  }
-
-  ExplodedNode* MakeNode(const GRState* state) {
-    return B.MakeNode(Dst, const_cast<Stmt*>(stmt), Pred, state);
-  }
-};
-
-} // end clang namespace
-#endif

Removed: cfe/trunk/include/clang/Checker/PathSensitive/GRState.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Checker/PathSensitive/GRState.h?rev=122419&view=auto
==============================================================================
--- cfe/trunk/include/clang/Checker/PathSensitive/GRState.h (original)
+++ cfe/trunk/include/clang/Checker/PathSensitive/GRState.h (removed)
@@ -1,754 +0,0 @@
-//== GRState.h - Path-sensitive "State" for tracking values -----*- 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 SymbolRef, ExprBindKey, and GRState*.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLVM_CLANG_ANALYSIS_VALUESTATE_H
-#define LLVM_CLANG_ANALYSIS_VALUESTATE_H
-
-#include "clang/Checker/PathSensitive/ConstraintManager.h"
-#include "clang/Checker/PathSensitive/Environment.h"
-#include "clang/Checker/PathSensitive/Store.h"
-#include "clang/Checker/PathSensitive/SValBuilder.h"
-#include "llvm/ADT/FoldingSet.h"
-#include "llvm/ADT/ImmutableMap.h"
-#include "llvm/Support/Casting.h"
-
-namespace llvm {
-class APSInt;
-class BumpPtrAllocator;
-class raw_ostream;
-}
-
-namespace clang {
-class ASTContext;
-class GRStateManager;
-class Checker;
-
-typedef ConstraintManager* (*ConstraintManagerCreator)(GRStateManager&,
-                                                       GRSubEngine&);
-typedef StoreManager* (*StoreManagerCreator)(GRStateManager&);
-
-//===----------------------------------------------------------------------===//
-// GRStateTrait - Traits used by the Generic Data Map of a GRState.
-//===----------------------------------------------------------------------===//
-
-template <typename T> struct GRStatePartialTrait;
-
-template <typename T> struct GRStateTrait {
-  typedef typename T::data_type data_type;
-  static inline void* GDMIndex() { return &T::TagInt; }
-  static inline void* MakeVoidPtr(data_type D) { return (void*) D; }
-  static inline data_type MakeData(void* const* P) {
-    return P ? (data_type) *P : (data_type) 0;
-  }
-};
-
-class GRStateManager;
-
-/// GRState - This class encapsulates:
-///
-///    1. A mapping from expressions to values (Environment)
-///    2. A mapping from locations to values (Store)
-///    3. Constraints on symbolic values (GenericDataMap)
-///
-///  Together these represent the "abstract state" of a program.
-///
-///  GRState is intended to be used as a functional object; that is,
-///  once it is created and made "persistent" in a FoldingSet, its
-///  values will never change.
-class GRState : public llvm::FoldingSetNode {
-public:
-  typedef llvm::ImmutableSet<llvm::APSInt*>                IntSetTy;
-  typedef llvm::ImmutableMap<void*, void*>                 GenericDataMap;
-
-private:
-  void operator=(const GRState& R) const; // Do not implement.
-
-  friend class GRStateManager;
-
-  GRStateManager *StateMgr;
-  Environment Env;           // Maps a Stmt to its current SVal.
-  Store St;                  // Maps a location to its current value.
-  GenericDataMap   GDM;      // Custom data stored by a client of this class.
-
-  /// makeWithStore - Return a GRState with the same values as the current
-  ///  state with the exception of using the specified Store.
-  const GRState *makeWithStore(Store store) const;
-
-public:
-
-  /// This ctor is used when creating the first GRState object.
-  GRState(GRStateManager *mgr, const Environment& env,
-          Store st, GenericDataMap gdm)
-    : StateMgr(mgr),
-      Env(env),
-      St(st),
-      GDM(gdm) {}
-
-  /// Copy ctor - We must explicitly define this or else the "Next" ptr
-  ///  in FoldingSetNode will also get copied.
-  GRState(const GRState& RHS)
-    : llvm::FoldingSetNode(),
-      StateMgr(RHS.StateMgr),
-      Env(RHS.Env),
-      St(RHS.St),
-      GDM(RHS.GDM) {}
-
-  /// getStateManager - Return the GRStateManager associated with this state.
-  GRStateManager &getStateManager() const {
-    return *StateMgr;
-  }
-
-  /// getEnvironment - Return the environment associated with this state.
-  ///  The environment is the mapping from expressions to values.
-  const Environment& getEnvironment() const { return Env; }
-
-  /// getStore - Return the store associated with this state.  The store
-  ///  is a mapping from locations to values.
-  Store getStore() const { return St; }
-
-  void setStore(Store s) { St = s; }
-
-  /// getGDM - Return the generic data map associated with this state.
-  GenericDataMap getGDM() const { return GDM; }
-
-  void setGDM(GenericDataMap gdm) { GDM = gdm; }
-
-  /// Profile - Profile the contents of a GRState object for use in a
-  ///  FoldingSet.  Two GRState objects are considered equal if they
-  ///  have the same Environment, Store, and GenericDataMap.
-  static void Profile(llvm::FoldingSetNodeID& ID, const GRState* V) {
-    V->Env.Profile(ID);
-    ID.AddPointer(V->St);
-    V->GDM.Profile(ID);
-  }
-
-  /// Profile - Used to profile the contents of this object for inclusion
-  ///  in a FoldingSet.
-  void Profile(llvm::FoldingSetNodeID& ID) const {
-    Profile(ID, this);
-  }
-
-  BasicValueFactory &getBasicVals() const;
-  SymbolManager &getSymbolManager() const;
-
-  //==---------------------------------------------------------------------==//
-  // Constraints on values.
-  //==---------------------------------------------------------------------==//
-  //
-  // Each GRState records constraints on symbolic values.  These constraints
-  // are managed using the ConstraintManager associated with a GRStateManager.
-  // As constraints gradually accrue on symbolic values, added constraints
-  // may conflict and indicate that a state is infeasible (as no real values
-  // could satisfy all the constraints).  This is the principal mechanism
-  // for modeling path-sensitivity in GRExprEngine/GRState.
-  //
-  // Various "assume" methods form the interface for adding constraints to
-  // symbolic values.  A call to 'assume' indicates an assumption being placed
-  // on one or symbolic values.  'assume' methods take the following inputs:
-  //
-  //  (1) A GRState object representing the current state.
-  //
-  //  (2) The assumed constraint (which is specific to a given "assume" method).
-  //
-  //  (3) A binary value "Assumption" that indicates whether the constraint is
-  //      assumed to be true or false.
-  //
-  // The output of "assume*" is a new GRState object with the added constraints.
-  // If no new state is feasible, NULL is returned.
-  //
-
-  const GRState *assume(DefinedOrUnknownSVal cond, bool assumption) const;
-
-  /// This method assumes both "true" and "false" for 'cond', and
-  ///  returns both corresponding states.  It's shorthand for doing
-  ///  'assume' twice.
-  std::pair<const GRState*, const GRState*>
-  assume(DefinedOrUnknownSVal cond) const;
-
-  const GRState *assumeInBound(DefinedOrUnknownSVal idx,
-                               DefinedOrUnknownSVal upperBound,
-                               bool assumption) const;
-
-  //==---------------------------------------------------------------------==//
-  // Utility methods for getting regions.
-  //==---------------------------------------------------------------------==//
-
-  const VarRegion* getRegion(const VarDecl *D, const LocationContext *LC) const;
-
-  //==---------------------------------------------------------------------==//
-  // Binding and retrieving values to/from the environment and symbolic store.
-  //==---------------------------------------------------------------------==//
-
-  /// BindCompoundLiteral - Return the state that has the bindings currently
-  ///  in this state plus the bindings for the CompoundLiteral.
-  const GRState *bindCompoundLiteral(const CompoundLiteralExpr* CL,
-                                     const LocationContext *LC,
-                                     SVal V) const;
-
-  /// Create a new state by binding the value 'V' to the statement 'S' in the
-  /// state's environment.
-  const GRState *BindExpr(const Stmt *S, SVal V, bool Invalidate = true) const;
-
-  /// Create a new state by binding the value 'V' and location 'locaton' to the
-  /// statement 'S' in the state's environment.
-  const GRState *bindExprAndLocation(const Stmt *S, SVal location, SVal V)
-    const;
-  
-  const GRState *bindDecl(const VarRegion *VR, SVal V) const;
-
-  const GRState *bindDeclWithNoInit(const VarRegion *VR) const;
-
-  const GRState *bindLoc(Loc location, SVal V) const;
-
-  const GRState *bindLoc(SVal location, SVal V) const;
-
-  const GRState *bindDefault(SVal loc, SVal V) const;
-
-  const GRState *unbindLoc(Loc LV) const;
-
-  /// InvalidateRegion - Returns the state with bindings for the given region
-  ///  cleared from the store. See InvalidateRegions.
-  const GRState *InvalidateRegion(const MemRegion *R,
-                                  const Expr *E, unsigned BlockCount,
-                                  StoreManager::InvalidatedSymbols *IS = NULL)
-                                  const {
-    return InvalidateRegions(&R, &R+1, E, BlockCount, IS, false);
-  }
-
-  /// InvalidateRegions - Returns the state with bindings for the given regions
-  ///  cleared from the store. The regions are provided as a continuous array
-  ///  from Begin to End. Optionally invalidates global regions as well.
-  const GRState *InvalidateRegions(const MemRegion * const *Begin,
-                                   const MemRegion * const *End,
-                                   const Expr *E, unsigned BlockCount,
-                                   StoreManager::InvalidatedSymbols *IS,
-                                   bool invalidateGlobals) const;
-
-  /// EnterStackFrame - Returns the state for entry to the given stack frame,
-  ///  preserving the current state.
-  const GRState *EnterStackFrame(const StackFrameContext *frame) const;
-
-  /// Get the lvalue for a variable reference.
-  Loc getLValue(const VarDecl *D, const LocationContext *LC) const;
-
-  /// Get the lvalue for a StringLiteral.
-  Loc getLValue(const StringLiteral *literal) const;
-
-  Loc getLValue(const CompoundLiteralExpr *literal, 
-                const LocationContext *LC) const;
-
-  /// Get the lvalue for an ivar reference.
-  SVal getLValue(const ObjCIvarDecl *decl, SVal base) const;
-
-  /// Get the lvalue for a field reference.
-  SVal getLValue(const FieldDecl *decl, SVal Base) const;
-
-  /// Get the lvalue for an array index.
-  SVal getLValue(QualType ElementType, SVal Idx, SVal Base) const;
-
-  const llvm::APSInt *getSymVal(SymbolRef sym) const;
-
-  /// Returns the SVal bound to the statement 'S' in the state's environment.
-  SVal getSVal(const Stmt* S) const;
-  
-  SVal getSValAsScalarOrLoc(const Stmt *Ex) const;
-
-  SVal getSVal(Loc LV, QualType T = QualType()) const;
-
-  /// Returns the "raw" SVal bound to LV before any value simplfication.
-  SVal getRawSVal(Loc LV, QualType T= QualType()) const;
-
-  SVal getSVal(const MemRegion* R) const;
-
-  SVal getSValAsScalarOrLoc(const MemRegion *R) const;
-  
-  const llvm::APSInt *getSymVal(SymbolRef sym);
-
-  bool scanReachableSymbols(SVal val, SymbolVisitor& visitor) const;
-  
-  bool scanReachableSymbols(const SVal *I, const SVal *E,
-                            SymbolVisitor &visitor) const;
-  
-  bool scanReachableSymbols(const MemRegion * const *I, 
-                            const MemRegion * const *E,
-                            SymbolVisitor &visitor) const;
-
-  template <typename CB> CB scanReachableSymbols(SVal val) const;
-  template <typename CB> CB scanReachableSymbols(const SVal *beg,
-                                                 const SVal *end) const;
-  
-  template <typename CB> CB
-  scanReachableSymbols(const MemRegion * const *beg,
-                       const MemRegion * const *end) const;
-
-  //==---------------------------------------------------------------------==//
-  // Accessing the Generic Data Map (GDM).
-  //==---------------------------------------------------------------------==//
-
-  void* const* FindGDM(void* K) const;
-
-  template<typename T>
-  const GRState *add(typename GRStateTrait<T>::key_type K) const;
-
-  template <typename T>
-  typename GRStateTrait<T>::data_type
-  get() const {
-    return GRStateTrait<T>::MakeData(FindGDM(GRStateTrait<T>::GDMIndex()));
-  }
-
-  template<typename T>
-  typename GRStateTrait<T>::lookup_type
-  get(typename GRStateTrait<T>::key_type key) const {
-    void* const* d = FindGDM(GRStateTrait<T>::GDMIndex());
-    return GRStateTrait<T>::Lookup(GRStateTrait<T>::MakeData(d), key);
-  }
-
-  template <typename T>
-  typename GRStateTrait<T>::context_type get_context() const;
-
-
-  template<typename T>
-  const GRState *remove(typename GRStateTrait<T>::key_type K) const;
-
-  template<typename T>
-  const GRState *remove(typename GRStateTrait<T>::key_type K,
-                        typename GRStateTrait<T>::context_type C) const;
-  template <typename T>
-  const GRState *remove() const;
-
-  template<typename T>
-  const GRState *set(typename GRStateTrait<T>::data_type D) const;
-
-  template<typename T>
-  const GRState *set(typename GRStateTrait<T>::key_type K,
-                     typename GRStateTrait<T>::value_type E) const;
-
-  template<typename T>
-  const GRState *set(typename GRStateTrait<T>::key_type K,
-                     typename GRStateTrait<T>::value_type E,
-                     typename GRStateTrait<T>::context_type C) const;
-
-  template<typename T>
-  bool contains(typename GRStateTrait<T>::key_type key) const {
-    void* const* d = FindGDM(GRStateTrait<T>::GDMIndex());
-    return GRStateTrait<T>::Contains(GRStateTrait<T>::MakeData(d), key);
-  }
-
-  // State pretty-printing.
-  class Printer {
-  public:
-    virtual ~Printer() {}
-    virtual void Print(llvm::raw_ostream& Out, const GRState* state,
-                       const char* nl, const char* sep) = 0;
-  };
-
-  // Pretty-printing.
-  void print(llvm::raw_ostream& Out, CFG &C, const char *nl = "\n",
-             const char *sep = "") const;
-
-  void printStdErr(CFG &C) const;
-
-  void printDOT(llvm::raw_ostream& Out, CFG &C) const;
-};
-
-class GRStateSet {
-  typedef llvm::SmallPtrSet<const GRState*,5> ImplTy;
-  ImplTy Impl;
-public:
-  GRStateSet() {}
-
-  inline void Add(const GRState* St) {
-    Impl.insert(St);
-  }
-
-  typedef ImplTy::const_iterator iterator;
-
-  inline unsigned size() const { return Impl.size();  }
-  inline bool empty()    const { return Impl.empty(); }
-
-  inline iterator begin() const { return Impl.begin(); }
-  inline iterator end() const { return Impl.end();   }
-
-  class AutoPopulate {
-    GRStateSet& S;
-    unsigned StartSize;
-    const GRState* St;
-  public:
-    AutoPopulate(GRStateSet& s, const GRState* st)
-      : S(s), StartSize(S.size()), St(st) {}
-
-    ~AutoPopulate() {
-      if (StartSize == S.size())
-        S.Add(St);
-    }
-  };
-};
-
-//===----------------------------------------------------------------------===//
-// GRStateManager - Factory object for GRStates.
-//===----------------------------------------------------------------------===//
-
-class GRStateManager {
-  friend class GRState;
-  friend class GRExprEngine; // FIXME: Remove.
-private:
-  /// Eng - The GRSubEngine that owns this state manager.
-  GRSubEngine &Eng;
-
-  EnvironmentManager                   EnvMgr;
-  llvm::OwningPtr<StoreManager>        StoreMgr;
-  llvm::OwningPtr<ConstraintManager>   ConstraintMgr;
-
-  GRState::GenericDataMap::Factory     GDMFactory;
-
-  typedef llvm::DenseMap<void*,std::pair<void*,void (*)(void*)> > GDMContextsTy;
-  GDMContextsTy GDMContexts;
-
-  /// Printers - A set of printer objects used for pretty-printing a GRState.
-  ///  GRStateManager owns these objects.
-  std::vector<GRState::Printer*> Printers;
-
-  /// StateSet - FoldingSet containing all the states created for analyzing
-  ///  a particular function.  This is used to unique states.
-  llvm::FoldingSet<GRState> StateSet;
-
-  /// Object that manages the data for all created SVals.
-  llvm::OwningPtr<SValBuilder> svalBuilder;
-
-  /// Alloc - A BumpPtrAllocator to allocate states.
-  llvm::BumpPtrAllocator &Alloc;
-
-public:
-  GRStateManager(ASTContext& Ctx,
-                 StoreManagerCreator CreateStoreManager,
-                 ConstraintManagerCreator CreateConstraintManager,
-                 llvm::BumpPtrAllocator& alloc,
-                 GRSubEngine &subeng)
-    : Eng(subeng),
-      EnvMgr(alloc),
-      GDMFactory(alloc),
-      svalBuilder(createSimpleSValBuilder(alloc, Ctx, *this)),
-      Alloc(alloc) {
-    StoreMgr.reset((*CreateStoreManager)(*this));
-    ConstraintMgr.reset((*CreateConstraintManager)(*this, subeng));
-  }
-
-  ~GRStateManager();
-
-  const GRState *getInitialState(const LocationContext *InitLoc);
-
-  ASTContext &getContext() { return svalBuilder->getContext(); }
-  const ASTContext &getContext() const { return svalBuilder->getContext(); }
-
-  BasicValueFactory &getBasicVals() {
-    return svalBuilder->getBasicValueFactory();
-  }
-  const BasicValueFactory& getBasicVals() const {
-    return svalBuilder->getBasicValueFactory();
-  }
-
-  SValBuilder &getSValBuilder() {
-    return *svalBuilder;
-  }
-
-  SymbolManager &getSymbolManager() {
-    return svalBuilder->getSymbolManager();
-  }
-  const SymbolManager &getSymbolManager() const {
-    return svalBuilder->getSymbolManager();
-  }
-
-  llvm::BumpPtrAllocator& getAllocator() { return Alloc; }
-
-  MemRegionManager& getRegionManager() {
-    return svalBuilder->getRegionManager();
-  }
-  const MemRegionManager& getRegionManager() const {
-    return svalBuilder->getRegionManager();
-  }
-
-  StoreManager& getStoreManager() { return *StoreMgr; }
-  ConstraintManager& getConstraintManager() { return *ConstraintMgr; }
-  GRSubEngine& getOwningEngine() { return Eng; }
-
-  const GRState* RemoveDeadBindings(const GRState* St,
-                                    const StackFrameContext *LCtx,
-                                    SymbolReaper& SymReaper);
-
-  /// Marshal a new state for the callee in another translation unit.
-  /// 'state' is owned by the caller's engine.
-  const GRState *MarshalState(const GRState *state, const StackFrameContext *L);
-
-public:
-
-  SVal ArrayToPointer(Loc Array) {
-    return StoreMgr->ArrayToPointer(Array);
-  }
-
-  // Methods that manipulate the GDM.
-  const GRState* addGDM(const GRState* St, void* Key, void* Data);
-  const GRState *removeGDM(const GRState *state, void *Key);
-
-  // Methods that query & manipulate the Store.
-
-  void iterBindings(const GRState* state, StoreManager::BindingsHandler& F) {
-    StoreMgr->iterBindings(state->getStore(), F);
-  }
-
-  const GRState* getPersistentState(GRState& Impl);
-
-  //==---------------------------------------------------------------------==//
-  // Generic Data Map methods.
-  //==---------------------------------------------------------------------==//
-  //
-  // GRStateManager and GRState support a "generic data map" that allows
-  // different clients of GRState objects to embed arbitrary data within a
-  // GRState object.  The generic data map is essentially an immutable map
-  // from a "tag" (that acts as the "key" for a client) and opaque values.
-  // Tags/keys and values are simply void* values.  The typical way that clients
-  // generate unique tags are by taking the address of a static variable.
-  // Clients are responsible for ensuring that data values referred to by a
-  // the data pointer are immutable (and thus are essentially purely functional
-  // data).
-  //
-  // The templated methods below use the GRStateTrait<T> class
-  // to resolve keys into the GDM and to return data values to clients.
-  //
-
-  // Trait based GDM dispatch.
-  template <typename T>
-  const GRState* set(const GRState* st, typename GRStateTrait<T>::data_type D) {
-    return addGDM(st, GRStateTrait<T>::GDMIndex(),
-                  GRStateTrait<T>::MakeVoidPtr(D));
-  }
-
-  template<typename T>
-  const GRState* set(const GRState* st,
-                     typename GRStateTrait<T>::key_type K,
-                     typename GRStateTrait<T>::value_type V,
-                     typename GRStateTrait<T>::context_type C) {
-
-    return addGDM(st, GRStateTrait<T>::GDMIndex(),
-     GRStateTrait<T>::MakeVoidPtr(GRStateTrait<T>::Set(st->get<T>(), K, V, C)));
-  }
-
-  template <typename T>
-  const GRState* add(const GRState* st,
-                     typename GRStateTrait<T>::key_type K,
-                     typename GRStateTrait<T>::context_type C) {
-    return addGDM(st, GRStateTrait<T>::GDMIndex(),
-        GRStateTrait<T>::MakeVoidPtr(GRStateTrait<T>::Add(st->get<T>(), K, C)));
-  }
-
-  template <typename T>
-  const GRState* remove(const GRState* st,
-                        typename GRStateTrait<T>::key_type K,
-                        typename GRStateTrait<T>::context_type C) {
-
-    return addGDM(st, GRStateTrait<T>::GDMIndex(),
-     GRStateTrait<T>::MakeVoidPtr(GRStateTrait<T>::Remove(st->get<T>(), K, C)));
-  }
-
-  template <typename T>
-  const GRState *remove(const GRState *st) {
-    return removeGDM(st, GRStateTrait<T>::GDMIndex());
-  }
-
-  void* FindGDMContext(void* index,
-                       void* (*CreateContext)(llvm::BumpPtrAllocator&),
-                       void  (*DeleteContext)(void*));
-
-  template <typename T>
-  typename GRStateTrait<T>::context_type get_context() {
-    void* p = FindGDMContext(GRStateTrait<T>::GDMIndex(),
-                             GRStateTrait<T>::CreateContext,
-                             GRStateTrait<T>::DeleteContext);
-
-    return GRStateTrait<T>::MakeContext(p);
-  }
-
-  const llvm::APSInt* getSymVal(const GRState* St, SymbolRef sym) {
-    return ConstraintMgr->getSymVal(St, sym);
-  }
-
-  void EndPath(const GRState* St) {
-    ConstraintMgr->EndPath(St);
-  }
-};
-
-
-//===----------------------------------------------------------------------===//
-// Out-of-line method definitions for GRState.
-//===----------------------------------------------------------------------===//
-
-inline const llvm::APSInt *GRState::getSymVal(SymbolRef sym) {
-  return getStateManager().getSymVal(this, sym);
-}
-  
-inline const VarRegion* GRState::getRegion(const VarDecl *D,
-                                           const LocationContext *LC) const {
-  return getStateManager().getRegionManager().getVarRegion(D, LC);
-}
-
-inline const GRState *GRState::assume(DefinedOrUnknownSVal Cond,
-                                      bool Assumption) const {
-  if (Cond.isUnknown())
-    return this;
-  
-  return getStateManager().ConstraintMgr->assume(this, cast<DefinedSVal>(Cond),
-                                                 Assumption);
-}
-  
-inline std::pair<const GRState*, const GRState*>
-GRState::assume(DefinedOrUnknownSVal Cond) const {
-  if (Cond.isUnknown())
-    return std::make_pair(this, this);
-  
-  return getStateManager().ConstraintMgr->assumeDual(this,
-                                                     cast<DefinedSVal>(Cond));
-}
-
-inline const GRState *GRState::bindLoc(SVal LV, SVal V) const {
-  return !isa<Loc>(LV) ? this : bindLoc(cast<Loc>(LV), V);
-}
-
-inline Loc GRState::getLValue(const VarDecl* VD,
-                               const LocationContext *LC) const {
-  return getStateManager().StoreMgr->getLValueVar(VD, LC);
-}
-
-inline Loc GRState::getLValue(const StringLiteral *literal) const {
-  return getStateManager().StoreMgr->getLValueString(literal);
-}
-
-inline Loc GRState::getLValue(const CompoundLiteralExpr *literal,
-                               const LocationContext *LC) const {
-  return getStateManager().StoreMgr->getLValueCompoundLiteral(literal, LC);
-}
-
-inline SVal GRState::getLValue(const ObjCIvarDecl *D, SVal Base) const {
-  return getStateManager().StoreMgr->getLValueIvar(D, Base);
-}
-
-inline SVal GRState::getLValue(const FieldDecl* D, SVal Base) const {
-  return getStateManager().StoreMgr->getLValueField(D, Base);
-}
-
-inline SVal GRState::getLValue(QualType ElementType, SVal Idx, SVal Base) const{
-  if (NonLoc *N = dyn_cast<NonLoc>(&Idx))
-    return getStateManager().StoreMgr->getLValueElement(ElementType, *N, Base);
-  return UnknownVal();
-}
-
-inline const llvm::APSInt *GRState::getSymVal(SymbolRef sym) const {
-  return getStateManager().getSymVal(this, sym);
-}
-
-inline SVal GRState::getSVal(const Stmt* Ex) const {
-  return Env.getSVal(Ex, *getStateManager().svalBuilder);
-}
-
-inline SVal GRState::getSValAsScalarOrLoc(const Stmt *S) const {
-  if (const Expr *Ex = dyn_cast<Expr>(S)) {
-    QualType T = Ex->getType();
-    if (Loc::IsLocType(T) || T->isIntegerType())
-      return getSVal(S);
-  }
-
-  return UnknownVal();
-}
-
-inline SVal GRState::getRawSVal(Loc LV, QualType T) const {
-  return getStateManager().StoreMgr->Retrieve(St, LV, T);
-}
-
-inline SVal GRState::getSVal(const MemRegion* R) const {
-  return getStateManager().StoreMgr->Retrieve(St, loc::MemRegionVal(R));
-}
-
-inline BasicValueFactory &GRState::getBasicVals() const {
-  return getStateManager().getBasicVals();
-}
-
-inline SymbolManager &GRState::getSymbolManager() const {
-  return getStateManager().getSymbolManager();
-}
-
-template<typename T>
-const GRState *GRState::add(typename GRStateTrait<T>::key_type K) const {
-  return getStateManager().add<T>(this, K, get_context<T>());
-}
-
-template <typename T>
-typename GRStateTrait<T>::context_type GRState::get_context() const {
-  return getStateManager().get_context<T>();
-}
-
-template<typename T>
-const GRState *GRState::remove(typename GRStateTrait<T>::key_type K) const {
-  return getStateManager().remove<T>(this, K, get_context<T>());
-}
-
-template<typename T>
-const GRState *GRState::remove(typename GRStateTrait<T>::key_type K,
-                               typename GRStateTrait<T>::context_type C) const {
-  return getStateManager().remove<T>(this, K, C);
-}
-
-template <typename T>
-const GRState *GRState::remove() const {
-  return getStateManager().remove<T>(this);
-}
-
-template<typename T>
-const GRState *GRState::set(typename GRStateTrait<T>::data_type D) const {
-  return getStateManager().set<T>(this, D);
-}
-
-template<typename T>
-const GRState *GRState::set(typename GRStateTrait<T>::key_type K,
-                            typename GRStateTrait<T>::value_type E) const {
-  return getStateManager().set<T>(this, K, E, get_context<T>());
-}
-
-template<typename T>
-const GRState *GRState::set(typename GRStateTrait<T>::key_type K,
-                            typename GRStateTrait<T>::value_type E,
-                            typename GRStateTrait<T>::context_type C) const {
-  return getStateManager().set<T>(this, K, E, C);
-}
-
-template <typename CB>
-CB GRState::scanReachableSymbols(SVal val) const {
-  CB cb(this);
-  scanReachableSymbols(val, cb);
-  return cb;
-}
-  
-template <typename CB>
-CB GRState::scanReachableSymbols(const SVal *beg, const SVal *end) const {
-  CB cb(this);
-  scanReachableSymbols(beg, end, cb);
-  return cb;
-}
-
-template <typename CB>
-CB GRState::scanReachableSymbols(const MemRegion * const *beg,
-                                 const MemRegion * const *end) const {
-  CB cb(this);
-  scanReachableSymbols(beg, end, cb);
-  return cb;
-}
-} // end clang namespace
-
-#endif

Removed: cfe/trunk/include/clang/Checker/PathSensitive/GRStateTrait.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Checker/PathSensitive/GRStateTrait.h?rev=122419&view=auto
==============================================================================
--- cfe/trunk/include/clang/Checker/PathSensitive/GRStateTrait.h (original)
+++ cfe/trunk/include/clang/Checker/PathSensitive/GRStateTrait.h (removed)
@@ -1,148 +0,0 @@
-//==- GRStateTrait.h - Partial implementations of GRStateTrait -----*- 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 partial implementations of template specializations of
-//  the class GRStateTrait<>.  GRStateTrait<> is used by GRState to implement
-//  set/get methods for mapulating a GRState's generic data map.
-//
-//===----------------------------------------------------------------------===//
-
-
-#ifndef LLVM_CLANG_ANALYSIS_GRSTATETRAIT_H
-#define LLVM_CLANG_ANALYSIS_GRSTATETRAIT_H
-
-namespace llvm {
-  class BumpPtrAllocator;
-  template <typename K, typename D, typename I> class ImmutableMap;
-  template <typename K, typename I> class ImmutableSet;
-  template <typename T> class ImmutableList;
-  template <typename T> class ImmutableListImpl;
-}
-
-namespace clang {
-  template <typename T> struct GRStatePartialTrait;
-
-  // Partial-specialization for ImmutableMap.
-
-  template <typename Key, typename Data, typename Info>
-  struct GRStatePartialTrait< llvm::ImmutableMap<Key,Data,Info> > {
-    typedef llvm::ImmutableMap<Key,Data,Info> data_type;
-    typedef typename data_type::Factory&      context_type;
-    typedef Key                               key_type;
-    typedef Data                              value_type;
-    typedef const value_type*                 lookup_type;
-
-    static inline data_type MakeData(void* const* p) {
-      return p ? data_type((typename data_type::TreeTy*) *p) : data_type(0);
-    }
-    static inline void* MakeVoidPtr(data_type B) {
-      return B.getRoot();
-    }
-    static lookup_type Lookup(data_type B, key_type K) {
-      return B.lookup(K);
-    }
-    static data_type Set(data_type B, key_type K, value_type E,context_type F){
-      return F.add(B, K, E);
-    }
-
-    static data_type Remove(data_type B, key_type K, context_type F) {
-      return F.remove(B, K);
-    }
-
-    static inline context_type MakeContext(void* p) {
-      return *((typename data_type::Factory*) p);
-    }
-
-    static void* CreateContext(llvm::BumpPtrAllocator& Alloc) {
-      return new typename data_type::Factory(Alloc);
-    }
-
-    static void DeleteContext(void* Ctx) {
-      delete (typename data_type::Factory*) Ctx;
-    }
-  };
-
-
-  // Partial-specialization for ImmutableSet.
-
-  template <typename Key, typename Info>
-  struct GRStatePartialTrait< llvm::ImmutableSet<Key,Info> > {
-    typedef llvm::ImmutableSet<Key,Info>      data_type;
-    typedef typename data_type::Factory&      context_type;
-    typedef Key                               key_type;
-
-    static inline data_type MakeData(void* const* p) {
-      return p ? data_type((typename data_type::TreeTy*) *p) : data_type(0);
-    }
-
-    static inline void* MakeVoidPtr(data_type B) {
-      return B.getRoot();
-    }
-
-    static data_type Add(data_type B, key_type K, context_type F) {
-      return F.add(B, K);
-    }
-
-    static data_type Remove(data_type B, key_type K, context_type F) {
-      return F.remove(B, K);
-    }
-
-    static bool Contains(data_type B, key_type K) {
-      return B.contains(K);
-    }
-
-    static inline context_type MakeContext(void* p) {
-      return *((typename data_type::Factory*) p);
-    }
-
-    static void* CreateContext(llvm::BumpPtrAllocator& Alloc) {
-      return new typename data_type::Factory(Alloc);
-    }
-
-    static void DeleteContext(void* Ctx) {
-      delete (typename data_type::Factory*) Ctx;
-    }
-  };
-
-  // Partial-specialization for ImmutableList.
-
-  template <typename T>
-  struct GRStatePartialTrait< llvm::ImmutableList<T> > {
-    typedef llvm::ImmutableList<T>            data_type;
-    typedef T                                 key_type;
-    typedef typename data_type::Factory&      context_type;
-
-    static data_type Add(data_type L, key_type K, context_type F) {
-      return F.add(K, L);
-    }
-
-    static inline data_type MakeData(void* const* p) {
-      return p ? data_type((const llvm::ImmutableListImpl<T>*) *p)
-               : data_type(0);
-    }
-
-    static inline void* MakeVoidPtr(data_type D) {
-      return  (void*) D.getInternalPointer();
-    }
-
-    static inline context_type MakeContext(void* p) {
-      return *((typename data_type::Factory*) p);
-    }
-
-    static void* CreateContext(llvm::BumpPtrAllocator& Alloc) {
-      return new typename data_type::Factory(Alloc);
-    }
-
-    static void DeleteContext(void* Ctx) {
-      delete (typename data_type::Factory*) Ctx;
-    }
-  };
-} // end clang namespace
-
-#endif

Removed: cfe/trunk/include/clang/Checker/PathSensitive/GRSubEngine.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Checker/PathSensitive/GRSubEngine.h?rev=122419&view=auto
==============================================================================
--- cfe/trunk/include/clang/Checker/PathSensitive/GRSubEngine.h (original)
+++ cfe/trunk/include/clang/Checker/PathSensitive/GRSubEngine.h (removed)
@@ -1,107 +0,0 @@
-//== GRSubEngine.h - Interface of the subengine of GRCoreEngine ----*- 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 the interface of a subengine of the GRCoreEngine.
-//
-//===----------------------------------------------------------------------===//
-#ifndef LLVM_CLANG_ANALYSIS_GRSUBENGINE_H
-#define LLVM_CLANG_ANALYSIS_GRSUBENGINE_H
-
-#include "clang/Checker/PathSensitive/SVals.h"
-
-namespace clang {
-
-class AnalysisManager;
-class CFGBlock;
-class CFGElement;
-class ExplodedNode;
-class GRState;
-class GRStateManager;
-class GRBlockCounter;
-class GRStmtNodeBuilder;
-class GRBranchNodeBuilder;
-class GRIndirectGotoNodeBuilder;
-class GRSwitchNodeBuilder;
-class GREndPathNodeBuilder;
-class GRCallEnterNodeBuilder;
-class GRCallExitNodeBuilder;
-class LocationContext;
-class MemRegion;
-class Stmt;
-
-class GRSubEngine {
-public:
-  virtual ~GRSubEngine() {}
-
-  virtual const GRState* getInitialState(const LocationContext *InitLoc) = 0;
-
-  virtual AnalysisManager &getAnalysisManager() = 0;
-
-  virtual GRStateManager &getStateManager() = 0;
-
-  /// Called by GRCoreEngine. Used to generate new successor
-  /// nodes by processing the 'effects' of a block-level statement.
-  virtual void ProcessElement(const CFGElement E, GRStmtNodeBuilder& builder)=0;
-
-  /// Called by GRCoreEngine when start processing
-  /// a CFGBlock.  This method returns true if the analysis should continue
-  /// exploring the given path, and false otherwise.
-  virtual bool ProcessBlockEntrance(const CFGBlock* B, const ExplodedNode *Pred,
-                                    GRBlockCounter BC) = 0;
-
-  /// Called by GRCoreEngine.  Used to generate successor
-  ///  nodes by processing the 'effects' of a branch condition.
-  virtual void ProcessBranch(const Stmt* Condition, const Stmt* Term,
-                             GRBranchNodeBuilder& builder) = 0;
-
-  /// Called by GRCoreEngine.  Used to generate successor
-  /// nodes by processing the 'effects' of a computed goto jump.
-  virtual void ProcessIndirectGoto(GRIndirectGotoNodeBuilder& builder) = 0;
-
-  /// Called by GRCoreEngine.  Used to generate successor
-  /// nodes by processing the 'effects' of a switch statement.
-  virtual void ProcessSwitch(GRSwitchNodeBuilder& builder) = 0;
-
-  /// ProcessEndPath - Called by GRCoreEngine.  Used to generate end-of-path
-  ///  nodes when the control reaches the end of a function.
-  virtual void ProcessEndPath(GREndPathNodeBuilder& builder) = 0;
-
-  // Generate the entry node of the callee.
-  virtual void ProcessCallEnter(GRCallEnterNodeBuilder &builder) = 0;
-
-  // Generate the first post callsite node.
-  virtual void ProcessCallExit(GRCallExitNodeBuilder &builder) = 0;
-
-  /// Called by ConstraintManager. Used to call checker-specific
-  /// logic for handling assumptions on symbolic values.
-  virtual const GRState* ProcessAssume(const GRState *state,
-                                       SVal cond, bool assumption) = 0;
-
-  /// WantsRegionChangeUpdate - Called by GRStateManager to determine if a
-  ///  region change should trigger a ProcessRegionChanges update.
-  virtual bool WantsRegionChangeUpdate(const GRState* state) = 0;
-
-  /// ProcessRegionChanges - Called by GRStateManager whenever a change is made
-  ///  to the store. Used to update checkers that track region values.
-  virtual const GRState* ProcessRegionChanges(const GRState* state,
-                                              const MemRegion* const *Begin,
-                                              const MemRegion* const *End) = 0;
-
-  inline const GRState* ProcessRegionChange(const GRState* state,
-                                            const MemRegion* MR) {
-    return ProcessRegionChanges(state, &MR, &MR+1);
-  }
-
-  /// Called by GRCoreEngine when the analysis worklist is either empty or the
-  //  maximum number of analysis steps have been reached.
-  virtual void ProcessEndWorklist(bool hasWorkRemaining) = 0;
-};
-}
-
-#endif

Removed: cfe/trunk/include/clang/Checker/PathSensitive/GRTransferFuncs.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Checker/PathSensitive/GRTransferFuncs.h?rev=122419&view=auto
==============================================================================
--- cfe/trunk/include/clang/Checker/PathSensitive/GRTransferFuncs.h (original)
+++ cfe/trunk/include/clang/Checker/PathSensitive/GRTransferFuncs.h (removed)
@@ -1,87 +0,0 @@
-//== GRTransferFuncs.h - Path-Sens. Transfer Functions Interface -*- 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 GRTransferFuncs, which provides a base-class that
-//  defines an interface for transfer functions used by GRExprEngine.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLVM_CLANG_ANALYSIS_GRTF
-#define LLVM_CLANG_ANALYSIS_GRTF
-
-#include "clang/Checker/PathSensitive/GRState.h"
-#include "clang/Checker/PathSensitive/SVals.h"
-#include <vector>
-
-namespace clang {
-class ExplodedNode;
-class ExplodedNodeSet;
-class GREndPathNodeBuilder;
-class GRExprEngine;
-class GRStmtNodeBuilder;
-class GRStmtNodeBuilderRef;
-class ObjCMessageExpr;
-
-class GRTransferFuncs {
-public:
-  GRTransferFuncs() {}
-  virtual ~GRTransferFuncs() {}
-
-  virtual void RegisterPrinters(std::vector<GRState::Printer*>& Printers) {}
-  virtual void RegisterChecks(GRExprEngine& Eng) {}
-
-
-  // Calls.
-
-  virtual void evalCall(ExplodedNodeSet& Dst,
-                        GRExprEngine& Engine,
-                        GRStmtNodeBuilder& Builder,
-                        const CallExpr* CE, SVal L,
-                        ExplodedNode* Pred) {}
-
-  virtual void evalObjCMessageExpr(ExplodedNodeSet& Dst,
-                                   GRExprEngine& Engine,
-                                   GRStmtNodeBuilder& Builder,
-                                   const ObjCMessageExpr* ME,
-                                   ExplodedNode* Pred,
-                                   const GRState *state) {}
-
-  // Stores.
-
-  virtual void evalBind(GRStmtNodeBuilderRef& B, SVal location, SVal val) {}
-
-  // End-of-path and dead symbol notification.
-
-  virtual void evalEndPath(GRExprEngine& Engine,
-                           GREndPathNodeBuilder& Builder) {}
-
-
-  virtual void evalDeadSymbols(ExplodedNodeSet& Dst,
-                               GRExprEngine& Engine,
-                               GRStmtNodeBuilder& Builder,
-                               ExplodedNode* Pred,
-                               const GRState* state,
-                               SymbolReaper& SymReaper) {}
-
-  // Return statements.
-  virtual void evalReturn(ExplodedNodeSet& Dst,
-                          GRExprEngine& Engine,
-                          GRStmtNodeBuilder& Builder,
-                          const ReturnStmt* S,
-                          ExplodedNode* Pred) {}
-
-  // Assumptions.
-  virtual const GRState* evalAssume(const GRState *state,
-                                    SVal Cond, bool Assumption) {
-    return state;
-  }  
-};
-} // end clang namespace
-
-#endif

Removed: cfe/trunk/include/clang/Checker/PathSensitive/GRWorkList.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Checker/PathSensitive/GRWorkList.h?rev=122419&view=auto
==============================================================================
--- cfe/trunk/include/clang/Checker/PathSensitive/GRWorkList.h (original)
+++ cfe/trunk/include/clang/Checker/PathSensitive/GRWorkList.h (removed)
@@ -1,87 +0,0 @@
-//==- GRWorkList.h - Worklist class used by GRCoreEngine -----------*- 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 GRWorkList, a pure virtual class that represents an opaque
-//  worklist used by GRCoreEngine to explore the reachability state space.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLVM_CLANG_ANALYSIS_GRWORKLIST
-#define LLVM_CLANG_ANALYSIS_GRWORKLIST
-
-#include "clang/Checker/PathSensitive/GRBlockCounter.h"
-#include <cstddef>
-
-namespace clang {
-  
-class CFGBlock;
-class ExplodedNode;
-class ExplodedNodeImpl;
-
-class GRWorkListUnit {
-  ExplodedNode* Node;
-  GRBlockCounter Counter;
-  const CFGBlock* Block;
-  unsigned BlockIdx; // This is the index of the next statement.
-
-public:
-  GRWorkListUnit(ExplodedNode* N, GRBlockCounter C,
-                 const CFGBlock* B, unsigned idx)
-  : Node(N),
-    Counter(C),
-    Block(B),
-    BlockIdx(idx) {}
-
-  explicit GRWorkListUnit(ExplodedNode* N, GRBlockCounter C)
-  : Node(N),
-    Counter(C),
-    Block(NULL),
-    BlockIdx(0) {}
-
-  ExplodedNode* getNode()         const { return Node; }
-  GRBlockCounter    getBlockCounter() const { return Counter; }
-  const CFGBlock*   getBlock()        const { return Block; }
-  unsigned          getIndex()        const { return BlockIdx; }
-};
-
-class GRWorkList {
-  GRBlockCounter CurrentCounter;
-public:
-  virtual ~GRWorkList();
-  virtual bool hasWork() const = 0;
-
-  virtual void Enqueue(const GRWorkListUnit& U) = 0;
-
-  void Enqueue(ExplodedNode* N, const CFGBlock* B, unsigned idx) {
-    Enqueue(GRWorkListUnit(N, CurrentCounter, B, idx));
-  }
-
-  void Enqueue(ExplodedNode* N) {
-    Enqueue(GRWorkListUnit(N, CurrentCounter));
-  }
-
-  virtual GRWorkListUnit Dequeue() = 0;
-
-  void setBlockCounter(GRBlockCounter C) { CurrentCounter = C; }
-  GRBlockCounter getBlockCounter() const { return CurrentCounter; }
-
-  class Visitor {
-  public:
-    Visitor() {}
-    virtual ~Visitor();
-    virtual bool Visit(const GRWorkListUnit &U) = 0;
-  };
-  virtual bool VisitItemsInWorkList(Visitor &V) = 0;
-  
-  static GRWorkList *MakeDFS();
-  static GRWorkList *MakeBFS();
-  static GRWorkList *MakeBFSBlockDFSContents();
-};
-} // end clang namespace
-#endif

Removed: cfe/trunk/include/clang/Checker/PathSensitive/MemRegion.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Checker/PathSensitive/MemRegion.h?rev=122419&view=auto
==============================================================================
--- cfe/trunk/include/clang/Checker/PathSensitive/MemRegion.h (original)
+++ cfe/trunk/include/clang/Checker/PathSensitive/MemRegion.h (removed)
@@ -1,1072 +0,0 @@
-//== MemRegion.h - Abstract memory regions for static analysis --*- 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 MemRegion and its subclasses.  MemRegion defines a
-//  partially-typed abstraction of memory useful for path-sensitive dataflow
-//  analyses.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLVM_CLANG_ANALYSIS_MEMREGION_H
-#define LLVM_CLANG_ANALYSIS_MEMREGION_H
-
-#include "clang/AST/Decl.h"
-#include "clang/AST/DeclObjC.h"
-#include "clang/Checker/PathSensitive/SVals.h"
-#include "llvm/Support/Casting.h"
-#include "llvm/Support/ErrorHandling.h"
-#include "llvm/ADT/FoldingSet.h"
-#include <string>
-
-namespace llvm {
-class BumpPtrAllocator;
-class raw_ostream;
-}
-
-namespace clang {
-
-class MemRegionManager;
-class MemSpaceRegion;
-class LocationContext;
-class StackFrameContext;
-class SValBuilder;
-class VarRegion;
-class CodeTextRegion;
-
-/// Represent a region's offset within the top level base region.
-class RegionOffset {
-  /// The base region.
-  const MemRegion *R;
-
-  /// The bit offset within the base region. It shouldn't be negative.
-  int64_t Offset;
-
-public:
-  RegionOffset(const MemRegion *r) : R(r), Offset(0) {}
-  RegionOffset(const MemRegion *r, int64_t off) : R(r), Offset(off) {}
-
-  const MemRegion *getRegion() const { return R; }
-  int64_t getOffset() const { return Offset; }
-};
-
-//===----------------------------------------------------------------------===//
-// Base region classes.
-//===----------------------------------------------------------------------===//
-
-/// MemRegion - The root abstract class for all memory regions.
-class MemRegion : public llvm::FoldingSetNode {
-  friend class MemRegionManager;
-public:
-  enum Kind {
-    // Memory spaces.
-    GenericMemSpaceRegionKind,
-    StackLocalsSpaceRegionKind,
-    StackArgumentsSpaceRegionKind,
-    HeapSpaceRegionKind,
-    UnknownSpaceRegionKind,
-    NonStaticGlobalSpaceRegionKind,
-    StaticGlobalSpaceRegionKind,
-    BEG_GLOBAL_MEMSPACES = NonStaticGlobalSpaceRegionKind,
-    END_GLOBAL_MEMSPACES = StaticGlobalSpaceRegionKind,
-    BEG_MEMSPACES = GenericMemSpaceRegionKind,
-    END_MEMSPACES = StaticGlobalSpaceRegionKind,
-    // Untyped regions.
-    SymbolicRegionKind,
-    AllocaRegionKind,
-    // Typed regions.
-    BEG_TYPED_REGIONS,
-    FunctionTextRegionKind = BEG_TYPED_REGIONS,
-    BlockTextRegionKind,
-    BlockDataRegionKind,
-    CompoundLiteralRegionKind,
-    CXXThisRegionKind,
-    StringRegionKind,
-    ElementRegionKind,
-    // Decl Regions.
-    BEG_DECL_REGIONS,
-    VarRegionKind = BEG_DECL_REGIONS,
-    FieldRegionKind,
-    ObjCIvarRegionKind,
-    END_DECL_REGIONS = ObjCIvarRegionKind,
-    CXXTempObjectRegionKind,
-    CXXBaseObjectRegionKind,
-    END_TYPED_REGIONS = CXXBaseObjectRegionKind
-  };
-    
-private:
-  const Kind kind;
-
-protected:
-  MemRegion(Kind k) : kind(k) {}
-  virtual ~MemRegion();
-
-public:
-  ASTContext &getContext() const;
-
-  virtual void Profile(llvm::FoldingSetNodeID& ID) const = 0;
-
-  virtual MemRegionManager* getMemRegionManager() const = 0;
-
-  std::string getString() const;
-
-  const MemSpaceRegion *getMemorySpace() const;
-
-  const MemRegion *getBaseRegion() const;
-
-  const MemRegion *StripCasts() const;
-
-  bool hasGlobalsOrParametersStorage() const;
-
-  bool hasStackStorage() const;
-  
-  bool hasStackNonParametersStorage() const;
-  
-  bool hasStackParametersStorage() const;
-
-  /// Compute the offset within the top level memory object.
-  RegionOffset getAsOffset() const;
-
-  virtual void dumpToStream(llvm::raw_ostream& os) const;
-
-  void dump() const;
-
-  Kind getKind() const { return kind; }
-
-  template<typename RegionTy> const RegionTy* getAs() const;
-
-  virtual bool isBoundable() const { return false; }
-
-  static bool classof(const MemRegion*) { return true; }
-};
-
-/// MemSpaceRegion - A memory region that represents and "memory space";
-///  for example, the set of global variables, the stack frame, etc.
-class MemSpaceRegion : public MemRegion {
-protected:
-  friend class MemRegionManager;
-  
-  MemRegionManager *Mgr;
-
-  MemSpaceRegion(MemRegionManager *mgr, Kind k = GenericMemSpaceRegionKind)
-    : MemRegion(k), Mgr(mgr) {
-    assert(classof(this));
-  }
-
-  MemRegionManager* getMemRegionManager() const { return Mgr; }
-
-public:
-  bool isBoundable() const { return false; }
-  
-  void Profile(llvm::FoldingSetNodeID &ID) const;
-
-  static bool classof(const MemRegion *R) {
-    Kind k = R->getKind();
-    return k >= BEG_MEMSPACES && k <= END_MEMSPACES;
-  }
-};
-  
-class GlobalsSpaceRegion : public MemSpaceRegion {
-protected:
-  GlobalsSpaceRegion(MemRegionManager *mgr, Kind k)
-    : MemSpaceRegion(mgr, k) {}
-public:
-  static bool classof(const MemRegion *R) {
-    Kind k = R->getKind();
-    return k >= BEG_GLOBAL_MEMSPACES && k <= END_GLOBAL_MEMSPACES;
-  }
-};
-  
-class StaticGlobalSpaceRegion : public GlobalsSpaceRegion {
-  friend class MemRegionManager;
-
-  const CodeTextRegion *CR;
-  
-  StaticGlobalSpaceRegion(MemRegionManager *mgr, const CodeTextRegion *cr)
-    : GlobalsSpaceRegion(mgr, StaticGlobalSpaceRegionKind), CR(cr) {}
-
-public:
-  void Profile(llvm::FoldingSetNodeID &ID) const;
-  
-  void dumpToStream(llvm::raw_ostream& os) const;
-
-  const CodeTextRegion *getCodeRegion() const { return CR; }
-
-  static bool classof(const MemRegion *R) {
-    return R->getKind() == StaticGlobalSpaceRegionKind;
-  }
-};
-  
-class NonStaticGlobalSpaceRegion : public GlobalsSpaceRegion {
-  friend class MemRegionManager;
-  
-  NonStaticGlobalSpaceRegion(MemRegionManager *mgr)
-    : GlobalsSpaceRegion(mgr, NonStaticGlobalSpaceRegionKind) {}
-  
-public:
-
-  void dumpToStream(llvm::raw_ostream& os) const;
-
-  static bool classof(const MemRegion *R) {
-    return R->getKind() == NonStaticGlobalSpaceRegionKind;
-  }
-};
-  
-class HeapSpaceRegion : public MemSpaceRegion {
-  friend class MemRegionManager;
-  
-  HeapSpaceRegion(MemRegionManager *mgr)
-    : MemSpaceRegion(mgr, HeapSpaceRegionKind) {}
-public:
-  static bool classof(const MemRegion *R) {
-    return R->getKind() == HeapSpaceRegionKind;
-  }
-};
-  
-class UnknownSpaceRegion : public MemSpaceRegion {
-  friend class MemRegionManager;
-  UnknownSpaceRegion(MemRegionManager *mgr)
-    : MemSpaceRegion(mgr, UnknownSpaceRegionKind) {}
-public:
-  static bool classof(const MemRegion *R) {
-    return R->getKind() == UnknownSpaceRegionKind;
-  }
-};
-  
-class StackSpaceRegion : public MemSpaceRegion {
-private:
-  const StackFrameContext *SFC;
-
-protected:
-  StackSpaceRegion(MemRegionManager *mgr, Kind k, const StackFrameContext *sfc)
-    : MemSpaceRegion(mgr, k), SFC(sfc) {
-    assert(classof(this));
-  }
-
-public:  
-  const StackFrameContext *getStackFrame() const { return SFC; }
-  
-  void Profile(llvm::FoldingSetNodeID &ID) const;
-
-  static bool classof(const MemRegion *R) {
-    Kind k = R->getKind();
-    return k >= StackLocalsSpaceRegionKind &&
-           k <= StackArgumentsSpaceRegionKind;
-  }  
-};
-  
-class StackLocalsSpaceRegion : public StackSpaceRegion {
-private:
-  friend class MemRegionManager;
-  StackLocalsSpaceRegion(MemRegionManager *mgr, const StackFrameContext *sfc)
-    : StackSpaceRegion(mgr, StackLocalsSpaceRegionKind, sfc) {}
-public:
-  static bool classof(const MemRegion *R) {
-    return R->getKind() == StackLocalsSpaceRegionKind;
-  }
-};
-
-class StackArgumentsSpaceRegion : public StackSpaceRegion {
-private:
-  friend class MemRegionManager;
-  StackArgumentsSpaceRegion(MemRegionManager *mgr, const StackFrameContext *sfc)
-    : StackSpaceRegion(mgr, StackArgumentsSpaceRegionKind, sfc) {}
-public:
-  static bool classof(const MemRegion *R) {
-    return R->getKind() == StackArgumentsSpaceRegionKind;
-  }
-};
-
-
-/// SubRegion - A region that subsets another larger region.  Most regions
-///  are subclasses of SubRegion.
-class SubRegion : public MemRegion {
-protected:
-  const MemRegion* superRegion;
-  SubRegion(const MemRegion* sReg, Kind k) : MemRegion(k), superRegion(sReg) {}
-public:
-  const MemRegion* getSuperRegion() const {
-    return superRegion;
-  }
-
-  /// getExtent - Returns the size of the region in bytes.
-  virtual DefinedOrUnknownSVal getExtent(SValBuilder &svalBuilder) const {
-    return UnknownVal();
-  }
-
-  MemRegionManager* getMemRegionManager() const;
-
-  bool isSubRegionOf(const MemRegion* R) const;
-
-  static bool classof(const MemRegion* R) {
-    return R->getKind() > END_MEMSPACES;
-  }
-};
-
-//===----------------------------------------------------------------------===//
-// MemRegion subclasses.
-//===----------------------------------------------------------------------===//
-
-/// AllocaRegion - A region that represents an untyped blob of bytes created
-///  by a call to 'alloca'.
-class AllocaRegion : public SubRegion {
-  friend class MemRegionManager;
-protected:
-  unsigned Cnt; // Block counter.  Used to distinguish different pieces of
-                // memory allocated by alloca at the same call site.
-  const Expr* Ex;
-
-  AllocaRegion(const Expr* ex, unsigned cnt, const MemRegion *superRegion)
-    : SubRegion(superRegion, AllocaRegionKind), Cnt(cnt), Ex(ex) {}
-
-public:
-
-  const Expr* getExpr() const { return Ex; }
-
-  bool isBoundable() const { return true; }
-
-  DefinedOrUnknownSVal getExtent(SValBuilder &svalBuilder) const;
-
-  void Profile(llvm::FoldingSetNodeID& ID) const;
-
-  static void ProfileRegion(llvm::FoldingSetNodeID& ID, const Expr* Ex,
-                            unsigned Cnt, const MemRegion *superRegion);
-
-  void dumpToStream(llvm::raw_ostream& os) const;
-
-  static bool classof(const MemRegion* R) {
-    return R->getKind() == AllocaRegionKind;
-  }
-};
-
-/// TypedRegion - An abstract class representing regions that are typed.
-class TypedRegion : public SubRegion {
-protected:
-  TypedRegion(const MemRegion* sReg, Kind k) : SubRegion(sReg, k) {}
-
-public:
-  virtual QualType getValueType() const = 0;
-
-  virtual QualType getLocationType() const {
-    // FIXME: We can possibly optimize this later to cache this value.
-    return getContext().getPointerType(getValueType());
-  }
-
-  QualType getDesugaredValueType(ASTContext &Context) const {
-    QualType T = getValueType();
-    return T.getTypePtrOrNull() ? T.getDesugaredType(Context) : T;
-  }
-
-  QualType getDesugaredLocationType(ASTContext &Context) const {
-    return getLocationType().getDesugaredType(Context);
-  }
-
-  bool isBoundable() const { return true; }
-
-  static bool classof(const MemRegion* R) {
-    unsigned k = R->getKind();
-    return k >= BEG_TYPED_REGIONS && k <= END_TYPED_REGIONS;
-  }
-};
-
-
-class CodeTextRegion : public TypedRegion {
-protected:
-  CodeTextRegion(const MemRegion *sreg, Kind k) : TypedRegion(sreg, k) {}
-public:
-  QualType getValueType() const {
-    assert(0 && "Do not get the object type of a CodeTextRegion.");
-    return QualType();
-  }
-  
-  bool isBoundable() const { return false; }
-    
-  static bool classof(const MemRegion* R) {
-    Kind k = R->getKind();
-    return k >= FunctionTextRegionKind && k <= BlockTextRegionKind;
-  }
-};
-
-/// FunctionTextRegion - A region that represents code texts of function.
-class FunctionTextRegion : public CodeTextRegion {
-  const FunctionDecl *FD;
-public:
-  FunctionTextRegion(const FunctionDecl* fd, const MemRegion* sreg)
-    : CodeTextRegion(sreg, FunctionTextRegionKind), FD(fd) {}
-  
-  QualType getLocationType() const {
-    return getContext().getPointerType(FD->getType());
-  }
-  
-  const FunctionDecl *getDecl() const {
-    return FD;
-  }
-    
-  virtual void dumpToStream(llvm::raw_ostream& os) const;
-  
-  void Profile(llvm::FoldingSetNodeID& ID) const;
-  
-  static void ProfileRegion(llvm::FoldingSetNodeID& ID, const FunctionDecl *FD,
-                            const MemRegion*);
-  
-  static bool classof(const MemRegion* R) {
-    return R->getKind() == FunctionTextRegionKind;
-  }
-};
-  
-  
-/// BlockTextRegion - A region that represents code texts of blocks (closures).
-///  Blocks are represented with two kinds of regions.  BlockTextRegions
-///  represent the "code", while BlockDataRegions represent instances of blocks,
-///  which correspond to "code+data".  The distinction is important, because
-///  like a closure a block captures the values of externally referenced
-///  variables.
-class BlockTextRegion : public CodeTextRegion {
-  friend class MemRegionManager;
-
-  const BlockDecl *BD;
-  AnalysisContext *AC;
-  CanQualType locTy;
-
-  BlockTextRegion(const BlockDecl *bd, CanQualType lTy,
-                  AnalysisContext *ac, const MemRegion* sreg)
-    : CodeTextRegion(sreg, BlockTextRegionKind), BD(bd), AC(ac), locTy(lTy) {}
-
-public:
-  QualType getLocationType() const {
-    return locTy;
-  }
-  
-  const BlockDecl *getDecl() const {
-    return BD;
-  }
-
-  AnalysisContext *getAnalysisContext() const { return AC; }
-    
-  virtual void dumpToStream(llvm::raw_ostream& os) const;
-  
-  void Profile(llvm::FoldingSetNodeID& ID) const;
-  
-  static void ProfileRegion(llvm::FoldingSetNodeID& ID, const BlockDecl *BD,
-                            CanQualType, const AnalysisContext*,
-                            const MemRegion*);
-  
-  static bool classof(const MemRegion* R) {
-    return R->getKind() == BlockTextRegionKind;
-  }
-};
-  
-/// BlockDataRegion - A region that represents a block instance.
-///  Blocks are represented with two kinds of regions.  BlockTextRegions
-///  represent the "code", while BlockDataRegions represent instances of blocks,
-///  which correspond to "code+data".  The distinction is important, because
-///  like a closure a block captures the values of externally referenced
-///  variables.
-class BlockDataRegion : public SubRegion {
-  friend class MemRegionManager;
-  const BlockTextRegion *BC;
-  const LocationContext *LC; // Can be null */
-  void *ReferencedVars;
-
-  BlockDataRegion(const BlockTextRegion *bc, const LocationContext *lc,
-                  const MemRegion *sreg)
-  : SubRegion(sreg, BlockDataRegionKind), BC(bc), LC(lc), ReferencedVars(0) {}
-
-public:  
-  const BlockTextRegion *getCodeRegion() const { return BC; }
-  
-  const BlockDecl *getDecl() const { return BC->getDecl(); }
-  
-  class referenced_vars_iterator {
-    const MemRegion * const *R;
-  public:
-    explicit referenced_vars_iterator(const MemRegion * const *r) : R(r) {}
-    
-    operator const MemRegion * const *() const {
-      return R;
-    }
-    
-    const VarRegion* operator*() const {
-      return cast<VarRegion>(*R);
-    }
-    
-    bool operator==(const referenced_vars_iterator &I) const {
-      return I.R == R;
-    }
-    bool operator!=(const referenced_vars_iterator &I) const {
-      return I.R != R;
-    }
-    referenced_vars_iterator& operator++() {
-      ++R;
-      return *this;
-    }
-  };
-      
-  referenced_vars_iterator referenced_vars_begin() const;
-  referenced_vars_iterator referenced_vars_end() const;  
-    
-  virtual void dumpToStream(llvm::raw_ostream& os) const;
-    
-  void Profile(llvm::FoldingSetNodeID& ID) const;
-    
-  static void ProfileRegion(llvm::FoldingSetNodeID&, const BlockTextRegion *,
-                            const LocationContext *, const MemRegion *);
-    
-  static bool classof(const MemRegion* R) {
-    return R->getKind() == BlockDataRegionKind;
-  }
-private:
-  void LazyInitializeReferencedVars();
-};
-
-/// SymbolicRegion - A special, "non-concrete" region. Unlike other region
-///  clases, SymbolicRegion represents a region that serves as an alias for
-///  either a real region, a NULL pointer, etc.  It essentially is used to
-///  map the concept of symbolic values into the domain of regions.  Symbolic
-///  regions do not need to be typed.
-class SymbolicRegion : public SubRegion {
-protected:
-  const SymbolRef sym;
-
-public:
-  SymbolicRegion(const SymbolRef s, const MemRegion* sreg)
-    : SubRegion(sreg, SymbolicRegionKind), sym(s) {}
-
-  SymbolRef getSymbol() const {
-    return sym;
-  }
-
-  bool isBoundable() const { return true; }
-
-  DefinedOrUnknownSVal getExtent(SValBuilder &svalBuilder) const;
-
-  void Profile(llvm::FoldingSetNodeID& ID) const;
-
-  static void ProfileRegion(llvm::FoldingSetNodeID& ID,
-                            SymbolRef sym,
-                            const MemRegion* superRegion);
-
-  void dumpToStream(llvm::raw_ostream& os) const;
-
-  static bool classof(const MemRegion* R) {
-    return R->getKind() == SymbolicRegionKind;
-  }
-};
-
-/// StringRegion - Region associated with a StringLiteral.
-class StringRegion : public TypedRegion {
-  friend class MemRegionManager;
-  const StringLiteral* Str;
-protected:
-
-  StringRegion(const StringLiteral* str, const MemRegion* sreg)
-    : TypedRegion(sreg, StringRegionKind), Str(str) {}
-
-  static void ProfileRegion(llvm::FoldingSetNodeID& ID,
-                            const StringLiteral* Str,
-                            const MemRegion* superRegion);
-
-public:
-
-  const StringLiteral* getStringLiteral() const { return Str; }
-
-  QualType getValueType() const {
-    return Str->getType();
-  }
-
-  DefinedOrUnknownSVal getExtent(SValBuilder &svalBuilder) const;
-
-  bool isBoundable() const { return false; }
-
-  void Profile(llvm::FoldingSetNodeID& ID) const {
-    ProfileRegion(ID, Str, superRegion);
-  }
-
-  void dumpToStream(llvm::raw_ostream& os) const;
-
-  static bool classof(const MemRegion* R) {
-    return R->getKind() == StringRegionKind;
-  }
-};
-
-/// CompoundLiteralRegion - A memory region representing a compound literal.
-///   Compound literals are essentially temporaries that are stack allocated
-///   or in the global constant pool.
-class CompoundLiteralRegion : public TypedRegion {
-private:
-  friend class MemRegionManager;
-  const CompoundLiteralExpr* CL;
-
-  CompoundLiteralRegion(const CompoundLiteralExpr* cl, const MemRegion* sReg)
-    : TypedRegion(sReg, CompoundLiteralRegionKind), CL(cl) {}
-
-  static void ProfileRegion(llvm::FoldingSetNodeID& ID,
-                            const CompoundLiteralExpr* CL,
-                            const MemRegion* superRegion);
-public:
-  QualType getValueType() const {
-    return CL->getType();
-  }
-
-  bool isBoundable() const { return !CL->isFileScope(); }
-
-  void Profile(llvm::FoldingSetNodeID& ID) const;
-
-  void dumpToStream(llvm::raw_ostream& os) const;
-
-  const CompoundLiteralExpr* getLiteralExpr() const { return CL; }
-
-  static bool classof(const MemRegion* R) {
-    return R->getKind() == CompoundLiteralRegionKind;
-  }
-};
-
-class DeclRegion : public TypedRegion {
-protected:
-  const Decl* D;
-
-  DeclRegion(const Decl* d, const MemRegion* sReg, Kind k)
-    : TypedRegion(sReg, k), D(d) {}
-
-  static void ProfileRegion(llvm::FoldingSetNodeID& ID, const Decl* D,
-                      const MemRegion* superRegion, Kind k);
-
-public:
-  const Decl* getDecl() const { return D; }
-  void Profile(llvm::FoldingSetNodeID& ID) const;
-
-  DefinedOrUnknownSVal getExtent(SValBuilder &svalBuilder) const;
-
-  static bool classof(const MemRegion* R) {
-    unsigned k = R->getKind();
-    return k >= BEG_DECL_REGIONS && k <= END_DECL_REGIONS;
-  }
-};
-
-class VarRegion : public DeclRegion {
-  friend class MemRegionManager;
-
-  // Constructors and private methods.
-  VarRegion(const VarDecl* vd, const MemRegion* sReg)
-    : DeclRegion(vd, sReg, VarRegionKind) {}
-
-  static void ProfileRegion(llvm::FoldingSetNodeID& ID, const VarDecl* VD,
-                            const MemRegion *superRegion) {
-    DeclRegion::ProfileRegion(ID, VD, superRegion, VarRegionKind);
-  }
-
-  void Profile(llvm::FoldingSetNodeID& ID) const;
-
-public:
-  const VarDecl *getDecl() const { return cast<VarDecl>(D); }
-
-  const StackFrameContext *getStackFrame() const;
-  
-  QualType getValueType() const {
-    // FIXME: We can cache this if needed.
-    return getDecl()->getType();
-  }
-
-  void dumpToStream(llvm::raw_ostream& os) const;
-
-  static bool classof(const MemRegion* R) {
-    return R->getKind() == VarRegionKind;
-  }
-};
-  
-/// CXXThisRegion - Represents the region for the implicit 'this' parameter
-///  in a call to a C++ method.  This region doesn't represent the object
-///  referred to by 'this', but rather 'this' itself.
-class CXXThisRegion : public TypedRegion {
-  friend class MemRegionManager;
-  CXXThisRegion(const PointerType *thisPointerTy,
-                const MemRegion *sReg)
-    : TypedRegion(sReg, CXXThisRegionKind), ThisPointerTy(thisPointerTy) {}
-
-  static void ProfileRegion(llvm::FoldingSetNodeID &ID,
-                            const PointerType *PT,
-                            const MemRegion *sReg);
-
-  void Profile(llvm::FoldingSetNodeID &ID) const;
-
-public:  
-  QualType getValueType() const {
-    return QualType(ThisPointerTy, 0);
-  }
-
-  void dumpToStream(llvm::raw_ostream& os) const;
-  
-  static bool classof(const MemRegion* R) {
-    return R->getKind() == CXXThisRegionKind;
-  }
-
-private:
-  const PointerType *ThisPointerTy;
-};
-
-class FieldRegion : public DeclRegion {
-  friend class MemRegionManager;
-
-  FieldRegion(const FieldDecl* fd, const MemRegion* sReg)
-    : DeclRegion(fd, sReg, FieldRegionKind) {}
-
-public:
-
-  void dumpToStream(llvm::raw_ostream& os) const;
-
-  const FieldDecl* getDecl() const { return cast<FieldDecl>(D); }
-
-  QualType getValueType() const {
-    // FIXME: We can cache this if needed.
-    return getDecl()->getType();
-  }
-
-  DefinedOrUnknownSVal getExtent(SValBuilder &svalBuilder) const;
-
-  static void ProfileRegion(llvm::FoldingSetNodeID& ID, const FieldDecl* FD,
-                            const MemRegion* superRegion) {
-    DeclRegion::ProfileRegion(ID, FD, superRegion, FieldRegionKind);
-  }
-
-  static bool classof(const MemRegion* R) {
-    return R->getKind() == FieldRegionKind;
-  }
-};
-
-class ObjCIvarRegion : public DeclRegion {
-
-  friend class MemRegionManager;
-
-  ObjCIvarRegion(const ObjCIvarDecl* ivd, const MemRegion* sReg)
-    : DeclRegion(ivd, sReg, ObjCIvarRegionKind) {}
-
-  static void ProfileRegion(llvm::FoldingSetNodeID& ID, const ObjCIvarDecl* ivd,
-                            const MemRegion* superRegion) {
-    DeclRegion::ProfileRegion(ID, ivd, superRegion, ObjCIvarRegionKind);
-  }
-
-public:
-  const ObjCIvarDecl* getDecl() const { return cast<ObjCIvarDecl>(D); }
-  QualType getValueType() const { return getDecl()->getType(); }
-
-  void dumpToStream(llvm::raw_ostream& os) const;
-
-  static bool classof(const MemRegion* R) {
-    return R->getKind() == ObjCIvarRegionKind;
-  }
-};
-//===----------------------------------------------------------------------===//
-// Auxillary data classes for use with MemRegions.
-//===----------------------------------------------------------------------===//
-
-class ElementRegion;
-
-class RegionRawOffset {
-private:
-  friend class ElementRegion;
-
-  const MemRegion *Region;
-  int64_t Offset;
-
-  RegionRawOffset(const MemRegion* reg, int64_t offset = 0)
-    : Region(reg), Offset(offset) {}
-
-public:
-  // FIXME: Eventually support symbolic offsets.
-  int64_t getByteOffset() const { return Offset; }
-  const MemRegion *getRegion() const { return Region; }
-
-  void dumpToStream(llvm::raw_ostream& os) const;
-  void dump() const;
-};
-
-class ElementRegion : public TypedRegion {
-  friend class MemRegionManager;
-
-  QualType ElementType;
-  NonLoc Index;
-
-  ElementRegion(QualType elementType, NonLoc Idx, const MemRegion* sReg)
-    : TypedRegion(sReg, ElementRegionKind),
-      ElementType(elementType), Index(Idx) {
-    assert((!isa<nonloc::ConcreteInt>(&Idx) ||
-           cast<nonloc::ConcreteInt>(&Idx)->getValue().isSigned()) &&
-           "The index must be signed");
-  }
-
-  static void ProfileRegion(llvm::FoldingSetNodeID& ID, QualType elementType,
-                            SVal Idx, const MemRegion* superRegion);
-
-public:
-
-  NonLoc getIndex() const { return Index; }
-
-  QualType getValueType() const {
-    return ElementType;
-  }
-
-  QualType getElementType() const {
-    return ElementType;
-  }
-  /// Compute the offset within the array. The array might also be a subobject.
-  RegionRawOffset getAsArrayOffset() const;
-
-  void dumpToStream(llvm::raw_ostream& os) const;
-
-  void Profile(llvm::FoldingSetNodeID& ID) const;
-
-  static bool classof(const MemRegion* R) {
-    return R->getKind() == ElementRegionKind;
-  }
-};
-
-// C++ temporary object associated with an expression.
-class CXXTempObjectRegion : public TypedRegion {
-  friend class MemRegionManager;
-
-  Expr const *Ex;
-
-  CXXTempObjectRegion(Expr const *E, MemRegion const *sReg) 
-    : TypedRegion(sReg, CXXTempObjectRegionKind), Ex(E) {}
-
-  static void ProfileRegion(llvm::FoldingSetNodeID &ID,
-                            Expr const *E, const MemRegion *sReg);
-  
-public:
-  QualType getValueType() const {
-    return Ex->getType();
-  }
-
-  void dumpToStream(llvm::raw_ostream& os) const;
-
-  void Profile(llvm::FoldingSetNodeID &ID) const;
-
-  static bool classof(const MemRegion* R) {
-    return R->getKind() == CXXTempObjectRegionKind;
-  }
-};
-
-// CXXBaseObjectRegion represents a base object within a C++ object. It is 
-// identified by the base class declaration and the region of its parent object.
-class CXXBaseObjectRegion : public TypedRegion {
-  friend class MemRegionManager;
-
-  const CXXRecordDecl *decl;
-
-  CXXBaseObjectRegion(const CXXRecordDecl *d, const MemRegion *sReg)
-    : TypedRegion(sReg, CXXBaseObjectRegionKind), decl(d) {}
-
-  static void ProfileRegion(llvm::FoldingSetNodeID &ID,
-                            const CXXRecordDecl *decl, const MemRegion *sReg);
-
-public:
-  QualType getValueType() const;
-
-  void dumpToStream(llvm::raw_ostream& os) const;
-
-  void Profile(llvm::FoldingSetNodeID &ID) const;
-
-  static bool classof(const MemRegion *region) {
-    return region->getKind() == CXXBaseObjectRegionKind;
-  }
-};
-
-template<typename RegionTy>
-const RegionTy* MemRegion::getAs() const {
-  if (const RegionTy* RT = dyn_cast<RegionTy>(this))
-    return RT;
-
-  return NULL;
-}
-
-//===----------------------------------------------------------------------===//
-// MemRegionManager - Factory object for creating regions.
-//===----------------------------------------------------------------------===//
-
-class MemRegionManager {
-  ASTContext &C;
-  llvm::BumpPtrAllocator& A;
-  llvm::FoldingSet<MemRegion> Regions;
-
-  NonStaticGlobalSpaceRegion *globals;
-  
-  llvm::DenseMap<const StackFrameContext *, StackLocalsSpaceRegion *> 
-    StackLocalsSpaceRegions;
-  llvm::DenseMap<const StackFrameContext *, StackArgumentsSpaceRegion *>
-    StackArgumentsSpaceRegions;
-  llvm::DenseMap<const CodeTextRegion *, StaticGlobalSpaceRegion *>
-    StaticsGlobalSpaceRegions;
-
-  HeapSpaceRegion *heap;
-  UnknownSpaceRegion *unknown;
-  MemSpaceRegion *code;
-
-public:
-  MemRegionManager(ASTContext &c, llvm::BumpPtrAllocator& a)
-    : C(c), A(a), globals(0), heap(0), unknown(0), code(0) {}
-
-  ~MemRegionManager();
-
-  ASTContext &getContext() { return C; }
-  
-  llvm::BumpPtrAllocator &getAllocator() { return A; }
-
-  /// getStackLocalsRegion - Retrieve the memory region associated with the
-  ///  specified stack frame.
-  const StackLocalsSpaceRegion *
-  getStackLocalsRegion(const StackFrameContext *STC);
-
-  /// getStackArgumentsRegion - Retrieve the memory region associated with
-  ///  function/method arguments of the specified stack frame.
-  const StackArgumentsSpaceRegion *
-  getStackArgumentsRegion(const StackFrameContext *STC);
-
-  /// getGlobalsRegion - Retrieve the memory region associated with
-  ///  global variables.
-  const GlobalsSpaceRegion *getGlobalsRegion(const CodeTextRegion *R = 0);
-
-  /// getHeapRegion - Retrieve the memory region associated with the
-  ///  generic "heap".
-  const HeapSpaceRegion *getHeapRegion();
-
-  /// getUnknownRegion - Retrieve the memory region associated with unknown
-  /// memory space.
-  const MemSpaceRegion *getUnknownRegion();
-
-  const MemSpaceRegion *getCodeRegion();
-
-  /// getAllocaRegion - Retrieve a region associated with a call to alloca().
-  const AllocaRegion *getAllocaRegion(const Expr* Ex, unsigned Cnt,
-                                      const LocationContext *LC);
-
-  /// getCompoundLiteralRegion - Retrieve the region associated with a
-  ///  given CompoundLiteral.
-  const CompoundLiteralRegion*
-  getCompoundLiteralRegion(const CompoundLiteralExpr* CL,
-                           const LocationContext *LC);
-  
-  /// getCXXThisRegion - Retrieve the [artifical] region associated with the
-  ///  parameter 'this'.
-  const CXXThisRegion *getCXXThisRegion(QualType thisPointerTy,
-                                        const LocationContext *LC);
-
-  /// getSymbolicRegion - Retrieve or create a "symbolic" memory region.
-  const SymbolicRegion* getSymbolicRegion(SymbolRef sym);
-
-  const StringRegion* getStringRegion(const StringLiteral* Str);
-
-  /// getVarRegion - Retrieve or create the memory region associated with
-  ///  a specified VarDecl and LocationContext.
-  const VarRegion* getVarRegion(const VarDecl *D, const LocationContext *LC);
-
-  /// getVarRegion - Retrieve or create the memory region associated with
-  ///  a specified VarDecl and super region.
-  const VarRegion* getVarRegion(const VarDecl *D, const MemRegion *superR);
-  
-  /// getElementRegion - Retrieve the memory region associated with the
-  ///  associated element type, index, and super region.
-  const ElementRegion *getElementRegion(QualType elementType, NonLoc Idx,
-                                        const MemRegion *superRegion,
-                                        ASTContext &Ctx);
-
-  const ElementRegion *getElementRegionWithSuper(const ElementRegion *ER,
-                                                 const MemRegion *superRegion) {
-    return getElementRegion(ER->getElementType(), ER->getIndex(),
-                            superRegion, ER->getContext());
-  }
-
-  /// getFieldRegion - Retrieve or create the memory region associated with
-  ///  a specified FieldDecl.  'superRegion' corresponds to the containing
-  ///  memory region (which typically represents the memory representing
-  ///  a structure or class).
-  const FieldRegion *getFieldRegion(const FieldDecl* fd,
-                                    const MemRegion* superRegion);
-
-  const FieldRegion *getFieldRegionWithSuper(const FieldRegion *FR,
-                                             const MemRegion *superRegion) {
-    return getFieldRegion(FR->getDecl(), superRegion);
-  }
-
-  /// getObjCIvarRegion - Retrieve or create the memory region associated with
-  ///   a specified Objective-c instance variable.  'superRegion' corresponds
-  ///   to the containing region (which typically represents the Objective-C
-  ///   object).
-  const ObjCIvarRegion *getObjCIvarRegion(const ObjCIvarDecl* ivd,
-                                          const MemRegion* superRegion);
-
-  const CXXTempObjectRegion *getCXXTempObjectRegion(Expr const *Ex,
-                                                    LocationContext const *LC);
-
-  const CXXBaseObjectRegion *getCXXBaseObjectRegion(const CXXRecordDecl *decl,
-                                                  const MemRegion *superRegion);
-
-  const FunctionTextRegion *getFunctionTextRegion(const FunctionDecl *FD);
-  const BlockTextRegion *getBlockTextRegion(const BlockDecl *BD,
-                                            CanQualType locTy,
-                                            AnalysisContext *AC);
-  
-  /// getBlockDataRegion - Get the memory region associated with an instance
-  ///  of a block.  Unlike many other MemRegions, the LocationContext*
-  ///  argument is allowed to be NULL for cases where we have no known
-  ///  context.
-  const BlockDataRegion *getBlockDataRegion(const BlockTextRegion *bc,
-                                            const LocationContext *lc = NULL);
-
-  bool isGlobalsRegion(const MemRegion* R) {
-    assert(R);
-    return R == globals;
-  }
-  
-private:
-  template <typename RegionTy, typename A1>
-  RegionTy* getRegion(const A1 a1);
-
-  template <typename RegionTy, typename A1>
-  RegionTy* getSubRegion(const A1 a1, const MemRegion* superRegion);
-
-  template <typename RegionTy, typename A1, typename A2>
-  RegionTy* getRegion(const A1 a1, const A2 a2);
-
-  template <typename RegionTy, typename A1, typename A2>
-  RegionTy* getSubRegion(const A1 a1, const A2 a2,
-                         const MemRegion* superRegion);
-
-  template <typename RegionTy, typename A1, typename A2, typename A3>
-  RegionTy* getSubRegion(const A1 a1, const A2 a2, const A3 a3,
-                         const MemRegion* superRegion);
-  
-  template <typename REG>
-  const REG* LazyAllocate(REG*& region);
-  
-  template <typename REG, typename ARG>
-  const REG* LazyAllocate(REG*& region, ARG a);
-};
-
-//===----------------------------------------------------------------------===//
-// Out-of-line member definitions.
-//===----------------------------------------------------------------------===//
-
-inline ASTContext& MemRegion::getContext() const {
-  return getMemRegionManager()->getContext();
-}
-  
-} // end clang namespace
-
-//===----------------------------------------------------------------------===//
-// Pretty-printing regions.
-//===----------------------------------------------------------------------===//
-
-namespace llvm {
-static inline raw_ostream& operator<<(raw_ostream& os,
-                                      const clang::MemRegion* R) {
-  R->dumpToStream(os);
-  return os;
-}
-} // end llvm namespace
-
-#endif

Removed: cfe/trunk/include/clang/Checker/PathSensitive/SValBuilder.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Checker/PathSensitive/SValBuilder.h?rev=122419&view=auto
==============================================================================
--- cfe/trunk/include/clang/Checker/PathSensitive/SValBuilder.h (original)
+++ cfe/trunk/include/clang/Checker/PathSensitive/SValBuilder.h (removed)
@@ -1,246 +0,0 @@
-// SValBuilder.h - Construction of SVals from evaluating expressions -*- 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 SValBuilder, a class that defines the interface for
-//  "symbolical evaluators" which construct an SVal from an expression.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLVM_CLANG_ANALYSIS_SVALBUILDER
-#define LLVM_CLANG_ANALYSIS_SVALBUILDER
-
-#include "clang/AST/Expr.h"
-#include "clang/AST/ExprCXX.h"
-#include "clang/Checker/PathSensitive/SVals.h"
-#include "clang/Checker/PathSensitive/BasicValueFactory.h"
-#include "clang/Checker/PathSensitive/MemRegion.h"
-
-namespace clang {
-
-class GRState;
-
-class SValBuilder {
-protected:
-  ASTContext &Context;
-  
-  /// Manager of APSInt values.
-  BasicValueFactory BasicVals;
-
-  /// Manages the creation of symbols.
-  SymbolManager SymMgr;
-
-  /// Manages the creation of memory regions.
-  MemRegionManager MemMgr;
-
-  GRStateManager &StateMgr;
-
-  /// The scalar type to use for array indices.
-  const QualType ArrayIndexTy;
-  
-  /// The width of the scalar type used for array indices.
-  const unsigned ArrayIndexWidth;
-
-public:
-  // FIXME: Make these protected again one RegionStoreManager correctly
-  // handles loads from differening bound value types.
-  virtual SVal evalCastNL(NonLoc val, QualType castTy) = 0;
-  virtual SVal evalCastL(Loc val, QualType castTy) = 0;
-
-public:
-  SValBuilder(llvm::BumpPtrAllocator &alloc, ASTContext &context,
-              GRStateManager &stateMgr)
-    : Context(context), BasicVals(context, alloc),
-      SymMgr(context, BasicVals, alloc),
-      MemMgr(context, alloc),
-      StateMgr(stateMgr),
-      ArrayIndexTy(context.IntTy),
-      ArrayIndexWidth(context.getTypeSize(ArrayIndexTy)) {}
-
-  virtual ~SValBuilder() {}
-
-  SVal evalCast(SVal V, QualType castTy, QualType originalType);
-  
-  virtual SVal evalMinus(NonLoc val) = 0;
-
-  virtual SVal evalComplement(NonLoc val) = 0;
-
-  virtual SVal evalBinOpNN(const GRState *state, BinaryOperator::Opcode Op,
-                           NonLoc lhs, NonLoc rhs, QualType resultTy) = 0;
-
-  virtual SVal evalBinOpLL(const GRState *state, BinaryOperator::Opcode Op,
-                           Loc lhs, Loc rhs, QualType resultTy) = 0;
-
-  virtual SVal evalBinOpLN(const GRState *state, BinaryOperator::Opcode Op,
-                           Loc lhs, NonLoc rhs, QualType resultTy) = 0;
-
-  /// getKnownValue - evaluates a given SVal. If the SVal has only one possible
-  ///  (integer) value, that value is returned. Otherwise, returns NULL.
-  virtual const llvm::APSInt *getKnownValue(const GRState *state, SVal V) = 0;
-  
-  SVal evalBinOp(const GRState *ST, BinaryOperator::Opcode Op,
-                 SVal L, SVal R, QualType T);
-  
-  DefinedOrUnknownSVal evalEQ(const GRState *ST, DefinedOrUnknownSVal L,
-                              DefinedOrUnknownSVal R);
-
-  ASTContext &getContext() { return Context; }
-  const ASTContext &getContext() const { return Context; }
-
-  GRStateManager &getStateManager() { return StateMgr; }
-
-  BasicValueFactory &getBasicValueFactory() { return BasicVals; }
-  const BasicValueFactory &getBasicValueFactory() const { return BasicVals; }
-
-  SymbolManager &getSymbolManager() { return SymMgr; }
-  const SymbolManager &getSymbolManager() const { return SymMgr; }
-
-  MemRegionManager &getRegionManager() { return MemMgr; }
-  const MemRegionManager &getRegionManager() const { return MemMgr; }
-
-  // Forwarding methods to SymbolManager.
-
-  const SymbolConjured* getConjuredSymbol(const Stmt* E, QualType T,
-                                          unsigned VisitCount,
-                                          const void* SymbolTag = 0) {
-    return SymMgr.getConjuredSymbol(E, T, VisitCount, SymbolTag);
-  }
-
-  const SymbolConjured* getConjuredSymbol(const Expr* E, unsigned VisitCount,
-                                          const void* SymbolTag = 0) {
-    return SymMgr.getConjuredSymbol(E, VisitCount, SymbolTag);
-  }
-
-  /// makeZeroVal - Construct an SVal representing '0' for the specified type.
-  DefinedOrUnknownSVal makeZeroVal(QualType T);
-
-  /// getRegionValueSymbolVal - make a unique symbol for value of R.
-  DefinedOrUnknownSVal getRegionValueSymbolVal(const TypedRegion *R);
-
-  DefinedOrUnknownSVal getConjuredSymbolVal(const void *SymbolTag,
-                                            const Expr *E, unsigned Count);
-  DefinedOrUnknownSVal getConjuredSymbolVal(const void *SymbolTag,
-                                            const Expr *E, QualType T,
-                                            unsigned Count);
-
-  DefinedOrUnknownSVal getDerivedRegionValueSymbolVal(SymbolRef parentSymbol,
-                                                      const TypedRegion *R);
-
-  DefinedSVal getMetadataSymbolVal(const void *SymbolTag, const MemRegion *MR,
-                                   const Expr *E, QualType T, unsigned Count);
-
-  DefinedSVal getFunctionPointer(const FunctionDecl *FD);
-  
-  DefinedSVal getBlockPointer(const BlockDecl *BD, CanQualType locTy,
-                              const LocationContext *LC);
-
-  NonLoc makeCompoundVal(QualType T, llvm::ImmutableList<SVal> Vals) {
-    return nonloc::CompoundVal(BasicVals.getCompoundValData(T, Vals));
-  }
-
-  NonLoc makeLazyCompoundVal(const void *store, const TypedRegion *R) {
-    return nonloc::LazyCompoundVal(BasicVals.getLazyCompoundValData(store, R));
-  }
-
-  NonLoc makeZeroArrayIndex() {
-    return nonloc::ConcreteInt(BasicVals.getValue(0, ArrayIndexTy));
-  }
-
-  NonLoc makeArrayIndex(uint64_t idx) {
-    return nonloc::ConcreteInt(BasicVals.getValue(idx, ArrayIndexTy));
-  }
-
-  SVal convertToArrayIndex(SVal V);
-
-  nonloc::ConcreteInt makeIntVal(const IntegerLiteral* I) {
-    return nonloc::ConcreteInt(BasicVals.getValue(I->getValue(),
-                                        I->getType()->isUnsignedIntegerType()));
-  }
-
-  nonloc::ConcreteInt makeIntVal(const CXXBoolLiteralExpr *E) {
-    return E->getValue() ? nonloc::ConcreteInt(BasicVals.getValue(1, 1, true))
-                         : nonloc::ConcreteInt(BasicVals.getValue(0, 1, true));
-  }
-
-  nonloc::ConcreteInt makeIntVal(const llvm::APSInt& V) {
-    return nonloc::ConcreteInt(BasicVals.getValue(V));
-  }
-
-  loc::ConcreteInt makeIntLocVal(const llvm::APSInt &v) {
-    return loc::ConcreteInt(BasicVals.getValue(v));
-  }
-
-  NonLoc makeIntVal(const llvm::APInt& V, bool isUnsigned) {
-    return nonloc::ConcreteInt(BasicVals.getValue(V, isUnsigned));
-  }
-
-  DefinedSVal makeIntVal(uint64_t X, QualType T) {
-    if (Loc::IsLocType(T))
-      return loc::ConcreteInt(BasicVals.getValue(X, T));
-
-    return nonloc::ConcreteInt(BasicVals.getValue(X, T));
-  }
-
-  NonLoc makeIntVal(uint64_t X, bool isUnsigned) {
-    return nonloc::ConcreteInt(BasicVals.getIntValue(X, isUnsigned));
-  }
-
-  NonLoc makeIntValWithPtrWidth(uint64_t X, bool isUnsigned) {
-    return nonloc::ConcreteInt(BasicVals.getIntWithPtrWidth(X, isUnsigned));
-  }
-
-  NonLoc makeIntVal(uint64_t X, unsigned BitWidth, bool isUnsigned) {
-    return nonloc::ConcreteInt(BasicVals.getValue(X, BitWidth, isUnsigned));
-  }
-
-  NonLoc makeLocAsInteger(Loc V, unsigned Bits) {
-    return nonloc::LocAsInteger(BasicVals.getPersistentSValWithData(V, Bits));
-  }
-
-  NonLoc makeNonLoc(const SymExpr *lhs, BinaryOperator::Opcode op,
-                    const llvm::APSInt& rhs, QualType T);
-
-  NonLoc makeNonLoc(const SymExpr *lhs, BinaryOperator::Opcode op,
-                    const SymExpr *rhs, QualType T);
-
-  NonLoc makeTruthVal(bool b, QualType T) {
-    return nonloc::ConcreteInt(BasicVals.getTruthValue(b, T));
-  }
-
-  NonLoc makeTruthVal(bool b) {
-    return nonloc::ConcreteInt(BasicVals.getTruthValue(b));
-  }
-
-  Loc makeNull() {
-    return loc::ConcreteInt(BasicVals.getZeroWithPtrWidth());
-  }
-
-  Loc makeLoc(SymbolRef Sym) {
-    return loc::MemRegionVal(MemMgr.getSymbolicRegion(Sym));
-  }
-
-  Loc makeLoc(const MemRegion* R) {
-    return loc::MemRegionVal(R);
-  }
-
-  Loc makeLoc(const AddrLabelExpr* E) {
-    return loc::GotoLabel(E->getLabel());
-  }
-
-  Loc makeLoc(const llvm::APSInt& V) {
-    return loc::ConcreteInt(BasicVals.getValue(V));
-  }
-
-};
-
-SValBuilder* createSimpleSValBuilder(llvm::BumpPtrAllocator &alloc,
-                                     ASTContext &context,
-                                     GRStateManager &stateMgr);
-
-} // end clang namespace
-#endif

Removed: cfe/trunk/include/clang/Checker/PathSensitive/SVals.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Checker/PathSensitive/SVals.h?rev=122419&view=auto
==============================================================================
--- cfe/trunk/include/clang/Checker/PathSensitive/SVals.h (original)
+++ cfe/trunk/include/clang/Checker/PathSensitive/SVals.h (removed)
@@ -1,516 +0,0 @@
-//== SVals.h - Abstract Values for Static Analysis ---------*- 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 SVal, Loc, and NonLoc, classes that represent
-//  abstract r-values for use with path-sensitive value tracking.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLVM_CLANG_ANALYSIS_RVALUE_H
-#define LLVM_CLANG_ANALYSIS_RVALUE_H
-
-#include "clang/Checker/PathSensitive/SymbolManager.h"
-#include "llvm/Support/Casting.h"
-#include "llvm/ADT/ImmutableList.h"
-
-namespace llvm {
-  class raw_ostream;
-}
-
-//==------------------------------------------------------------------------==//
-//  Base SVal types.
-//==------------------------------------------------------------------------==//
-
-namespace clang {
-
-class CompoundValData;
-class LazyCompoundValData;
-class GRState;
-class BasicValueFactory;
-class MemRegion;
-class TypedRegion;
-class MemRegionManager;
-class GRStateManager;
-class SValBuilder;
-
-/// SVal - This represents a symbolic expression, which can be either
-///  an L-value or an R-value.
-///
-class SVal {
-public:
-  enum BaseKind {
-    // The enumerators must be representable using 2 bits.
-    UndefinedKind = 0,  // for subclass UndefinedVal (an uninitialized value)
-    UnknownKind = 1,    // for subclass UnknownVal (a void value)
-    LocKind = 2,        // for subclass Loc (an L-value)
-    NonLocKind = 3      // for subclass NonLoc (an R-value that's not
-                        //   an L-value)
-  };
-  enum { BaseBits = 2, BaseMask = 0x3 };
-
-protected:
-  const void* Data;
-
-  /// The lowest 2 bits are a BaseKind (0 -- 3).
-  ///  The higher bits are an unsigned "kind" value.
-  unsigned Kind;
-
-protected:
-  explicit SVal(const void* d, bool isLoc, unsigned ValKind)
-  : Data(d), Kind((isLoc ? LocKind : NonLocKind) | (ValKind << BaseBits)) {}
-
-  explicit SVal(BaseKind k, const void* D = NULL)
-    : Data(D), Kind(k) {}
-
-public:
-  explicit SVal() : Data(0), Kind(0) {}
-  ~SVal() {}
-
-  /// BufferTy - A temporary buffer to hold a set of SVals.
-  typedef llvm::SmallVector<SVal,5> BufferTy;
-
-  inline unsigned getRawKind() const { return Kind; }
-  inline BaseKind getBaseKind() const { return (BaseKind) (Kind & BaseMask); }
-  inline unsigned getSubKind() const { return (Kind & ~BaseMask) >> BaseBits; }
-
-  inline void Profile(llvm::FoldingSetNodeID& ID) const {
-    ID.AddInteger((unsigned) getRawKind());
-    ID.AddPointer(Data);
-  }
-
-  inline bool operator==(const SVal& R) const {
-    return getRawKind() == R.getRawKind() && Data == R.Data;
-  }
-
-  inline bool operator!=(const SVal& R) const {
-    return !(*this == R);
-  }
-
-  inline bool isUnknown() const {
-    return getRawKind() == UnknownKind;
-  }
-
-  inline bool isUndef() const {
-    return getRawKind() == UndefinedKind;
-  }
-
-  inline bool isUnknownOrUndef() const {
-    return getRawKind() <= UnknownKind;
-  }
-
-  inline bool isValid() const {
-    return getRawKind() > UnknownKind;
-  }
-
-  bool isConstant() const;
-
-  bool isConstant(int I) const;
-
-  bool isZeroConstant() const;
-
-  /// hasConjuredSymbol - If this SVal wraps a conjured symbol, return true;
-  bool hasConjuredSymbol() const;
-
-  /// getAsFunctionDecl - If this SVal is a MemRegionVal and wraps a
-  /// CodeTextRegion wrapping a FunctionDecl, return that FunctionDecl.
-  /// Otherwise return 0.
-  const FunctionDecl* getAsFunctionDecl() const;
-
-  /// getAsLocSymbol - If this SVal is a location (subclasses Loc) and
-  ///  wraps a symbol, return that SymbolRef.  Otherwise return NULL.
-  SymbolRef getAsLocSymbol() const;
-
-  /// Get the symbol in the SVal or its base region.
-  SymbolRef getLocSymbolInBase() const;
-
-  /// getAsSymbol - If this Sval wraps a symbol return that SymbolRef.
-  ///  Otherwise return a SymbolRef where 'isValid()' returns false.
-  SymbolRef getAsSymbol() const;
-
-  /// getAsSymbolicExpression - If this Sval wraps a symbolic expression then
-  ///  return that expression.  Otherwise return NULL.
-  const SymExpr *getAsSymbolicExpression() const;
-
-  const MemRegion *getAsRegion() const;
-
-  void dumpToStream(llvm::raw_ostream& OS) const;
-  void dump() const;
-
-  // Iterators.
-  class symbol_iterator {
-    llvm::SmallVector<const SymExpr*, 5> itr;
-    void expand();
-  public:
-    symbol_iterator() {}
-    symbol_iterator(const SymExpr* SE);
-
-    symbol_iterator& operator++();
-    SymbolRef operator*();
-
-    bool operator==(const symbol_iterator& X) const;
-    bool operator!=(const symbol_iterator& X) const;
-  };
-
-  symbol_iterator symbol_begin() const {
-    const SymExpr *SE = getAsSymbolicExpression();
-    if (SE)
-      return symbol_iterator(SE);
-    else
-      return symbol_iterator();
-  }
-
-  symbol_iterator symbol_end() const { return symbol_iterator(); }
-
-  // Implement isa<T> support.
-  static inline bool classof(const SVal*) { return true; }
-};
-
-
-class UndefinedVal : public SVal {
-public:
-  UndefinedVal() : SVal(UndefinedKind) {}
-  UndefinedVal(const void* D) : SVal(UndefinedKind, D) {}
-
-  static inline bool classof(const SVal* V) {
-    return V->getBaseKind() == UndefinedKind;
-  }
-
-  const void* getData() const { return Data; }
-};
-
-class DefinedOrUnknownSVal : public SVal {
-private:
-  // Do not implement.  We want calling these methods to be a compiler
-  // error since they are tautologically false.
-  bool isUndef() const;
-  bool isValid() const;
-  
-protected:
-  explicit DefinedOrUnknownSVal(const void* d, bool isLoc, unsigned ValKind)
-    : SVal(d, isLoc, ValKind) {}
-  
-  explicit DefinedOrUnknownSVal(BaseKind k, void *D = NULL)
-    : SVal(k, D) {}
-  
-public:
-    // Implement isa<T> support.
-  static inline bool classof(const SVal *V) {
-    return !V->isUndef();
-  }
-};
-  
-class UnknownVal : public DefinedOrUnknownSVal {
-public:
-  explicit UnknownVal() : DefinedOrUnknownSVal(UnknownKind) {}
-  
-  static inline bool classof(const SVal *V) {
-    return V->getBaseKind() == UnknownKind;
-  }
-};
-
-class DefinedSVal : public DefinedOrUnknownSVal {
-private:
-  // Do not implement.  We want calling these methods to be a compiler
-  // error since they are tautologically true/false.
-  bool isUnknown() const;
-  bool isUnknownOrUndef() const;
-  bool isValid() const;  
-protected:
-  explicit DefinedSVal(const void* d, bool isLoc, unsigned ValKind)
-    : DefinedOrUnknownSVal(d, isLoc, ValKind) {}
-public:
-  // Implement isa<T> support.
-  static inline bool classof(const SVal *V) {
-    return !V->isUnknownOrUndef();
-  }
-};
-
-class NonLoc : public DefinedSVal {
-protected:
-  explicit NonLoc(unsigned SubKind, const void* d)
-    : DefinedSVal(d, false, SubKind) {}
-
-public:
-  void dumpToStream(llvm::raw_ostream& Out) const;
-
-  // Implement isa<T> support.
-  static inline bool classof(const SVal* V) {
-    return V->getBaseKind() == NonLocKind;
-  }
-};
-
-class Loc : public DefinedSVal {
-protected:
-  explicit Loc(unsigned SubKind, const void* D)
-  : DefinedSVal(const_cast<void*>(D), true, SubKind) {}
-
-public:
-  void dumpToStream(llvm::raw_ostream& Out) const;
-
-  Loc(const Loc& X) : DefinedSVal(X.Data, true, X.getSubKind()) {}
-
-  // Implement isa<T> support.
-  static inline bool classof(const SVal* V) {
-    return V->getBaseKind() == LocKind;
-  }
-
-  static inline bool IsLocType(QualType T) {
-    return T->isAnyPointerType() || T->isBlockPointerType() || 
-           T->isReferenceType();
-  }
-};
-
-//==------------------------------------------------------------------------==//
-//  Subclasses of NonLoc.
-//==------------------------------------------------------------------------==//
-
-namespace nonloc {
-
-enum Kind { ConcreteIntKind, SymbolValKind, SymExprValKind,
-            LocAsIntegerKind, CompoundValKind, LazyCompoundValKind };
-
-class SymbolVal : public NonLoc {
-public:
-  SymbolVal(SymbolRef sym) : NonLoc(SymbolValKind, sym) {}
-
-  SymbolRef getSymbol() const {
-    return (const SymbolData*) Data;
-  }
-
-  static inline bool classof(const SVal* V) {
-    return V->getBaseKind() == NonLocKind &&
-           V->getSubKind() == SymbolValKind;
-  }
-
-  static inline bool classof(const NonLoc* V) {
-    return V->getSubKind() == SymbolValKind;
-  }
-};
-
-class SymExprVal : public NonLoc {
-public:
-  explicit SymExprVal(const SymExpr *SE)
-    : NonLoc(SymExprValKind, reinterpret_cast<const void*>(SE)) {}
-
-  const SymExpr *getSymbolicExpression() const {
-    return reinterpret_cast<const SymExpr*>(Data);
-  }
-
-  static inline bool classof(const SVal* V) {
-    return V->getBaseKind() == NonLocKind &&
-           V->getSubKind() == SymExprValKind;
-  }
-
-  static inline bool classof(const NonLoc* V) {
-    return V->getSubKind() == SymExprValKind;
-  }
-};
-
-class ConcreteInt : public NonLoc {
-public:
-  explicit ConcreteInt(const llvm::APSInt& V) : NonLoc(ConcreteIntKind, &V) {}
-
-  const llvm::APSInt& getValue() const {
-    return *static_cast<const llvm::APSInt*>(Data);
-  }
-
-  // Transfer functions for binary/unary operations on ConcreteInts.
-  SVal evalBinOp(SValBuilder &svalBuilder, BinaryOperator::Opcode Op,
-                 const ConcreteInt& R) const;
-
-  ConcreteInt evalComplement(SValBuilder &svalBuilder) const;
-
-  ConcreteInt evalMinus(SValBuilder &svalBuilder) const;
-
-  // Implement isa<T> support.
-  static inline bool classof(const SVal* V) {
-    return V->getBaseKind() == NonLocKind &&
-           V->getSubKind() == ConcreteIntKind;
-  }
-
-  static inline bool classof(const NonLoc* V) {
-    return V->getSubKind() == ConcreteIntKind;
-  }
-};
-
-class LocAsInteger : public NonLoc {
-  friend class clang::SValBuilder;
-
-  explicit LocAsInteger(const std::pair<SVal, uintptr_t>& data) :
-    NonLoc(LocAsIntegerKind, &data) {
-      assert (isa<Loc>(data.first));
-    }
-
-public:
-
-  Loc getLoc() const {
-    return cast<Loc>(((std::pair<SVal, uintptr_t>*) Data)->first);
-  }
-
-  const Loc& getPersistentLoc() const {
-    const SVal& V = ((std::pair<SVal, uintptr_t>*) Data)->first;
-    return cast<Loc>(V);
-  }
-
-  unsigned getNumBits() const {
-    return ((std::pair<SVal, unsigned>*) Data)->second;
-  }
-
-  // Implement isa<T> support.
-  static inline bool classof(const SVal* V) {
-    return V->getBaseKind() == NonLocKind &&
-           V->getSubKind() == LocAsIntegerKind;
-  }
-
-  static inline bool classof(const NonLoc* V) {
-    return V->getSubKind() == LocAsIntegerKind;
-  }
-};
-
-class CompoundVal : public NonLoc {
-  friend class clang::SValBuilder;
-
-  explicit CompoundVal(const CompoundValData* D) : NonLoc(CompoundValKind, D) {}
-
-public:
-  const CompoundValData* getValue() const {
-    return static_cast<const CompoundValData*>(Data);
-  }
-
-  typedef llvm::ImmutableList<SVal>::iterator iterator;
-  iterator begin() const;
-  iterator end() const;
-
-  static bool classof(const SVal* V) {
-    return V->getBaseKind() == NonLocKind && V->getSubKind() == CompoundValKind;
-  }
-
-  static bool classof(const NonLoc* V) {
-    return V->getSubKind() == CompoundValKind;
-  }
-};
-
-class LazyCompoundVal : public NonLoc {
-  friend class clang::SValBuilder;
-
-  explicit LazyCompoundVal(const LazyCompoundValData *D)
-    : NonLoc(LazyCompoundValKind, D) {}
-public:
-  const LazyCompoundValData *getCVData() const {
-    return static_cast<const LazyCompoundValData*>(Data);
-  }
-  const void *getStore() const;
-  const TypedRegion *getRegion() const;
-
-  static bool classof(const SVal *V) {
-    return V->getBaseKind() == NonLocKind &&
-           V->getSubKind() == LazyCompoundValKind;
-  }
-  static bool classof(const NonLoc *V) {
-    return V->getSubKind() == LazyCompoundValKind;
-  }
-};
-
-} // end namespace clang::nonloc
-
-//==------------------------------------------------------------------------==//
-//  Subclasses of Loc.
-//==------------------------------------------------------------------------==//
-
-namespace loc {
-
-enum Kind { GotoLabelKind, MemRegionKind, ConcreteIntKind };
-
-class GotoLabel : public Loc {
-public:
-  explicit GotoLabel(LabelStmt* Label) : Loc(GotoLabelKind, Label) {}
-
-  const LabelStmt* getLabel() const {
-    return static_cast<const LabelStmt*>(Data);
-  }
-
-  static inline bool classof(const SVal* V) {
-    return V->getBaseKind() == LocKind &&
-           V->getSubKind() == GotoLabelKind;
-  }
-
-  static inline bool classof(const Loc* V) {
-    return V->getSubKind() == GotoLabelKind;
-  }
-};
-
-
-class MemRegionVal : public Loc {
-public:
-  explicit MemRegionVal(const MemRegion* r) : Loc(MemRegionKind, r) {}
-
-  const MemRegion* getRegion() const {
-    return static_cast<const MemRegion*>(Data);
-  }
-
-  const MemRegion* StripCasts() const;
-
-  template <typename REGION>
-  const REGION* getRegionAs() const {
-    return llvm::dyn_cast<REGION>(getRegion());
-  }
-
-  inline bool operator==(const MemRegionVal& R) const {
-    return getRegion() == R.getRegion();
-  }
-
-  inline bool operator!=(const MemRegionVal& R) const {
-    return getRegion() != R.getRegion();
-  }
-
-  // Implement isa<T> support.
-  static inline bool classof(const SVal* V) {
-    return V->getBaseKind() == LocKind &&
-           V->getSubKind() == MemRegionKind;
-  }
-
-  static inline bool classof(const Loc* V) {
-    return V->getSubKind() == MemRegionKind;
-  }
-};
-
-class ConcreteInt : public Loc {
-public:
-  explicit ConcreteInt(const llvm::APSInt& V) : Loc(ConcreteIntKind, &V) {}
-
-  const llvm::APSInt& getValue() const {
-    return *static_cast<const llvm::APSInt*>(Data);
-  }
-
-  // Transfer functions for binary/unary operations on ConcreteInts.
-  SVal evalBinOp(BasicValueFactory& BasicVals, BinaryOperator::Opcode Op,
-                 const ConcreteInt& R) const;
-
-  // Implement isa<T> support.
-  static inline bool classof(const SVal* V) {
-    return V->getBaseKind() == LocKind &&
-           V->getSubKind() == ConcreteIntKind;
-  }
-
-  static inline bool classof(const Loc* V) {
-    return V->getSubKind() == ConcreteIntKind;
-  }
-};
-
-} // end clang::loc namespace
-} // end clang namespace
-
-namespace llvm {
-static inline llvm::raw_ostream& operator<<(llvm::raw_ostream& os,
-                                            clang::SVal V) {
-  V.dumpToStream(os);
-  return os;
-}
-} // end llvm namespace
-#endif

Removed: cfe/trunk/include/clang/Checker/PathSensitive/Store.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Checker/PathSensitive/Store.h?rev=122419&view=auto
==============================================================================
--- cfe/trunk/include/clang/Checker/PathSensitive/Store.h (original)
+++ cfe/trunk/include/clang/Checker/PathSensitive/Store.h (removed)
@@ -1,253 +0,0 @@
-//== Store.h - Interface for maps from Locations to Values ------*- C++ -*--==//
-//
-//                     The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-//
-//  This file defined the types Store and StoreManager.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLVM_CLANG_ANALYSIS_STORE_H
-#define LLVM_CLANG_ANALYSIS_STORE_H
-
-#include "clang/Checker/PathSensitive/MemRegion.h"
-#include "clang/Checker/PathSensitive/SValBuilder.h"
-#include "llvm/ADT/DenseSet.h"
-#include "llvm/ADT/Optional.h"
-
-namespace clang {
-
-/// Store - This opaque type encapsulates an immutable mapping from
-///  locations to values.  At a high-level, it represents the symbolic
-///  memory model.  Different subclasses of StoreManager may choose
-///  different types to represent the locations and values.
-typedef const void* Store;
-
-class GRState;
-class GRStateManager;
-class Stmt;
-class Expr;
-class ObjCIvarDecl;
-class SubRegionMap;
-class StackFrameContext;
-
-class StoreManager {
-protected:
-  SValBuilder &svalBuilder;
-  GRStateManager &StateMgr;
-
-  /// MRMgr - Manages region objects associated with this StoreManager.
-  MemRegionManager &MRMgr;
-  ASTContext &Ctx;
-
-  StoreManager(GRStateManager &stateMgr);
-
-public:
-  virtual ~StoreManager() {}
-
-  /// Return the value bound to specified location in a given state.
-  /// \param[in] state The analysis state.
-  /// \param[in] loc The symbolic memory location.
-  /// \param[in] T An optional type that provides a hint indicating the
-  ///   expected type of the returned value.  This is used if the value is
-  ///   lazily computed.
-  /// \return The value bound to the location \c loc.
-  virtual SVal Retrieve(Store store, Loc loc, QualType T = QualType()) = 0;
-
-  /// Return a state with the specified value bound to the given location.
-  /// \param[in] state The analysis state.
-  /// \param[in] loc The symbolic memory location.
-  /// \param[in] val The value to bind to location \c loc.
-  /// \return A pointer to a GRState object that contains the same bindings as
-  ///   \c state with the addition of having the value specified by \c val bound
-  ///   to the location given for \c loc.
-  virtual Store Bind(Store store, Loc loc, SVal val) = 0;
-
-  virtual Store BindDefault(Store store, const MemRegion *R, SVal V) {
-    return store;
-  }
-
-  virtual Store Remove(Store St, Loc L) = 0;
-
-  /// BindCompoundLiteral - Return the store that has the bindings currently
-  ///  in 'store' plus the bindings for the CompoundLiteral.  'R' is the region
-  ///  for the compound literal and 'BegInit' and 'EndInit' represent an
-  ///  array of initializer values.
-  virtual Store BindCompoundLiteral(Store store,
-                                    const CompoundLiteralExpr* cl,
-                                    const LocationContext *LC, SVal v) = 0;
-
-  /// getInitialStore - Returns the initial "empty" store representing the
-  ///  value bindings upon entry to an analyzed function.
-  virtual Store getInitialStore(const LocationContext *InitLoc) = 0;
-
-  /// getRegionManager - Returns the internal RegionManager object that is
-  ///  used to query and manipulate MemRegion objects.
-  MemRegionManager& getRegionManager() { return MRMgr; }
-
-  /// getSubRegionMap - Returns an opaque map object that clients can query
-  ///  to get the subregions of a given MemRegion object.  It is the
-  //   caller's responsibility to 'delete' the returned map.
-  virtual SubRegionMap *getSubRegionMap(Store store) = 0;
-
-  virtual Loc getLValueVar(const VarDecl *VD, const LocationContext *LC) {
-    return svalBuilder.makeLoc(MRMgr.getVarRegion(VD, LC));
-  }
-
-  virtual Loc getLValueString(const StringLiteral* S) {
-    return svalBuilder.makeLoc(MRMgr.getStringRegion(S));
-  }
-
-  Loc getLValueCompoundLiteral(const CompoundLiteralExpr* CL,
-                               const LocationContext *LC) {
-    return loc::MemRegionVal(MRMgr.getCompoundLiteralRegion(CL, LC));
-  }
-
-  virtual SVal getLValueIvar(const ObjCIvarDecl* decl, SVal base) {
-    return getLValueFieldOrIvar(decl, base);
-  }
-
-  virtual SVal getLValueField(const FieldDecl* D, SVal Base) {
-    return getLValueFieldOrIvar(D, Base);
-  }
-
-  virtual SVal getLValueElement(QualType elementType, NonLoc offset, SVal Base);
-
-  // FIXME: This should soon be eliminated altogether; clients should deal with
-  // region extents directly.
-  virtual DefinedOrUnknownSVal getSizeInElements(const GRState *state, 
-                                                 const MemRegion *region,
-                                                 QualType EleTy) {
-    return UnknownVal();
-  }
-
-  /// ArrayToPointer - Used by GRExprEngine::VistCast to handle implicit
-  ///  conversions between arrays and pointers.
-  virtual SVal ArrayToPointer(Loc Array) = 0;
-
-  /// Evaluates DerivedToBase casts.
-  virtual SVal evalDerivedToBase(SVal derived, QualType basePtrType) {
-    return UnknownVal();
-  }
-
-  class CastResult {
-    const GRState *state;
-    const MemRegion *region;
-  public:
-    const GRState *getState() const { return state; }
-    const MemRegion* getRegion() const { return region; }
-    CastResult(const GRState *s, const MemRegion* r = 0) : state(s), region(r){}
-  };
-
-  const ElementRegion *GetElementZeroRegion(const MemRegion *R, QualType T);
-
-  /// CastRegion - Used by GRExprEngine::VisitCast to handle casts from
-  ///  a MemRegion* to a specific location type.  'R' is the region being
-  ///  casted and 'CastToTy' the result type of the cast.
-  const MemRegion *CastRegion(const MemRegion *region, QualType CastToTy);
-
-
-  /// evalBinOp - Perform pointer arithmetic.
-  virtual SVal evalBinOp(BinaryOperator::Opcode Op,
-                         Loc lhs, NonLoc rhs, QualType resultTy) {
-    return UnknownVal();
-  }
-
-  virtual Store RemoveDeadBindings(Store store, const StackFrameContext *LCtx,
-                                   SymbolReaper& SymReaper,
-                      llvm::SmallVectorImpl<const MemRegion*>& RegionRoots) = 0;
-
-  virtual Store BindDecl(Store store, const VarRegion *VR, SVal initVal) = 0;
-
-  virtual Store BindDeclWithNoInit(Store store, const VarRegion *VR) = 0;
-
-  typedef llvm::DenseSet<SymbolRef> InvalidatedSymbols;
-  typedef llvm::SmallVector<const MemRegion *, 8> InvalidatedRegions;
-
-  /// InvalidateRegions - Clears out the specified regions from the store,
-  ///  marking their values as unknown. Depending on the store, this may also
-  ///  invalidate additional regions that may have changed based on accessing
-  ///  the given regions. Optionally, invalidates non-static globals as well.
-  /// \param[in] store The initial store
-  /// \param[in] Begin A pointer to the first region to invalidate.
-  /// \param[in] End A pointer just past the last region to invalidate.
-  /// \param[in] E The current statement being evaluated. Used to conjure
-  ///   symbols to mark the values of invalidated regions.
-  /// \param[in] Count The current block count. Used to conjure
-  ///   symbols to mark the values of invalidated regions.
-  /// \param[in,out] IS A set to fill with any symbols that are no longer
-  ///   accessible. Pass \c NULL if this information will not be used.
-  /// \param[in] invalidateGlobals If \c true, any non-static global regions
-  ///   are invalidated as well.
-  /// \param[in,out] Regions A vector to fill with any regions being
-  ///   invalidated. This should include any regions explicitly invalidated
-  ///   even if they do not currently have bindings. Pass \c NULL if this
-  ///   information will not be used.
-  virtual Store InvalidateRegions(Store store,
-                                  const MemRegion * const *Begin,
-                                  const MemRegion * const *End,
-                                  const Expr *E, unsigned Count,
-                                  InvalidatedSymbols *IS,
-                                  bool invalidateGlobals,
-                                  InvalidatedRegions *Regions) = 0;
-
-  /// EnterStackFrame - Let the StoreManager to do something when execution
-  /// engine is about to execute into a callee.
-  virtual Store EnterStackFrame(const GRState *state,
-                                const StackFrameContext *frame);
-
-  virtual void print(Store store, llvm::raw_ostream& Out,
-                     const char* nl, const char *sep) = 0;
-
-  class BindingsHandler {
-  public:
-    virtual ~BindingsHandler();
-    virtual bool HandleBinding(StoreManager& SMgr, Store store,
-                               const MemRegion *region, SVal val) = 0;
-  };
-
-  /// iterBindings - Iterate over the bindings in the Store.
-  virtual void iterBindings(Store store, BindingsHandler& f) = 0;
-
-protected:
-  const MemRegion *MakeElementRegion(const MemRegion *baseRegion,
-                                     QualType pointeeTy, uint64_t index = 0);
-
-  /// CastRetrievedVal - Used by subclasses of StoreManager to implement
-  ///  implicit casts that arise from loads from regions that are reinterpreted
-  ///  as another region.
-  SVal CastRetrievedVal(SVal val, const TypedRegion *region, QualType castTy,
-                        bool performTestOnly = true);
-
-private:
-  SVal getLValueFieldOrIvar(const Decl* decl, SVal base);
-};
-
-// FIXME: Do we still need this?
-/// SubRegionMap - An abstract interface that represents a queryable map
-///  between MemRegion objects and their subregions.
-class SubRegionMap {
-public:
-  virtual ~SubRegionMap() {}
-
-  class Visitor {
-  public:
-    virtual ~Visitor() {}
-    virtual bool Visit(const MemRegion* Parent, const MemRegion* SubRegion) = 0;
-  };
-
-  virtual bool iterSubRegions(const MemRegion *region, Visitor& V) const = 0;
-};
-
-// FIXME: Do we need to pass GRStateManager anymore?
-StoreManager *CreateBasicStoreManager(GRStateManager& StMgr);
-StoreManager *CreateRegionStoreManager(GRStateManager& StMgr);
-StoreManager *CreateFieldsOnlyRegionStoreManager(GRStateManager& StMgr);
-StoreManager *CreateFlatStoreManager(GRStateManager &StMgr);
-} // end clang namespace
-
-#endif

Removed: cfe/trunk/include/clang/Checker/PathSensitive/SummaryManager.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Checker/PathSensitive/SummaryManager.h?rev=122419&view=auto
==============================================================================
--- cfe/trunk/include/clang/Checker/PathSensitive/SummaryManager.h (original)
+++ cfe/trunk/include/clang/Checker/PathSensitive/SummaryManager.h (removed)
@@ -1,57 +0,0 @@
-//== SummaryManager.h - Generic handling of function summaries --*- 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 SummaryManager and related classes, which provides
-//  a generic mechanism for managing function summaries.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLVM_CLANG_CHECKER_SUMMARY
-#define LLVM_CLANG_CHECKER_SUMMARY
-
-#include "llvm/ADT/FoldingSet.h"
-#include "llvm/Support/Allocator.h"
-
-namespace clang {
-
-namespace summMgr {
-
-  
-/* Key kinds:
- 
- - C functions
- - C++ functions (name + parameter types)
- - ObjC methods:
-   - Class, selector (class method)
-   - Class, selector (instance method)
-   - Category, selector (instance method)
-   - Protocol, selector (instance method)
- - C++ methods
-  - Class, function name + parameter types + const
- */
-  
-class SummaryKey {
-  
-};
-
-} // end namespace clang::summMgr
-  
-class SummaryManagerImpl {
-  
-};
-
-  
-template <typename T>
-class SummaryManager : SummaryManagerImpl {
-  
-};
-
-} // end clang namespace
-
-#endif

Removed: cfe/trunk/include/clang/Checker/PathSensitive/SymbolManager.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Checker/PathSensitive/SymbolManager.h?rev=122419&view=auto
==============================================================================
--- cfe/trunk/include/clang/Checker/PathSensitive/SymbolManager.h (original)
+++ cfe/trunk/include/clang/Checker/PathSensitive/SymbolManager.h (removed)
@@ -1,485 +0,0 @@
-//== SymbolManager.h - Management of Symbolic Values ------------*- 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 SymbolManager, a class that manages symbolic values
-//  created for use by GRExprEngine and related classes.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLVM_CLANG_ANALYSIS_SYMMGR_H
-#define LLVM_CLANG_ANALYSIS_SYMMGR_H
-
-#include "clang/AST/Decl.h"
-#include "clang/AST/Expr.h"
-#include "clang/Analysis/AnalysisContext.h"
-#include "llvm/Support/DataTypes.h"
-#include "llvm/ADT/FoldingSet.h"
-#include "llvm/ADT/DenseSet.h"
-
-namespace llvm {
-class BumpPtrAllocator;
-class raw_ostream;
-}
-
-namespace clang {
-  class ASTContext;
-  class BasicValueFactory;
-  class MemRegion;
-  class SubRegion;
-  class TypedRegion;
-  class VarRegion;
-  class StackFrameContext;
-
-class SymExpr : public llvm::FoldingSetNode {
-public:
-  enum Kind { BEGIN_SYMBOLS,
-              RegionValueKind, ConjuredKind, DerivedKind, ExtentKind,
-              MetadataKind,
-              END_SYMBOLS,
-              SymIntKind, SymSymKind };
-private:
-  Kind K;
-
-protected:
-  SymExpr(Kind k) : K(k) {}
-
-public:
-  virtual ~SymExpr() {}
-
-  Kind getKind() const { return K; }
-
-  void dump() const;
-
-  virtual void dumpToStream(llvm::raw_ostream &os) const = 0;
-
-  virtual QualType getType(ASTContext&) const = 0;
-  virtual void Profile(llvm::FoldingSetNodeID& profile) = 0;
-
-  // Implement isa<T> support.
-  static inline bool classof(const SymExpr*) { return true; }
-};
-
-typedef unsigned SymbolID;
-
-class SymbolData : public SymExpr {
-private:
-  const SymbolID Sym;
-
-protected:
-  SymbolData(Kind k, SymbolID sym) : SymExpr(k), Sym(sym) {}
-
-public:
-  virtual ~SymbolData() {}
-
-  SymbolID getSymbolID() const { return Sym; }
-
-  // Implement isa<T> support.
-  static inline bool classof(const SymExpr* SE) {
-    Kind k = SE->getKind();
-    return k > BEGIN_SYMBOLS && k < END_SYMBOLS;
-  }
-};
-
-typedef const SymbolData* SymbolRef;
-
-// A symbol representing the value of a MemRegion.
-class SymbolRegionValue : public SymbolData {
-  const TypedRegion *R;
-
-public:
-  SymbolRegionValue(SymbolID sym, const TypedRegion *r)
-    : SymbolData(RegionValueKind, sym), R(r) {}
-
-  const TypedRegion* getRegion() const { return R; }
-
-  static void Profile(llvm::FoldingSetNodeID& profile, const TypedRegion* R) {
-    profile.AddInteger((unsigned) RegionValueKind);
-    profile.AddPointer(R);
-  }
-
-  virtual void Profile(llvm::FoldingSetNodeID& profile) {
-    Profile(profile, R);
-  }
-
-  void dumpToStream(llvm::raw_ostream &os) const;
-
-  QualType getType(ASTContext&) const;
-
-  // Implement isa<T> support.
-  static inline bool classof(const SymExpr* SE) {
-    return SE->getKind() == RegionValueKind;
-  }
-};
-
-// A symbol representing the result of an expression.
-class SymbolConjured : public SymbolData {
-  const Stmt* S;
-  QualType T;
-  unsigned Count;
-  const void* SymbolTag;
-
-public:
-  SymbolConjured(SymbolID sym, const Stmt* s, QualType t, unsigned count,
-                 const void* symbolTag)
-    : SymbolData(ConjuredKind, sym), S(s), T(t), Count(count),
-      SymbolTag(symbolTag) {}
-
-  const Stmt* getStmt() const { return S; }
-  unsigned getCount() const { return Count; }
-  const void* getTag() const { return SymbolTag; }
-
-  QualType getType(ASTContext&) const;
-
-  void dumpToStream(llvm::raw_ostream &os) const;
-
-  static void Profile(llvm::FoldingSetNodeID& profile, const Stmt* S,
-                      QualType T, unsigned Count, const void* SymbolTag) {
-    profile.AddInteger((unsigned) ConjuredKind);
-    profile.AddPointer(S);
-    profile.Add(T);
-    profile.AddInteger(Count);
-    profile.AddPointer(SymbolTag);
-  }
-
-  virtual void Profile(llvm::FoldingSetNodeID& profile) {
-    Profile(profile, S, T, Count, SymbolTag);
-  }
-
-  // Implement isa<T> support.
-  static inline bool classof(const SymExpr* SE) {
-    return SE->getKind() == ConjuredKind;
-  }
-};
-
-// A symbol representing the value of a MemRegion whose parent region has 
-// symbolic value.
-class SymbolDerived : public SymbolData {
-  SymbolRef parentSymbol;
-  const TypedRegion *R;
-
-public:
-  SymbolDerived(SymbolID sym, SymbolRef parent, const TypedRegion *r)
-    : SymbolData(DerivedKind, sym), parentSymbol(parent), R(r) {}
-
-  SymbolRef getParentSymbol() const { return parentSymbol; }
-  const TypedRegion *getRegion() const { return R; }
-
-  QualType getType(ASTContext&) const;
-
-  void dumpToStream(llvm::raw_ostream &os) const;
-
-  static void Profile(llvm::FoldingSetNodeID& profile, SymbolRef parent,
-                      const TypedRegion *r) {
-    profile.AddInteger((unsigned) DerivedKind);
-    profile.AddPointer(r);
-    profile.AddPointer(parent);
-  }
-
-  virtual void Profile(llvm::FoldingSetNodeID& profile) {
-    Profile(profile, parentSymbol, R);
-  }
-
-  // Implement isa<T> support.
-  static inline bool classof(const SymExpr* SE) {
-    return SE->getKind() == DerivedKind;
-  }
-};
-
-/// SymbolExtent - Represents the extent (size in bytes) of a bounded region.
-///  Clients should not ask the SymbolManager for a region's extent. Always use
-///  SubRegion::getExtent instead -- the value returned may not be a symbol.
-class SymbolExtent : public SymbolData {
-  const SubRegion *R;
-  
-public:
-  SymbolExtent(SymbolID sym, const SubRegion *r)
-  : SymbolData(ExtentKind, sym), R(r) {}
-
-  const SubRegion *getRegion() const { return R; }
-
-  QualType getType(ASTContext&) const;
-
-  void dumpToStream(llvm::raw_ostream &os) const;
-
-  static void Profile(llvm::FoldingSetNodeID& profile, const SubRegion *R) {
-    profile.AddInteger((unsigned) ExtentKind);
-    profile.AddPointer(R);
-  }
-
-  virtual void Profile(llvm::FoldingSetNodeID& profile) {
-    Profile(profile, R);
-  }
-
-  // Implement isa<T> support.
-  static inline bool classof(const SymExpr* SE) {
-    return SE->getKind() == ExtentKind;
-  }
-};
-
-/// SymbolMetadata - Represents path-dependent metadata about a specific region.
-///  Metadata symbols remain live as long as they are marked as in use before
-///  dead-symbol sweeping AND their associated regions are still alive.
-///  Intended for use by checkers.
-class SymbolMetadata : public SymbolData {
-  const MemRegion* R;
-  const Stmt* S;
-  QualType T;
-  unsigned Count;
-  const void* Tag;
-public:
-  SymbolMetadata(SymbolID sym, const MemRegion* r, const Stmt* s, QualType t,
-                 unsigned count, const void* tag)
-  : SymbolData(MetadataKind, sym), R(r), S(s), T(t), Count(count), Tag(tag) {}
-
-  const MemRegion *getRegion() const { return R; }
-  const Stmt* getStmt() const { return S; }
-  unsigned getCount() const { return Count; }
-  const void* getTag() const { return Tag; }
-
-  QualType getType(ASTContext&) const;
-
-  void dumpToStream(llvm::raw_ostream &os) const;
-
-  static void Profile(llvm::FoldingSetNodeID& profile, const MemRegion *R,
-                      const Stmt *S, QualType T, unsigned Count,
-                      const void *Tag) {
-    profile.AddInteger((unsigned) MetadataKind);
-    profile.AddPointer(R);
-    profile.AddPointer(S);
-    profile.Add(T);
-    profile.AddInteger(Count);
-    profile.AddPointer(Tag);
-  }
-
-  virtual void Profile(llvm::FoldingSetNodeID& profile) {
-    Profile(profile, R, S, T, Count, Tag);
-  }
-
-  // Implement isa<T> support.
-  static inline bool classof(const SymExpr* SE) {
-    return SE->getKind() == MetadataKind;
-  }
-};
-
-// SymIntExpr - Represents symbolic expression like 'x' + 3.
-class SymIntExpr : public SymExpr {
-  const SymExpr *LHS;
-  BinaryOperator::Opcode Op;
-  const llvm::APSInt& RHS;
-  QualType T;
-
-public:
-  SymIntExpr(const SymExpr *lhs, BinaryOperator::Opcode op,
-             const llvm::APSInt& rhs, QualType t)
-    : SymExpr(SymIntKind), LHS(lhs), Op(op), RHS(rhs), T(t) {}
-
-  // FIXME: We probably need to make this out-of-line to avoid redundant
-  // generation of virtual functions.
-  QualType getType(ASTContext& C) const { return T; }
-
-  BinaryOperator::Opcode getOpcode() const { return Op; }
-
-  void dumpToStream(llvm::raw_ostream &os) const;
-
-  const SymExpr *getLHS() const { return LHS; }
-  const llvm::APSInt &getRHS() const { return RHS; }
-
-  static void Profile(llvm::FoldingSetNodeID& ID, const SymExpr *lhs,
-                      BinaryOperator::Opcode op, const llvm::APSInt& rhs,
-                      QualType t) {
-    ID.AddInteger((unsigned) SymIntKind);
-    ID.AddPointer(lhs);
-    ID.AddInteger(op);
-    ID.AddPointer(&rhs);
-    ID.Add(t);
-  }
-
-  void Profile(llvm::FoldingSetNodeID& ID) {
-    Profile(ID, LHS, Op, RHS, T);
-  }
-
-  // Implement isa<T> support.
-  static inline bool classof(const SymExpr* SE) {
-    return SE->getKind() == SymIntKind;
-  }
-};
-
-// SymSymExpr - Represents symbolic expression like 'x' + 'y'.
-class SymSymExpr : public SymExpr {
-  const SymExpr *LHS;
-  BinaryOperator::Opcode Op;
-  const SymExpr *RHS;
-  QualType T;
-
-public:
-  SymSymExpr(const SymExpr *lhs, BinaryOperator::Opcode op, const SymExpr *rhs,
-             QualType t)
-    : SymExpr(SymSymKind), LHS(lhs), Op(op), RHS(rhs), T(t) {}
-
-  BinaryOperator::Opcode getOpcode() const { return Op; }
-  const SymExpr *getLHS() const { return LHS; }
-  const SymExpr *getRHS() const { return RHS; }
-
-  // FIXME: We probably need to make this out-of-line to avoid redundant
-  // generation of virtual functions.
-  QualType getType(ASTContext& C) const { return T; }
-
-  void dumpToStream(llvm::raw_ostream &os) const;
-
-  static void Profile(llvm::FoldingSetNodeID& ID, const SymExpr *lhs,
-                    BinaryOperator::Opcode op, const SymExpr *rhs, QualType t) {
-    ID.AddInteger((unsigned) SymSymKind);
-    ID.AddPointer(lhs);
-    ID.AddInteger(op);
-    ID.AddPointer(rhs);
-    ID.Add(t);
-  }
-
-  void Profile(llvm::FoldingSetNodeID& ID) {
-    Profile(ID, LHS, Op, RHS, T);
-  }
-
-  // Implement isa<T> support.
-  static inline bool classof(const SymExpr* SE) {
-    return SE->getKind() == SymSymKind;
-  }
-};
-
-class SymbolManager {
-  typedef llvm::FoldingSet<SymExpr> DataSetTy;
-  DataSetTy DataSet;
-  unsigned SymbolCounter;
-  llvm::BumpPtrAllocator& BPAlloc;
-  BasicValueFactory &BV;
-  ASTContext& Ctx;
-
-public:
-  SymbolManager(ASTContext& ctx, BasicValueFactory &bv,
-                llvm::BumpPtrAllocator& bpalloc)
-    : SymbolCounter(0), BPAlloc(bpalloc), BV(bv), Ctx(ctx) {}
-
-  ~SymbolManager();
-
-  static bool canSymbolicate(QualType T);
-
-  /// Make a unique symbol for MemRegion R according to its kind.
-  const SymbolRegionValue* getRegionValueSymbol(const TypedRegion* R);
-
-  const SymbolConjured* getConjuredSymbol(const Stmt* E, QualType T,
-                                          unsigned VisitCount,
-                                          const void* SymbolTag = 0);
-
-  const SymbolConjured* getConjuredSymbol(const Expr* E, unsigned VisitCount,
-                                          const void* SymbolTag = 0) {
-    return getConjuredSymbol(E, E->getType(), VisitCount, SymbolTag);
-  }
-
-  const SymbolDerived *getDerivedSymbol(SymbolRef parentSymbol,
-                                        const TypedRegion *R);
-
-  const SymbolExtent *getExtentSymbol(const SubRegion *R);
-
-  const SymbolMetadata* getMetadataSymbol(const MemRegion* R, const Stmt* S,
-                                          QualType T, unsigned VisitCount,
-                                          const void* SymbolTag = 0);
-
-  const SymIntExpr *getSymIntExpr(const SymExpr *lhs, BinaryOperator::Opcode op,
-                                  const llvm::APSInt& rhs, QualType t);
-
-  const SymIntExpr *getSymIntExpr(const SymExpr &lhs, BinaryOperator::Opcode op,
-                                  const llvm::APSInt& rhs, QualType t) {
-    return getSymIntExpr(&lhs, op, rhs, t);
-  }
-
-  const SymSymExpr *getSymSymExpr(const SymExpr *lhs, BinaryOperator::Opcode op,
-                                  const SymExpr *rhs, QualType t);
-
-  QualType getType(const SymExpr *SE) const {
-    return SE->getType(Ctx);
-  }
-
-  ASTContext &getContext() { return Ctx; }
-  BasicValueFactory &getBasicVals() { return BV; }
-};
-
-class SymbolReaper {
-  typedef llvm::DenseSet<SymbolRef> SetTy;
-
-  SetTy TheLiving;
-  SetTy MetadataInUse;
-  SetTy TheDead;
-  const LocationContext *LCtx;
-  const Stmt *Loc;
-  SymbolManager& SymMgr;
-
-public:
-  SymbolReaper(const LocationContext *ctx, const Stmt *s, SymbolManager& symmgr)
-   : LCtx(ctx), Loc(s), SymMgr(symmgr) {}
-
-  ~SymbolReaper() {}
-
-  const LocationContext *getLocationContext() const { return LCtx; }
-  const Stmt *getCurrentStatement() const { return Loc; }
-
-  bool isLive(SymbolRef sym);
-  bool isLive(const Stmt *ExprVal) const;
-  bool isLive(const VarRegion *VR) const;
-
-  // markLive - Unconditionally marks a symbol as live. This should never be
-  //  used by checkers, only by the state infrastructure such as the store and
-  //  environment. Checkers should instead use metadata symbols and markInUse.
-  void markLive(SymbolRef sym);
-
-  // markInUse - Marks a symbol as important to a checker. For metadata symbols,
-  //  this will keep the symbol alive as long as its associated region is also
-  //  live. For other symbols, this has no effect; checkers are not permitted
-  //  to influence the life of other symbols. This should be used before any
-  //  symbol marking has occurred, i.e. in the MarkLiveSymbols callback.
-  void markInUse(SymbolRef sym);
-
-  // maybeDead - If a symbol is known to be live, marks the symbol as live.
-  //  Otherwise, if the symbol cannot be proven live, it is marked as dead.
-  //  Returns true if the symbol is dead, false if live.
-  bool maybeDead(SymbolRef sym);
-
-  typedef SetTy::const_iterator dead_iterator;
-  dead_iterator dead_begin() const { return TheDead.begin(); }
-  dead_iterator dead_end() const { return TheDead.end(); }
-
-  bool hasDeadSymbols() const {
-    return !TheDead.empty();
-  }
-
-  /// isDead - Returns whether or not a symbol has been confirmed dead. This
-  ///  should only be called once all marking of dead symbols has completed.
-  ///  (For checkers, this means only in the evalDeadSymbols callback.)
-  bool isDead(SymbolRef sym) const {
-    return TheDead.count(sym);
-  }
-};
-
-class SymbolVisitor {
-public:
-  // VisitSymbol - A visitor method invoked by
-  //  GRStateManager::scanReachableSymbols.  The method returns \c true if
-  //  symbols should continue be scanned and \c false otherwise.
-  virtual bool VisitSymbol(SymbolRef sym) = 0;
-  virtual ~SymbolVisitor();
-};
-
-} // end clang namespace
-
-namespace llvm {
-static inline llvm::raw_ostream& operator<<(llvm::raw_ostream& os,
-                                            const clang::SymExpr *SE) {
-  SE->dumpToStream(os);
-  return os;
-}
-} // end llvm namespace
-#endif

Copied: cfe/trunk/include/clang/GR/AnalysisConsumer.h (from r122418, cfe/trunk/include/clang/Checker/AnalysisConsumer.h)
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/GR/AnalysisConsumer.h?p2=cfe/trunk/include/clang/GR/AnalysisConsumer.h&p1=cfe/trunk/include/clang/Checker/AnalysisConsumer.h&r1=122418&r2=122420&rev=122420&view=diff
==============================================================================
    (empty)

Copied: cfe/trunk/include/clang/GR/BugReporter/BugReporter.h (from r122418, cfe/trunk/include/clang/Checker/BugReporter/BugReporter.h)
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/GR/BugReporter/BugReporter.h?p2=cfe/trunk/include/clang/GR/BugReporter/BugReporter.h&p1=cfe/trunk/include/clang/Checker/BugReporter/BugReporter.h&r1=122418&r2=122420&rev=122420&view=diff
==============================================================================
--- cfe/trunk/include/clang/Checker/BugReporter/BugReporter.h (original)
+++ cfe/trunk/include/clang/GR/BugReporter/BugReporter.h Wed Dec 22 12:51:49 2010
@@ -16,7 +16,7 @@
 #define LLVM_CLANG_ANALYSIS_BUGREPORTER
 
 #include "clang/Basic/SourceLocation.h"
-#include "clang/Checker/PathSensitive/GRState.h"
+#include "clang/GR/PathSensitive/GRState.h"
 #include "llvm/ADT/FoldingSet.h"
 #include "llvm/ADT/ImmutableList.h"
 #include "llvm/ADT/ImmutableSet.h"

Copied: cfe/trunk/include/clang/GR/BugReporter/BugType.h (from r122418, cfe/trunk/include/clang/Checker/BugReporter/BugType.h)
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/GR/BugReporter/BugType.h?p2=cfe/trunk/include/clang/GR/BugReporter/BugType.h&p1=cfe/trunk/include/clang/Checker/BugReporter/BugType.h&r1=122418&r2=122420&rev=122420&view=diff
==============================================================================
--- cfe/trunk/include/clang/Checker/BugReporter/BugType.h (original)
+++ cfe/trunk/include/clang/GR/BugReporter/BugType.h Wed Dec 22 12:51:49 2010
@@ -14,7 +14,7 @@
 #ifndef LLVM_CLANG_ANALYSIS_BUGTYPE
 #define LLVM_CLANG_ANALYSIS_BUGTYPE
 
-#include "clang/Checker/BugReporter/BugReporter.h"
+#include "clang/GR/BugReporter/BugReporter.h"
 #include "llvm/ADT/FoldingSet.h"
 #include <string>
 

Copied: cfe/trunk/include/clang/GR/BugReporter/PathDiagnostic.h (from r122418, cfe/trunk/include/clang/Checker/BugReporter/PathDiagnostic.h)
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/GR/BugReporter/PathDiagnostic.h?p2=cfe/trunk/include/clang/GR/BugReporter/PathDiagnostic.h&p1=cfe/trunk/include/clang/Checker/BugReporter/PathDiagnostic.h&r1=122418&r2=122420&rev=122420&view=diff
==============================================================================
    (empty)

Copied: cfe/trunk/include/clang/GR/Checkers/DereferenceChecker.h (from r122418, cfe/trunk/include/clang/Checker/Checkers/DereferenceChecker.h)
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/GR/Checkers/DereferenceChecker.h?p2=cfe/trunk/include/clang/GR/Checkers/DereferenceChecker.h&p1=cfe/trunk/include/clang/Checker/Checkers/DereferenceChecker.h&r1=122418&r2=122420&rev=122420&view=diff
==============================================================================
    (empty)

Copied: cfe/trunk/include/clang/GR/Checkers/LocalCheckers.h (from r122418, cfe/trunk/include/clang/Checker/Checkers/LocalCheckers.h)
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/GR/Checkers/LocalCheckers.h?p2=cfe/trunk/include/clang/GR/Checkers/LocalCheckers.h&p1=cfe/trunk/include/clang/Checker/Checkers/LocalCheckers.h&r1=122418&r2=122420&rev=122420&view=diff
==============================================================================
    (empty)

Copied: cfe/trunk/include/clang/GR/FrontendActions.h (from r122418, cfe/trunk/include/clang/Checker/FrontendActions.h)
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/GR/FrontendActions.h?p2=cfe/trunk/include/clang/GR/FrontendActions.h&p1=cfe/trunk/include/clang/Checker/FrontendActions.h&r1=122418&r2=122420&rev=122420&view=diff
==============================================================================
    (empty)

Copied: cfe/trunk/include/clang/GR/ManagerRegistry.h (from r122418, cfe/trunk/include/clang/Checker/ManagerRegistry.h)
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/GR/ManagerRegistry.h?p2=cfe/trunk/include/clang/GR/ManagerRegistry.h&p1=cfe/trunk/include/clang/Checker/ManagerRegistry.h&r1=122418&r2=122420&rev=122420&view=diff
==============================================================================
--- cfe/trunk/include/clang/Checker/ManagerRegistry.h (original)
+++ cfe/trunk/include/clang/GR/ManagerRegistry.h Wed Dec 22 12:51:49 2010
@@ -14,7 +14,7 @@
 #ifndef LLVM_CLANG_ANALYSIS_MANAGER_REGISTRY_H
 #define LLVM_CLANG_ANALYSIS_MANAGER_REGISTRY_H
 
-#include "clang/Checker/PathSensitive/GRState.h"
+#include "clang/GR/PathSensitive/GRState.h"
 
 namespace clang {
 

Copied: cfe/trunk/include/clang/GR/PathDiagnosticClients.h (from r122418, cfe/trunk/include/clang/Checker/PathDiagnosticClients.h)
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/GR/PathDiagnosticClients.h?p2=cfe/trunk/include/clang/GR/PathDiagnosticClients.h&p1=cfe/trunk/include/clang/Checker/PathDiagnosticClients.h&r1=122418&r2=122420&rev=122420&view=diff
==============================================================================
    (empty)

Copied: cfe/trunk/include/clang/GR/PathSensitive/AnalysisManager.h (from r122418, cfe/trunk/include/clang/Checker/PathSensitive/AnalysisManager.h)
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/GR/PathSensitive/AnalysisManager.h?p2=cfe/trunk/include/clang/GR/PathSensitive/AnalysisManager.h&p1=cfe/trunk/include/clang/Checker/PathSensitive/AnalysisManager.h&r1=122418&r2=122420&rev=122420&view=diff
==============================================================================
--- cfe/trunk/include/clang/Checker/PathSensitive/AnalysisManager.h (original)
+++ cfe/trunk/include/clang/GR/PathSensitive/AnalysisManager.h Wed Dec 22 12:51:49 2010
@@ -16,8 +16,8 @@
 #define LLVM_CLANG_ANALYSIS_ANALYSISMANAGER_H
 
 #include "clang/Analysis/AnalysisContext.h"
-#include "clang/Checker/BugReporter/BugReporter.h"
-#include "clang/Checker/BugReporter/PathDiagnostic.h"
+#include "clang/GR/BugReporter/BugReporter.h"
+#include "clang/GR/BugReporter/PathDiagnostic.h"
 
 namespace clang {
 

Copied: cfe/trunk/include/clang/GR/PathSensitive/BasicValueFactory.h (from r122418, cfe/trunk/include/clang/Checker/PathSensitive/BasicValueFactory.h)
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/GR/PathSensitive/BasicValueFactory.h?p2=cfe/trunk/include/clang/GR/PathSensitive/BasicValueFactory.h&p1=cfe/trunk/include/clang/Checker/PathSensitive/BasicValueFactory.h&r1=122418&r2=122420&rev=122420&view=diff
==============================================================================
--- cfe/trunk/include/clang/Checker/PathSensitive/BasicValueFactory.h (original)
+++ cfe/trunk/include/clang/GR/PathSensitive/BasicValueFactory.h Wed Dec 22 12:51:49 2010
@@ -16,7 +16,7 @@
 #ifndef LLVM_CLANG_ANALYSIS_BASICVALUEFACTORY_H
 #define LLVM_CLANG_ANALYSIS_BASICVALUEFACTORY_H
 
-#include "clang/Checker/PathSensitive/SVals.h"
+#include "clang/GR/PathSensitive/SVals.h"
 #include "clang/AST/ASTContext.h"
 #include "llvm/ADT/FoldingSet.h"
 #include "llvm/ADT/APSInt.h"

Copied: cfe/trunk/include/clang/GR/PathSensitive/Checker.h (from r122418, cfe/trunk/include/clang/Checker/PathSensitive/Checker.h)
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/GR/PathSensitive/Checker.h?p2=cfe/trunk/include/clang/GR/PathSensitive/Checker.h&p1=cfe/trunk/include/clang/Checker/PathSensitive/Checker.h&r1=122418&r2=122420&rev=122420&view=diff
==============================================================================
--- cfe/trunk/include/clang/Checker/PathSensitive/Checker.h (original)
+++ cfe/trunk/include/clang/GR/PathSensitive/Checker.h Wed Dec 22 12:51:49 2010
@@ -16,7 +16,7 @@
 #define LLVM_CLANG_ANALYSIS_CHECKER
 
 #include "clang/Analysis/Support/SaveAndRestore.h"
-#include "clang/Checker/PathSensitive/GRExprEngine.h"
+#include "clang/GR/PathSensitive/GRExprEngine.h"
 
 //===----------------------------------------------------------------------===//
 // Checker interface.

Copied: cfe/trunk/include/clang/GR/PathSensitive/CheckerHelpers.h (from r122418, cfe/trunk/include/clang/Checker/PathSensitive/CheckerHelpers.h)
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/GR/PathSensitive/CheckerHelpers.h?p2=cfe/trunk/include/clang/GR/PathSensitive/CheckerHelpers.h&p1=cfe/trunk/include/clang/Checker/PathSensitive/CheckerHelpers.h&r1=122418&r2=122420&rev=122420&view=diff
==============================================================================
    (empty)

Copied: cfe/trunk/include/clang/GR/PathSensitive/CheckerVisitor.def (from r122418, cfe/trunk/include/clang/Checker/PathSensitive/CheckerVisitor.def)
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/GR/PathSensitive/CheckerVisitor.def?p2=cfe/trunk/include/clang/GR/PathSensitive/CheckerVisitor.def&p1=cfe/trunk/include/clang/Checker/PathSensitive/CheckerVisitor.def&r1=122418&r2=122420&rev=122420&view=diff
==============================================================================
    (empty)

Copied: cfe/trunk/include/clang/GR/PathSensitive/CheckerVisitor.h (from r122418, cfe/trunk/include/clang/Checker/PathSensitive/CheckerVisitor.h)
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/GR/PathSensitive/CheckerVisitor.h?p2=cfe/trunk/include/clang/GR/PathSensitive/CheckerVisitor.h&p1=cfe/trunk/include/clang/Checker/PathSensitive/CheckerVisitor.h&r1=122418&r2=122420&rev=122420&view=diff
==============================================================================
--- cfe/trunk/include/clang/Checker/PathSensitive/CheckerVisitor.h (original)
+++ cfe/trunk/include/clang/GR/PathSensitive/CheckerVisitor.h Wed Dec 22 12:51:49 2010
@@ -13,7 +13,7 @@
 
 #ifndef LLVM_CLANG_ANALYSIS_CHECKERVISITOR
 #define LLVM_CLANG_ANALYSIS_CHECKERVISITOR
-#include "clang/Checker/PathSensitive/Checker.h"
+#include "clang/GR/PathSensitive/Checker.h"
 
 namespace clang {
 
@@ -49,7 +49,7 @@
 case Stmt::NAME ## Class:\
 static_cast<ImplClass*>(this)->PreVisit ## NAME(C,static_cast<const NAME*>(S));\
 break;
-#include "clang/Checker/PathSensitive/CheckerVisitor.def"
+#include "clang/GR/PathSensitive/CheckerVisitor.def"
     }
   }
   
@@ -68,7 +68,7 @@
 static_cast<ImplClass*>(this)->\
 PostVisit ## NAME(C,static_cast<const NAME*>(S));\
 break;
-#include "clang/Checker/PathSensitive/CheckerVisitor.def"
+#include "clang/GR/PathSensitive/CheckerVisitor.def"
     }
   }
 
@@ -99,7 +99,7 @@
 void PostVisit ## NAME(CheckerContext &C, const NAME* S) {\
   static_cast<ImplClass*>(this)->PostVisit ## FALLBACK(C, S);\
 }
-#include "clang/Checker/PathSensitive/CheckerVisitor.def"
+#include "clang/GR/PathSensitive/CheckerVisitor.def"
 };
 
 } // end clang namespace

Copied: cfe/trunk/include/clang/GR/PathSensitive/ConstraintManager.h (from r122418, cfe/trunk/include/clang/Checker/PathSensitive/ConstraintManager.h)
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/GR/PathSensitive/ConstraintManager.h?p2=cfe/trunk/include/clang/GR/PathSensitive/ConstraintManager.h&p1=cfe/trunk/include/clang/Checker/PathSensitive/ConstraintManager.h&r1=122418&r2=122420&rev=122420&view=diff
==============================================================================
--- cfe/trunk/include/clang/Checker/PathSensitive/ConstraintManager.h (original)
+++ cfe/trunk/include/clang/GR/PathSensitive/ConstraintManager.h Wed Dec 22 12:51:49 2010
@@ -15,7 +15,7 @@
 #define LLVM_CLANG_ANALYSIS_CONSTRAINT_MANAGER_H
 
 // FIXME: Typedef LiveSymbolsTy/DeadSymbolsTy at a more appropriate place.
-#include "clang/Checker/PathSensitive/Store.h"
+#include "clang/GR/PathSensitive/Store.h"
 
 namespace llvm {
 class APSInt;

Copied: cfe/trunk/include/clang/GR/PathSensitive/Environment.h (from r122418, cfe/trunk/include/clang/Checker/PathSensitive/Environment.h)
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/GR/PathSensitive/Environment.h?p2=cfe/trunk/include/clang/GR/PathSensitive/Environment.h&p1=cfe/trunk/include/clang/Checker/PathSensitive/Environment.h&r1=122418&r2=122420&rev=122420&view=diff
==============================================================================
--- cfe/trunk/include/clang/Checker/PathSensitive/Environment.h (original)
+++ cfe/trunk/include/clang/GR/PathSensitive/Environment.h Wed Dec 22 12:51:49 2010
@@ -14,8 +14,8 @@
 #ifndef LLVM_CLANG_ANALYSIS_ENVIRONMENT_H
 #define LLVM_CLANG_ANALYSIS_ENVIRONMENT_H
 
-#include "clang/Checker/PathSensitive/Store.h"
-#include "clang/Checker/PathSensitive/SVals.h"
+#include "clang/GR/PathSensitive/Store.h"
+#include "clang/GR/PathSensitive/SVals.h"
 #include "llvm/ADT/ImmutableMap.h"
 
 namespace clang {

Copied: cfe/trunk/include/clang/GR/PathSensitive/ExplodedGraph.h (from r122418, cfe/trunk/include/clang/Checker/PathSensitive/ExplodedGraph.h)
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/GR/PathSensitive/ExplodedGraph.h?p2=cfe/trunk/include/clang/GR/PathSensitive/ExplodedGraph.h&p1=cfe/trunk/include/clang/Checker/PathSensitive/ExplodedGraph.h&r1=122418&r2=122420&rev=122420&view=diff
==============================================================================
    (empty)

Copied: cfe/trunk/include/clang/GR/PathSensitive/GRBlockCounter.h (from r122418, cfe/trunk/include/clang/Checker/PathSensitive/GRBlockCounter.h)
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/GR/PathSensitive/GRBlockCounter.h?p2=cfe/trunk/include/clang/GR/PathSensitive/GRBlockCounter.h&p1=cfe/trunk/include/clang/Checker/PathSensitive/GRBlockCounter.h&r1=122418&r2=122420&rev=122420&view=diff
==============================================================================
    (empty)

Copied: cfe/trunk/include/clang/GR/PathSensitive/GRCoreEngine.h (from r122418, cfe/trunk/include/clang/Checker/PathSensitive/GRCoreEngine.h)
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/GR/PathSensitive/GRCoreEngine.h?p2=cfe/trunk/include/clang/GR/PathSensitive/GRCoreEngine.h&p1=cfe/trunk/include/clang/Checker/PathSensitive/GRCoreEngine.h&r1=122418&r2=122420&rev=122420&view=diff
==============================================================================
--- cfe/trunk/include/clang/Checker/PathSensitive/GRCoreEngine.h (original)
+++ cfe/trunk/include/clang/GR/PathSensitive/GRCoreEngine.h Wed Dec 22 12:51:49 2010
@@ -16,10 +16,10 @@
 #define LLVM_CLANG_ANALYSIS_GRENGINE
 
 #include "clang/AST/Expr.h"
-#include "clang/Checker/PathSensitive/ExplodedGraph.h"
-#include "clang/Checker/PathSensitive/GRWorkList.h"
-#include "clang/Checker/PathSensitive/GRBlockCounter.h"
-#include "clang/Checker/PathSensitive/GRSubEngine.h"
+#include "clang/GR/PathSensitive/ExplodedGraph.h"
+#include "clang/GR/PathSensitive/GRWorkList.h"
+#include "clang/GR/PathSensitive/GRBlockCounter.h"
+#include "clang/GR/PathSensitive/GRSubEngine.h"
 #include "llvm/ADT/OwningPtr.h"
 
 namespace clang {

Copied: cfe/trunk/include/clang/GR/PathSensitive/GRExprEngine.h (from r122418, cfe/trunk/include/clang/Checker/PathSensitive/GRExprEngine.h)
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/GR/PathSensitive/GRExprEngine.h?p2=cfe/trunk/include/clang/GR/PathSensitive/GRExprEngine.h&p1=cfe/trunk/include/clang/Checker/PathSensitive/GRExprEngine.h&r1=122418&r2=122420&rev=122420&view=diff
==============================================================================
--- cfe/trunk/include/clang/Checker/PathSensitive/GRExprEngine.h (original)
+++ cfe/trunk/include/clang/GR/PathSensitive/GRExprEngine.h Wed Dec 22 12:51:49 2010
@@ -16,12 +16,12 @@
 #ifndef LLVM_CLANG_ANALYSIS_GREXPRENGINE
 #define LLVM_CLANG_ANALYSIS_GREXPRENGINE
 
-#include "clang/Checker/PathSensitive/AnalysisManager.h"
-#include "clang/Checker/PathSensitive/GRSubEngine.h"
-#include "clang/Checker/PathSensitive/GRCoreEngine.h"
-#include "clang/Checker/PathSensitive/GRState.h"
-#include "clang/Checker/PathSensitive/GRTransferFuncs.h"
-#include "clang/Checker/BugReporter/BugReporter.h"
+#include "clang/GR/PathSensitive/AnalysisManager.h"
+#include "clang/GR/PathSensitive/GRSubEngine.h"
+#include "clang/GR/PathSensitive/GRCoreEngine.h"
+#include "clang/GR/PathSensitive/GRState.h"
+#include "clang/GR/PathSensitive/GRTransferFuncs.h"
+#include "clang/GR/BugReporter/BugReporter.h"
 #include "clang/AST/Type.h"
 #include "clang/AST/ExprObjC.h"
 #include "clang/AST/ExprCXX.h"

Copied: cfe/trunk/include/clang/GR/PathSensitive/GRExprEngineBuilders.h (from r122418, cfe/trunk/include/clang/Checker/PathSensitive/GRExprEngineBuilders.h)
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/GR/PathSensitive/GRExprEngineBuilders.h?p2=cfe/trunk/include/clang/GR/PathSensitive/GRExprEngineBuilders.h&p1=cfe/trunk/include/clang/Checker/PathSensitive/GRExprEngineBuilders.h&r1=122418&r2=122420&rev=122420&view=diff
==============================================================================
--- cfe/trunk/include/clang/Checker/PathSensitive/GRExprEngineBuilders.h (original)
+++ cfe/trunk/include/clang/GR/PathSensitive/GRExprEngineBuilders.h Wed Dec 22 12:51:49 2010
@@ -14,7 +14,7 @@
 
 #ifndef LLVM_CLANG_ANALYSIS_GREXPRENGINE_BUILDERS
 #define LLVM_CLANG_ANALYSIS_GREXPRENGINE_BUILDERS
-#include "clang/Checker/PathSensitive/GRExprEngine.h"
+#include "clang/GR/PathSensitive/GRExprEngine.h"
 #include "clang/Analysis/Support/SaveAndRestore.h"
 
 namespace clang {

Copied: cfe/trunk/include/clang/GR/PathSensitive/GRState.h (from r122418, cfe/trunk/include/clang/Checker/PathSensitive/GRState.h)
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/GR/PathSensitive/GRState.h?p2=cfe/trunk/include/clang/GR/PathSensitive/GRState.h&p1=cfe/trunk/include/clang/Checker/PathSensitive/GRState.h&r1=122418&r2=122420&rev=122420&view=diff
==============================================================================
--- cfe/trunk/include/clang/Checker/PathSensitive/GRState.h (original)
+++ cfe/trunk/include/clang/GR/PathSensitive/GRState.h Wed Dec 22 12:51:49 2010
@@ -14,10 +14,10 @@
 #ifndef LLVM_CLANG_ANALYSIS_VALUESTATE_H
 #define LLVM_CLANG_ANALYSIS_VALUESTATE_H
 
-#include "clang/Checker/PathSensitive/ConstraintManager.h"
-#include "clang/Checker/PathSensitive/Environment.h"
-#include "clang/Checker/PathSensitive/Store.h"
-#include "clang/Checker/PathSensitive/SValBuilder.h"
+#include "clang/GR/PathSensitive/ConstraintManager.h"
+#include "clang/GR/PathSensitive/Environment.h"
+#include "clang/GR/PathSensitive/Store.h"
+#include "clang/GR/PathSensitive/SValBuilder.h"
 #include "llvm/ADT/FoldingSet.h"
 #include "llvm/ADT/ImmutableMap.h"
 #include "llvm/Support/Casting.h"

Copied: cfe/trunk/include/clang/GR/PathSensitive/GRStateTrait.h (from r122418, cfe/trunk/include/clang/Checker/PathSensitive/GRStateTrait.h)
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/GR/PathSensitive/GRStateTrait.h?p2=cfe/trunk/include/clang/GR/PathSensitive/GRStateTrait.h&p1=cfe/trunk/include/clang/Checker/PathSensitive/GRStateTrait.h&r1=122418&r2=122420&rev=122420&view=diff
==============================================================================
    (empty)

Copied: cfe/trunk/include/clang/GR/PathSensitive/GRSubEngine.h (from r122418, cfe/trunk/include/clang/Checker/PathSensitive/GRSubEngine.h)
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/GR/PathSensitive/GRSubEngine.h?p2=cfe/trunk/include/clang/GR/PathSensitive/GRSubEngine.h&p1=cfe/trunk/include/clang/Checker/PathSensitive/GRSubEngine.h&r1=122418&r2=122420&rev=122420&view=diff
==============================================================================
--- cfe/trunk/include/clang/Checker/PathSensitive/GRSubEngine.h (original)
+++ cfe/trunk/include/clang/GR/PathSensitive/GRSubEngine.h Wed Dec 22 12:51:49 2010
@@ -13,7 +13,7 @@
 #ifndef LLVM_CLANG_ANALYSIS_GRSUBENGINE_H
 #define LLVM_CLANG_ANALYSIS_GRSUBENGINE_H
 
-#include "clang/Checker/PathSensitive/SVals.h"
+#include "clang/GR/PathSensitive/SVals.h"
 
 namespace clang {
 

Copied: cfe/trunk/include/clang/GR/PathSensitive/GRTransferFuncs.h (from r122418, cfe/trunk/include/clang/Checker/PathSensitive/GRTransferFuncs.h)
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/GR/PathSensitive/GRTransferFuncs.h?p2=cfe/trunk/include/clang/GR/PathSensitive/GRTransferFuncs.h&p1=cfe/trunk/include/clang/Checker/PathSensitive/GRTransferFuncs.h&r1=122418&r2=122420&rev=122420&view=diff
==============================================================================
--- cfe/trunk/include/clang/Checker/PathSensitive/GRTransferFuncs.h (original)
+++ cfe/trunk/include/clang/GR/PathSensitive/GRTransferFuncs.h Wed Dec 22 12:51:49 2010
@@ -15,8 +15,8 @@
 #ifndef LLVM_CLANG_ANALYSIS_GRTF
 #define LLVM_CLANG_ANALYSIS_GRTF
 
-#include "clang/Checker/PathSensitive/GRState.h"
-#include "clang/Checker/PathSensitive/SVals.h"
+#include "clang/GR/PathSensitive/GRState.h"
+#include "clang/GR/PathSensitive/SVals.h"
 #include <vector>
 
 namespace clang {

Copied: cfe/trunk/include/clang/GR/PathSensitive/GRWorkList.h (from r122418, cfe/trunk/include/clang/Checker/PathSensitive/GRWorkList.h)
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/GR/PathSensitive/GRWorkList.h?p2=cfe/trunk/include/clang/GR/PathSensitive/GRWorkList.h&p1=cfe/trunk/include/clang/Checker/PathSensitive/GRWorkList.h&r1=122418&r2=122420&rev=122420&view=diff
==============================================================================
--- cfe/trunk/include/clang/Checker/PathSensitive/GRWorkList.h (original)
+++ cfe/trunk/include/clang/GR/PathSensitive/GRWorkList.h Wed Dec 22 12:51:49 2010
@@ -15,7 +15,7 @@
 #ifndef LLVM_CLANG_ANALYSIS_GRWORKLIST
 #define LLVM_CLANG_ANALYSIS_GRWORKLIST
 
-#include "clang/Checker/PathSensitive/GRBlockCounter.h"
+#include "clang/GR/PathSensitive/GRBlockCounter.h"
 #include <cstddef>
 
 namespace clang {

Copied: cfe/trunk/include/clang/GR/PathSensitive/MemRegion.h (from r122418, cfe/trunk/include/clang/Checker/PathSensitive/MemRegion.h)
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/GR/PathSensitive/MemRegion.h?p2=cfe/trunk/include/clang/GR/PathSensitive/MemRegion.h&p1=cfe/trunk/include/clang/Checker/PathSensitive/MemRegion.h&r1=122418&r2=122420&rev=122420&view=diff
==============================================================================
--- cfe/trunk/include/clang/Checker/PathSensitive/MemRegion.h (original)
+++ cfe/trunk/include/clang/GR/PathSensitive/MemRegion.h Wed Dec 22 12:51:49 2010
@@ -18,7 +18,7 @@
 
 #include "clang/AST/Decl.h"
 #include "clang/AST/DeclObjC.h"
-#include "clang/Checker/PathSensitive/SVals.h"
+#include "clang/GR/PathSensitive/SVals.h"
 #include "llvm/Support/Casting.h"
 #include "llvm/Support/ErrorHandling.h"
 #include "llvm/ADT/FoldingSet.h"

Copied: cfe/trunk/include/clang/GR/PathSensitive/SValBuilder.h (from r122418, cfe/trunk/include/clang/Checker/PathSensitive/SValBuilder.h)
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/GR/PathSensitive/SValBuilder.h?p2=cfe/trunk/include/clang/GR/PathSensitive/SValBuilder.h&p1=cfe/trunk/include/clang/Checker/PathSensitive/SValBuilder.h&r1=122418&r2=122420&rev=122420&view=diff
==============================================================================
--- cfe/trunk/include/clang/Checker/PathSensitive/SValBuilder.h (original)
+++ cfe/trunk/include/clang/GR/PathSensitive/SValBuilder.h Wed Dec 22 12:51:49 2010
@@ -17,9 +17,9 @@
 
 #include "clang/AST/Expr.h"
 #include "clang/AST/ExprCXX.h"
-#include "clang/Checker/PathSensitive/SVals.h"
-#include "clang/Checker/PathSensitive/BasicValueFactory.h"
-#include "clang/Checker/PathSensitive/MemRegion.h"
+#include "clang/GR/PathSensitive/SVals.h"
+#include "clang/GR/PathSensitive/BasicValueFactory.h"
+#include "clang/GR/PathSensitive/MemRegion.h"
 
 namespace clang {
 

Copied: cfe/trunk/include/clang/GR/PathSensitive/SVals.h (from r122418, cfe/trunk/include/clang/Checker/PathSensitive/SVals.h)
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/GR/PathSensitive/SVals.h?p2=cfe/trunk/include/clang/GR/PathSensitive/SVals.h&p1=cfe/trunk/include/clang/Checker/PathSensitive/SVals.h&r1=122418&r2=122420&rev=122420&view=diff
==============================================================================
--- cfe/trunk/include/clang/Checker/PathSensitive/SVals.h (original)
+++ cfe/trunk/include/clang/GR/PathSensitive/SVals.h Wed Dec 22 12:51:49 2010
@@ -15,7 +15,7 @@
 #ifndef LLVM_CLANG_ANALYSIS_RVALUE_H
 #define LLVM_CLANG_ANALYSIS_RVALUE_H
 
-#include "clang/Checker/PathSensitive/SymbolManager.h"
+#include "clang/GR/PathSensitive/SymbolManager.h"
 #include "llvm/Support/Casting.h"
 #include "llvm/ADT/ImmutableList.h"
 

Copied: cfe/trunk/include/clang/GR/PathSensitive/Store.h (from r122418, cfe/trunk/include/clang/Checker/PathSensitive/Store.h)
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/GR/PathSensitive/Store.h?p2=cfe/trunk/include/clang/GR/PathSensitive/Store.h&p1=cfe/trunk/include/clang/Checker/PathSensitive/Store.h&r1=122418&r2=122420&rev=122420&view=diff
==============================================================================
--- cfe/trunk/include/clang/Checker/PathSensitive/Store.h (original)
+++ cfe/trunk/include/clang/GR/PathSensitive/Store.h Wed Dec 22 12:51:49 2010
@@ -14,8 +14,8 @@
 #ifndef LLVM_CLANG_ANALYSIS_STORE_H
 #define LLVM_CLANG_ANALYSIS_STORE_H
 
-#include "clang/Checker/PathSensitive/MemRegion.h"
-#include "clang/Checker/PathSensitive/SValBuilder.h"
+#include "clang/GR/PathSensitive/MemRegion.h"
+#include "clang/GR/PathSensitive/SValBuilder.h"
 #include "llvm/ADT/DenseSet.h"
 #include "llvm/ADT/Optional.h"
 

Copied: cfe/trunk/include/clang/GR/PathSensitive/SummaryManager.h (from r122418, cfe/trunk/include/clang/Checker/PathSensitive/SummaryManager.h)
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/GR/PathSensitive/SummaryManager.h?p2=cfe/trunk/include/clang/GR/PathSensitive/SummaryManager.h&p1=cfe/trunk/include/clang/Checker/PathSensitive/SummaryManager.h&r1=122418&r2=122420&rev=122420&view=diff
==============================================================================
    (empty)

Copied: cfe/trunk/include/clang/GR/PathSensitive/SymbolManager.h (from r122418, cfe/trunk/include/clang/Checker/PathSensitive/SymbolManager.h)
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/GR/PathSensitive/SymbolManager.h?p2=cfe/trunk/include/clang/GR/PathSensitive/SymbolManager.h&p1=cfe/trunk/include/clang/Checker/PathSensitive/SymbolManager.h&r1=122418&r2=122420&rev=122420&view=diff
==============================================================================
    (empty)

Modified: cfe/trunk/lib/Checker/AdjustedReturnValueChecker.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Checker/AdjustedReturnValueChecker.cpp?rev=122420&r1=122419&r2=122420&view=diff
==============================================================================
--- cfe/trunk/lib/Checker/AdjustedReturnValueChecker.cpp (original)
+++ cfe/trunk/lib/Checker/AdjustedReturnValueChecker.cpp Wed Dec 22 12:51:49 2010
@@ -14,9 +14,9 @@
 //===----------------------------------------------------------------------===//
 
 #include "GRExprEngineInternalChecks.h"
-#include "clang/Checker/BugReporter/BugReporter.h"
-#include "clang/Checker/PathSensitive/GRExprEngine.h"
-#include "clang/Checker/PathSensitive/CheckerVisitor.h"
+#include "clang/GR/BugReporter/BugReporter.h"
+#include "clang/GR/PathSensitive/GRExprEngine.h"
+#include "clang/GR/PathSensitive/CheckerVisitor.h"
 
 using namespace clang;
 

Modified: cfe/trunk/lib/Checker/AggExprVisitor.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Checker/AggExprVisitor.cpp?rev=122420&r1=122419&r2=122420&view=diff
==============================================================================
--- cfe/trunk/lib/Checker/AggExprVisitor.cpp (original)
+++ cfe/trunk/lib/Checker/AggExprVisitor.cpp Wed Dec 22 12:51:49 2010
@@ -12,7 +12,7 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "clang/Checker/PathSensitive/GRExprEngine.h"
+#include "clang/GR/PathSensitive/GRExprEngine.h"
 #include "clang/AST/StmtVisitor.h"
 
 using namespace clang;

Modified: cfe/trunk/lib/Checker/AnalysisConsumer.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Checker/AnalysisConsumer.cpp?rev=122420&r1=122419&r2=122420&view=diff
==============================================================================
--- cfe/trunk/lib/Checker/AnalysisConsumer.cpp (original)
+++ cfe/trunk/lib/Checker/AnalysisConsumer.cpp Wed Dec 22 12:51:49 2010
@@ -11,7 +11,7 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "clang/Checker/AnalysisConsumer.h"
+#include "clang/GR/AnalysisConsumer.h"
 #include "clang/AST/ASTConsumer.h"
 #include "clang/AST/Decl.h"
 #include "clang/AST/DeclCXX.h"
@@ -20,14 +20,14 @@
 #include "clang/Analysis/Analyses/LiveVariables.h"
 #include "clang/Analysis/Analyses/UninitializedValues.h"
 #include "clang/Analysis/CFG.h"
-#include "clang/Checker/Checkers/LocalCheckers.h"
-#include "clang/Checker/ManagerRegistry.h"
-#include "clang/Checker/BugReporter/PathDiagnostic.h"
-#include "clang/Checker/PathSensitive/AnalysisManager.h"
-#include "clang/Checker/BugReporter/BugReporter.h"
-#include "clang/Checker/PathSensitive/GRExprEngine.h"
-#include "clang/Checker/PathSensitive/GRTransferFuncs.h"
-#include "clang/Checker/PathDiagnosticClients.h"
+#include "clang/GR/Checkers/LocalCheckers.h"
+#include "clang/GR/ManagerRegistry.h"
+#include "clang/GR/BugReporter/PathDiagnostic.h"
+#include "clang/GR/PathSensitive/AnalysisManager.h"
+#include "clang/GR/BugReporter/BugReporter.h"
+#include "clang/GR/PathSensitive/GRExprEngine.h"
+#include "clang/GR/PathSensitive/GRTransferFuncs.h"
+#include "clang/GR/PathDiagnosticClients.h"
 #include "GRExprEngineExperimentalChecks.h"
 #include "GRExprEngineInternalChecks.h"
 #include "clang/Basic/FileManager.h"

Modified: cfe/trunk/lib/Checker/AnalysisManager.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Checker/AnalysisManager.cpp?rev=122420&r1=122419&r2=122420&view=diff
==============================================================================
--- cfe/trunk/lib/Checker/AnalysisManager.cpp (original)
+++ cfe/trunk/lib/Checker/AnalysisManager.cpp Wed Dec 22 12:51:49 2010
@@ -7,7 +7,7 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "clang/Checker/PathSensitive/AnalysisManager.h"
+#include "clang/GR/PathSensitive/AnalysisManager.h"
 #include "clang/Index/Entity.h"
 #include "clang/Index/Indexer.h"
 

Modified: cfe/trunk/lib/Checker/AnalyzerStatsChecker.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Checker/AnalyzerStatsChecker.cpp?rev=122420&r1=122419&r2=122420&view=diff
==============================================================================
--- cfe/trunk/lib/Checker/AnalyzerStatsChecker.cpp (original)
+++ cfe/trunk/lib/Checker/AnalyzerStatsChecker.cpp Wed Dec 22 12:51:49 2010
@@ -9,9 +9,9 @@
 // This file reports various statistics about analyzer visitation.
 //===----------------------------------------------------------------------===//
 
-#include "clang/Checker/PathSensitive/CheckerVisitor.h"
-#include "clang/Checker/PathSensitive/ExplodedGraph.h"
-#include "clang/Checker/BugReporter/BugReporter.h"
+#include "clang/GR/PathSensitive/CheckerVisitor.h"
+#include "clang/GR/PathSensitive/ExplodedGraph.h"
+#include "clang/GR/BugReporter/BugReporter.h"
 #include "GRExprEngineExperimentalChecks.h"
 #include "clang/Basic/SourceManager.h"
 #include "llvm/ADT/SmallPtrSet.h"

Modified: cfe/trunk/lib/Checker/ArrayBoundChecker.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Checker/ArrayBoundChecker.cpp?rev=122420&r1=122419&r2=122420&view=diff
==============================================================================
--- cfe/trunk/lib/Checker/ArrayBoundChecker.cpp (original)
+++ cfe/trunk/lib/Checker/ArrayBoundChecker.cpp Wed Dec 22 12:51:49 2010
@@ -13,9 +13,9 @@
 //===----------------------------------------------------------------------===//
 
 #include "GRExprEngineInternalChecks.h"
-#include "clang/Checker/BugReporter/BugType.h"
-#include "clang/Checker/PathSensitive/CheckerVisitor.h"
-#include "clang/Checker/PathSensitive/GRExprEngine.h"
+#include "clang/GR/BugReporter/BugType.h"
+#include "clang/GR/PathSensitive/CheckerVisitor.h"
+#include "clang/GR/PathSensitive/GRExprEngine.h"
 
 using namespace clang;
 

Modified: cfe/trunk/lib/Checker/AttrNonNullChecker.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Checker/AttrNonNullChecker.cpp?rev=122420&r1=122419&r2=122420&view=diff
==============================================================================
--- cfe/trunk/lib/Checker/AttrNonNullChecker.cpp (original)
+++ cfe/trunk/lib/Checker/AttrNonNullChecker.cpp Wed Dec 22 12:51:49 2010
@@ -13,8 +13,8 @@
 //===----------------------------------------------------------------------===//
 
 #include "GRExprEngineInternalChecks.h"
-#include "clang/Checker/BugReporter/BugType.h"
-#include "clang/Checker/PathSensitive/CheckerVisitor.h"
+#include "clang/GR/BugReporter/BugType.h"
+#include "clang/GR/PathSensitive/CheckerVisitor.h"
 
 using namespace clang;
 

Modified: cfe/trunk/lib/Checker/BasicConstraintManager.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Checker/BasicConstraintManager.cpp?rev=122420&r1=122419&r2=122420&view=diff
==============================================================================
--- cfe/trunk/lib/Checker/BasicConstraintManager.cpp (original)
+++ cfe/trunk/lib/Checker/BasicConstraintManager.cpp Wed Dec 22 12:51:49 2010
@@ -13,9 +13,9 @@
 //===----------------------------------------------------------------------===//
 
 #include "SimpleConstraintManager.h"
-#include "clang/Checker/PathSensitive/GRState.h"
-#include "clang/Checker/PathSensitive/GRStateTrait.h"
-#include "clang/Checker/PathSensitive/GRTransferFuncs.h"
+#include "clang/GR/PathSensitive/GRState.h"
+#include "clang/GR/PathSensitive/GRStateTrait.h"
+#include "clang/GR/PathSensitive/GRTransferFuncs.h"
 #include "llvm/Support/raw_ostream.h"
 
 using namespace clang;

Modified: cfe/trunk/lib/Checker/BasicObjCFoundationChecks.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Checker/BasicObjCFoundationChecks.cpp?rev=122420&r1=122419&r2=122420&view=diff
==============================================================================
--- cfe/trunk/lib/Checker/BasicObjCFoundationChecks.cpp (original)
+++ cfe/trunk/lib/Checker/BasicObjCFoundationChecks.cpp Wed Dec 22 12:51:49 2010
@@ -15,14 +15,14 @@
 
 #include "BasicObjCFoundationChecks.h"
 
-#include "clang/Checker/PathSensitive/ExplodedGraph.h"
-#include "clang/Checker/PathSensitive/CheckerVisitor.h"
-#include "clang/Checker/PathSensitive/GRExprEngine.h"
-#include "clang/Checker/PathSensitive/GRState.h"
-#include "clang/Checker/BugReporter/BugType.h"
-#include "clang/Checker/PathSensitive/MemRegion.h"
-#include "clang/Checker/PathSensitive/CheckerVisitor.h"
-#include "clang/Checker/Checkers/LocalCheckers.h"
+#include "clang/GR/PathSensitive/ExplodedGraph.h"
+#include "clang/GR/PathSensitive/CheckerVisitor.h"
+#include "clang/GR/PathSensitive/GRExprEngine.h"
+#include "clang/GR/PathSensitive/GRState.h"
+#include "clang/GR/BugReporter/BugType.h"
+#include "clang/GR/PathSensitive/MemRegion.h"
+#include "clang/GR/PathSensitive/CheckerVisitor.h"
+#include "clang/GR/Checkers/LocalCheckers.h"
 #include "clang/AST/DeclObjC.h"
 #include "clang/AST/Expr.h"
 #include "clang/AST/ExprObjC.h"

Modified: cfe/trunk/lib/Checker/BasicStore.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Checker/BasicStore.cpp?rev=122420&r1=122419&r2=122420&view=diff
==============================================================================
--- cfe/trunk/lib/Checker/BasicStore.cpp (original)
+++ cfe/trunk/lib/Checker/BasicStore.cpp Wed Dec 22 12:51:49 2010
@@ -15,7 +15,7 @@
 #include "clang/AST/ExprObjC.h"
 #include "clang/Analysis/Analyses/LiveVariables.h"
 #include "clang/Analysis/AnalysisContext.h"
-#include "clang/Checker/PathSensitive/GRState.h"
+#include "clang/GR/PathSensitive/GRState.h"
 #include "llvm/ADT/ImmutableMap.h"
 
 using namespace clang;

Modified: cfe/trunk/lib/Checker/BasicValueFactory.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Checker/BasicValueFactory.cpp?rev=122420&r1=122419&r2=122420&view=diff
==============================================================================
--- cfe/trunk/lib/Checker/BasicValueFactory.cpp (original)
+++ cfe/trunk/lib/Checker/BasicValueFactory.cpp Wed Dec 22 12:51:49 2010
@@ -13,7 +13,7 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "clang/Checker/PathSensitive/BasicValueFactory.h"
+#include "clang/GR/PathSensitive/BasicValueFactory.h"
 
 using namespace clang;
 

Modified: cfe/trunk/lib/Checker/BugReporter.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Checker/BugReporter.cpp?rev=122420&r1=122419&r2=122420&view=diff
==============================================================================
--- cfe/trunk/lib/Checker/BugReporter.cpp (original)
+++ cfe/trunk/lib/Checker/BugReporter.cpp Wed Dec 22 12:51:49 2010
@@ -12,9 +12,9 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "clang/Checker/BugReporter/BugReporter.h"
-#include "clang/Checker/BugReporter/BugType.h"
-#include "clang/Checker/PathSensitive/GRExprEngine.h"
+#include "clang/GR/BugReporter/BugReporter.h"
+#include "clang/GR/BugReporter/BugType.h"
+#include "clang/GR/PathSensitive/GRExprEngine.h"
 #include "clang/AST/ASTContext.h"
 #include "clang/Analysis/CFG.h"
 #include "clang/AST/Expr.h"
@@ -22,7 +22,7 @@
 #include "clang/AST/StmtObjC.h"
 #include "clang/Basic/SourceManager.h"
 #include "clang/Analysis/ProgramPoint.h"
-#include "clang/Checker/BugReporter/PathDiagnostic.h"
+#include "clang/GR/BugReporter/PathDiagnostic.h"
 #include "llvm/Support/raw_ostream.h"
 #include "llvm/ADT/DenseMap.h"
 #include "llvm/ADT/STLExtras.h"

Modified: cfe/trunk/lib/Checker/BugReporterVisitors.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Checker/BugReporterVisitors.cpp?rev=122420&r1=122419&r2=122420&view=diff
==============================================================================
--- cfe/trunk/lib/Checker/BugReporterVisitors.cpp (original)
+++ cfe/trunk/lib/Checker/BugReporterVisitors.cpp Wed Dec 22 12:51:49 2010
@@ -14,10 +14,10 @@
 
 #include "clang/AST/Expr.h"
 #include "clang/AST/ExprObjC.h"
-#include "clang/Checker/BugReporter/BugReporter.h"
-#include "clang/Checker/BugReporter/PathDiagnostic.h"
-#include "clang/Checker/PathSensitive/ExplodedGraph.h"
-#include "clang/Checker/PathSensitive/GRState.h"
+#include "clang/GR/BugReporter/BugReporter.h"
+#include "clang/GR/BugReporter/PathDiagnostic.h"
+#include "clang/GR/PathSensitive/ExplodedGraph.h"
+#include "clang/GR/PathSensitive/GRState.h"
 
 using namespace clang;
 

Modified: cfe/trunk/lib/Checker/BuiltinFunctionChecker.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Checker/BuiltinFunctionChecker.cpp?rev=122420&r1=122419&r2=122420&view=diff
==============================================================================
--- cfe/trunk/lib/Checker/BuiltinFunctionChecker.cpp (original)
+++ cfe/trunk/lib/Checker/BuiltinFunctionChecker.cpp Wed Dec 22 12:51:49 2010
@@ -12,7 +12,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "GRExprEngineInternalChecks.h"
-#include "clang/Checker/PathSensitive/Checker.h"
+#include "clang/GR/PathSensitive/Checker.h"
 #include "clang/Basic/Builtins.h"
 
 using namespace clang;

Modified: cfe/trunk/lib/Checker/CFRefCount.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Checker/CFRefCount.cpp?rev=122420&r1=122419&r2=122420&view=diff
==============================================================================
--- cfe/trunk/lib/Checker/CFRefCount.cpp (original)
+++ cfe/trunk/lib/Checker/CFRefCount.cpp Wed Dec 22 12:51:49 2010
@@ -16,15 +16,15 @@
 #include "clang/AST/StmtVisitor.h"
 #include "clang/Basic/LangOptions.h"
 #include "clang/Basic/SourceManager.h"
-#include "clang/Checker/BugReporter/BugType.h"
-#include "clang/Checker/BugReporter/PathDiagnostic.h"
-#include "clang/Checker/Checkers/LocalCheckers.h"
+#include "clang/GR/BugReporter/BugType.h"
+#include "clang/GR/BugReporter/PathDiagnostic.h"
+#include "clang/GR/Checkers/LocalCheckers.h"
 #include "clang/Analysis/DomainSpecific/CocoaConventions.h"
-#include "clang/Checker/PathSensitive/CheckerVisitor.h"
-#include "clang/Checker/PathSensitive/GRExprEngineBuilders.h"
-#include "clang/Checker/PathSensitive/GRStateTrait.h"
-#include "clang/Checker/PathSensitive/GRTransferFuncs.h"
-#include "clang/Checker/PathSensitive/SymbolManager.h"
+#include "clang/GR/PathSensitive/CheckerVisitor.h"
+#include "clang/GR/PathSensitive/GRExprEngineBuilders.h"
+#include "clang/GR/PathSensitive/GRStateTrait.h"
+#include "clang/GR/PathSensitive/GRTransferFuncs.h"
+#include "clang/GR/PathSensitive/SymbolManager.h"
 #include "llvm/ADT/DenseMap.h"
 #include "llvm/ADT/FoldingSet.h"
 #include "llvm/ADT/ImmutableList.h"

Modified: cfe/trunk/lib/Checker/CStringChecker.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Checker/CStringChecker.cpp?rev=122420&r1=122419&r2=122420&view=diff
==============================================================================
--- cfe/trunk/lib/Checker/CStringChecker.cpp (original)
+++ cfe/trunk/lib/Checker/CStringChecker.cpp Wed Dec 22 12:51:49 2010
@@ -13,9 +13,9 @@
 //===----------------------------------------------------------------------===//
 
 #include "GRExprEngineExperimentalChecks.h"
-#include "clang/Checker/BugReporter/BugType.h"
-#include "clang/Checker/PathSensitive/CheckerVisitor.h"
-#include "clang/Checker/PathSensitive/GRStateTrait.h"
+#include "clang/GR/BugReporter/BugType.h"
+#include "clang/GR/PathSensitive/CheckerVisitor.h"
+#include "clang/GR/PathSensitive/GRStateTrait.h"
 #include "llvm/ADT/StringSwitch.h"
 
 using namespace clang;

Modified: cfe/trunk/lib/Checker/CallAndMessageChecker.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Checker/CallAndMessageChecker.cpp?rev=122420&r1=122419&r2=122420&view=diff
==============================================================================
--- cfe/trunk/lib/Checker/CallAndMessageChecker.cpp (original)
+++ cfe/trunk/lib/Checker/CallAndMessageChecker.cpp Wed Dec 22 12:51:49 2010
@@ -15,8 +15,8 @@
 #include "GRExprEngineInternalChecks.h"
 #include "clang/AST/ParentMap.h"
 #include "clang/Basic/TargetInfo.h"
-#include "clang/Checker/BugReporter/BugType.h"
-#include "clang/Checker/PathSensitive/CheckerVisitor.h"
+#include "clang/GR/BugReporter/BugType.h"
+#include "clang/GR/PathSensitive/CheckerVisitor.h"
 
 using namespace clang;
 

Modified: cfe/trunk/lib/Checker/CastSizeChecker.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Checker/CastSizeChecker.cpp?rev=122420&r1=122419&r2=122420&view=diff
==============================================================================
--- cfe/trunk/lib/Checker/CastSizeChecker.cpp (original)
+++ cfe/trunk/lib/Checker/CastSizeChecker.cpp Wed Dec 22 12:51:49 2010
@@ -12,8 +12,8 @@
 //
 //===----------------------------------------------------------------------===//
 #include "clang/AST/CharUnits.h"
-#include "clang/Checker/BugReporter/BugType.h"
-#include "clang/Checker/PathSensitive/CheckerVisitor.h"
+#include "clang/GR/BugReporter/BugType.h"
+#include "clang/GR/PathSensitive/CheckerVisitor.h"
 #include "GRExprEngineInternalChecks.h"
 
 using namespace clang;

Modified: cfe/trunk/lib/Checker/CastToStructChecker.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Checker/CastToStructChecker.cpp?rev=122420&r1=122419&r2=122420&view=diff
==============================================================================
--- cfe/trunk/lib/Checker/CastToStructChecker.cpp (original)
+++ cfe/trunk/lib/Checker/CastToStructChecker.cpp Wed Dec 22 12:51:49 2010
@@ -13,8 +13,8 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "clang/Checker/BugReporter/BugType.h"
-#include "clang/Checker/PathSensitive/CheckerVisitor.h"
+#include "clang/GR/BugReporter/BugType.h"
+#include "clang/GR/PathSensitive/CheckerVisitor.h"
 #include "GRExprEngineInternalChecks.h"
 
 using namespace clang;

Modified: cfe/trunk/lib/Checker/CheckDeadStores.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Checker/CheckDeadStores.cpp?rev=122420&r1=122419&r2=122420&view=diff
==============================================================================
--- cfe/trunk/lib/Checker/CheckDeadStores.cpp (original)
+++ cfe/trunk/lib/Checker/CheckDeadStores.cpp Wed Dec 22 12:51:49 2010
@@ -12,11 +12,11 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "clang/Checker/Checkers/LocalCheckers.h"
+#include "clang/GR/Checkers/LocalCheckers.h"
 #include "clang/Analysis/Analyses/LiveVariables.h"
 #include "clang/Analysis/Visitors/CFGRecStmtVisitor.h"
-#include "clang/Checker/BugReporter/BugReporter.h"
-#include "clang/Checker/PathSensitive/GRExprEngine.h"
+#include "clang/GR/BugReporter/BugReporter.h"
+#include "clang/GR/PathSensitive/GRExprEngine.h"
 #include "clang/Analysis/Visitors/CFGRecStmtDeclVisitor.h"
 #include "clang/Basic/Diagnostic.h"
 #include "clang/AST/ASTContext.h"

Modified: cfe/trunk/lib/Checker/CheckObjCDealloc.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Checker/CheckObjCDealloc.cpp?rev=122420&r1=122419&r2=122420&view=diff
==============================================================================
--- cfe/trunk/lib/Checker/CheckObjCDealloc.cpp (original)
+++ cfe/trunk/lib/Checker/CheckObjCDealloc.cpp Wed Dec 22 12:51:49 2010
@@ -13,9 +13,9 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "clang/Checker/Checkers/LocalCheckers.h"
-#include "clang/Checker/BugReporter/PathDiagnostic.h"
-#include "clang/Checker/BugReporter/BugReporter.h"
+#include "clang/GR/Checkers/LocalCheckers.h"
+#include "clang/GR/BugReporter/PathDiagnostic.h"
+#include "clang/GR/BugReporter/BugReporter.h"
 #include "clang/AST/ExprObjC.h"
 #include "clang/AST/Expr.h"
 #include "clang/AST/DeclObjC.h"

Modified: cfe/trunk/lib/Checker/CheckObjCInstMethSignature.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Checker/CheckObjCInstMethSignature.cpp?rev=122420&r1=122419&r2=122420&view=diff
==============================================================================
--- cfe/trunk/lib/Checker/CheckObjCInstMethSignature.cpp (original)
+++ cfe/trunk/lib/Checker/CheckObjCInstMethSignature.cpp Wed Dec 22 12:51:49 2010
@@ -13,9 +13,9 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "clang/Checker/Checkers/LocalCheckers.h"
-#include "clang/Checker/BugReporter/PathDiagnostic.h"
-#include "clang/Checker/BugReporter/BugReporter.h"
+#include "clang/GR/Checkers/LocalCheckers.h"
+#include "clang/GR/BugReporter/PathDiagnostic.h"
+#include "clang/GR/BugReporter/BugReporter.h"
 #include "clang/AST/DeclObjC.h"
 #include "clang/AST/Type.h"
 #include "clang/AST/ASTContext.h"

Modified: cfe/trunk/lib/Checker/CheckSecuritySyntaxOnly.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Checker/CheckSecuritySyntaxOnly.cpp?rev=122420&r1=122419&r2=122420&view=diff
==============================================================================
--- cfe/trunk/lib/Checker/CheckSecuritySyntaxOnly.cpp (original)
+++ cfe/trunk/lib/Checker/CheckSecuritySyntaxOnly.cpp Wed Dec 22 12:51:49 2010
@@ -12,8 +12,8 @@
 //===----------------------------------------------------------------------===//
 
 #include "clang/Basic/TargetInfo.h"
-#include "clang/Checker/BugReporter/BugReporter.h"
-#include "clang/Checker/Checkers/LocalCheckers.h"
+#include "clang/GR/BugReporter/BugReporter.h"
+#include "clang/GR/Checkers/LocalCheckers.h"
 #include "clang/AST/StmtVisitor.h"
 #include "llvm/Support/raw_ostream.h"
 

Modified: cfe/trunk/lib/Checker/CheckSizeofPointer.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Checker/CheckSizeofPointer.cpp?rev=122420&r1=122419&r2=122420&view=diff
==============================================================================
--- cfe/trunk/lib/Checker/CheckSizeofPointer.cpp (original)
+++ cfe/trunk/lib/Checker/CheckSizeofPointer.cpp Wed Dec 22 12:51:49 2010
@@ -12,9 +12,9 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "clang/Checker/BugReporter/BugReporter.h"
+#include "clang/GR/BugReporter/BugReporter.h"
 #include "clang/AST/StmtVisitor.h"
-#include "clang/Checker/Checkers/LocalCheckers.h"
+#include "clang/GR/Checkers/LocalCheckers.h"
 
 using namespace clang;
 

Modified: cfe/trunk/lib/Checker/Checker.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Checker/Checker.cpp?rev=122420&r1=122419&r2=122420&view=diff
==============================================================================
--- cfe/trunk/lib/Checker/Checker.cpp (original)
+++ cfe/trunk/lib/Checker/Checker.cpp Wed Dec 22 12:51:49 2010
@@ -12,7 +12,7 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "clang/Checker/PathSensitive/Checker.h"
+#include "clang/GR/PathSensitive/Checker.h"
 using namespace clang;
 
 Checker::~Checker() {}

Modified: cfe/trunk/lib/Checker/CheckerHelpers.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Checker/CheckerHelpers.cpp?rev=122420&r1=122419&r2=122420&view=diff
==============================================================================
--- cfe/trunk/lib/Checker/CheckerHelpers.cpp (original)
+++ cfe/trunk/lib/Checker/CheckerHelpers.cpp Wed Dec 22 12:51:49 2010
@@ -11,7 +11,7 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "clang/Checker/PathSensitive/CheckerHelpers.h"
+#include "clang/GR/PathSensitive/CheckerHelpers.h"
 #include "clang/AST/Expr.h"
 
 // Recursively find any substatements containing macros

Modified: cfe/trunk/lib/Checker/ChrootChecker.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Checker/ChrootChecker.cpp?rev=122420&r1=122419&r2=122420&view=diff
==============================================================================
--- cfe/trunk/lib/Checker/ChrootChecker.cpp (original)
+++ cfe/trunk/lib/Checker/ChrootChecker.cpp Wed Dec 22 12:51:49 2010
@@ -12,11 +12,11 @@
 //===----------------------------------------------------------------------===//
 
 #include "GRExprEngineExperimentalChecks.h"
-#include "clang/Checker/BugReporter/BugType.h"
-#include "clang/Checker/PathSensitive/CheckerVisitor.h"
-#include "clang/Checker/PathSensitive/GRState.h"
-#include "clang/Checker/PathSensitive/GRStateTrait.h"
-#include "clang/Checker/PathSensitive/SymbolManager.h"
+#include "clang/GR/BugReporter/BugType.h"
+#include "clang/GR/PathSensitive/CheckerVisitor.h"
+#include "clang/GR/PathSensitive/GRState.h"
+#include "clang/GR/PathSensitive/GRStateTrait.h"
+#include "clang/GR/PathSensitive/SymbolManager.h"
 #include "llvm/ADT/ImmutableMap.h"
 using namespace clang;
 

Modified: cfe/trunk/lib/Checker/DereferenceChecker.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Checker/DereferenceChecker.cpp?rev=122420&r1=122419&r2=122420&view=diff
==============================================================================
--- cfe/trunk/lib/Checker/DereferenceChecker.cpp (original)
+++ cfe/trunk/lib/Checker/DereferenceChecker.cpp Wed Dec 22 12:51:49 2010
@@ -13,10 +13,10 @@
 //===----------------------------------------------------------------------===//
 
 #include "GRExprEngineInternalChecks.h"
-#include "clang/Checker/BugReporter/BugType.h"
-#include "clang/Checker/Checkers/DereferenceChecker.h"
-#include "clang/Checker/PathSensitive/Checker.h"
-#include "clang/Checker/PathSensitive/GRExprEngine.h"
+#include "clang/GR/BugReporter/BugType.h"
+#include "clang/GR/Checkers/DereferenceChecker.h"
+#include "clang/GR/PathSensitive/Checker.h"
+#include "clang/GR/PathSensitive/GRExprEngine.h"
 
 using namespace clang;
 

Modified: cfe/trunk/lib/Checker/DivZeroChecker.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Checker/DivZeroChecker.cpp?rev=122420&r1=122419&r2=122420&view=diff
==============================================================================
--- cfe/trunk/lib/Checker/DivZeroChecker.cpp (original)
+++ cfe/trunk/lib/Checker/DivZeroChecker.cpp Wed Dec 22 12:51:49 2010
@@ -13,8 +13,8 @@
 //===----------------------------------------------------------------------===//
 
 #include "GRExprEngineInternalChecks.h"
-#include "clang/Checker/BugReporter/BugType.h"
-#include "clang/Checker/PathSensitive/CheckerVisitor.h"
+#include "clang/GR/BugReporter/BugType.h"
+#include "clang/GR/PathSensitive/CheckerVisitor.h"
 
 using namespace clang;
 

Modified: cfe/trunk/lib/Checker/Environment.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Checker/Environment.cpp?rev=122420&r1=122419&r2=122420&view=diff
==============================================================================
--- cfe/trunk/lib/Checker/Environment.cpp (original)
+++ cfe/trunk/lib/Checker/Environment.cpp Wed Dec 22 12:51:49 2010
@@ -13,7 +13,7 @@
 
 #include "clang/Analysis/AnalysisContext.h"
 #include "clang/Analysis/CFG.h"
-#include "clang/Checker/PathSensitive/GRState.h"
+#include "clang/GR/PathSensitive/GRState.h"
 
 using namespace clang;
 

Modified: cfe/trunk/lib/Checker/ExplodedGraph.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Checker/ExplodedGraph.cpp?rev=122420&r1=122419&r2=122420&view=diff
==============================================================================
--- cfe/trunk/lib/Checker/ExplodedGraph.cpp (original)
+++ cfe/trunk/lib/Checker/ExplodedGraph.cpp Wed Dec 22 12:51:49 2010
@@ -12,8 +12,8 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "clang/Checker/PathSensitive/ExplodedGraph.h"
-#include "clang/Checker/PathSensitive/GRState.h"
+#include "clang/GR/PathSensitive/ExplodedGraph.h"
+#include "clang/GR/PathSensitive/GRState.h"
 #include "clang/AST/Stmt.h"
 #include "llvm/ADT/DenseSet.h"
 #include "llvm/ADT/DenseMap.h"

Modified: cfe/trunk/lib/Checker/FixedAddressChecker.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Checker/FixedAddressChecker.cpp?rev=122420&r1=122419&r2=122420&view=diff
==============================================================================
--- cfe/trunk/lib/Checker/FixedAddressChecker.cpp (original)
+++ cfe/trunk/lib/Checker/FixedAddressChecker.cpp Wed Dec 22 12:51:49 2010
@@ -14,8 +14,8 @@
 //===----------------------------------------------------------------------===//
 
 #include "GRExprEngineInternalChecks.h"
-#include "clang/Checker/BugReporter/BugType.h"
-#include "clang/Checker/PathSensitive/CheckerVisitor.h"
+#include "clang/GR/BugReporter/BugType.h"
+#include "clang/GR/PathSensitive/CheckerVisitor.h"
 
 using namespace clang;
 

Modified: cfe/trunk/lib/Checker/FlatStore.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Checker/FlatStore.cpp?rev=122420&r1=122419&r2=122420&view=diff
==============================================================================
--- cfe/trunk/lib/Checker/FlatStore.cpp (original)
+++ cfe/trunk/lib/Checker/FlatStore.cpp Wed Dec 22 12:51:49 2010
@@ -7,7 +7,7 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "clang/Checker/PathSensitive/GRState.h"
+#include "clang/GR/PathSensitive/GRState.h"
 #include "llvm/ADT/ImmutableIntervalMap.h"
 #include "llvm/Support/ErrorHandling.h"
 

Modified: cfe/trunk/lib/Checker/FrontendActions.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Checker/FrontendActions.cpp?rev=122420&r1=122419&r2=122420&view=diff
==============================================================================
--- cfe/trunk/lib/Checker/FrontendActions.cpp (original)
+++ cfe/trunk/lib/Checker/FrontendActions.cpp Wed Dec 22 12:51:49 2010
@@ -7,9 +7,9 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "clang/Checker/FrontendActions.h"
+#include "clang/GR/FrontendActions.h"
 #include "clang/Frontend/CompilerInstance.h"
-#include "clang/Checker/AnalysisConsumer.h"
+#include "clang/GR/AnalysisConsumer.h"
 using namespace clang;
 
 ASTConsumer *AnalysisAction::CreateASTConsumer(CompilerInstance &CI,

Modified: cfe/trunk/lib/Checker/GRBlockCounter.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Checker/GRBlockCounter.cpp?rev=122420&r1=122419&r2=122420&view=diff
==============================================================================
--- cfe/trunk/lib/Checker/GRBlockCounter.cpp (original)
+++ cfe/trunk/lib/Checker/GRBlockCounter.cpp Wed Dec 22 12:51:49 2010
@@ -13,7 +13,7 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "clang/Checker/PathSensitive/GRBlockCounter.h"
+#include "clang/GR/PathSensitive/GRBlockCounter.h"
 #include "llvm/ADT/ImmutableMap.h"
 
 using namespace clang;

Modified: cfe/trunk/lib/Checker/GRCXXExprEngine.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Checker/GRCXXExprEngine.cpp?rev=122420&r1=122419&r2=122420&view=diff
==============================================================================
--- cfe/trunk/lib/Checker/GRCXXExprEngine.cpp (original)
+++ cfe/trunk/lib/Checker/GRCXXExprEngine.cpp Wed Dec 22 12:51:49 2010
@@ -11,8 +11,8 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "clang/Checker/PathSensitive/AnalysisManager.h"
-#include "clang/Checker/PathSensitive/GRExprEngine.h"
+#include "clang/GR/PathSensitive/AnalysisManager.h"
+#include "clang/GR/PathSensitive/GRExprEngine.h"
 #include "clang/AST/DeclCXX.h"
 
 using namespace clang;

Modified: cfe/trunk/lib/Checker/GRCoreEngine.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Checker/GRCoreEngine.cpp?rev=122420&r1=122419&r2=122420&view=diff
==============================================================================
--- cfe/trunk/lib/Checker/GRCoreEngine.cpp (original)
+++ cfe/trunk/lib/Checker/GRCoreEngine.cpp Wed Dec 22 12:51:49 2010
@@ -12,9 +12,9 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "clang/Checker/PathSensitive/AnalysisManager.h"
-#include "clang/Checker/PathSensitive/GRCoreEngine.h"
-#include "clang/Checker/PathSensitive/GRExprEngine.h"
+#include "clang/GR/PathSensitive/AnalysisManager.h"
+#include "clang/GR/PathSensitive/GRCoreEngine.h"
+#include "clang/GR/PathSensitive/GRExprEngine.h"
 #include "clang/Index/TranslationUnit.h"
 #include "clang/AST/Expr.h"
 #include "llvm/Support/Casting.h"

Modified: cfe/trunk/lib/Checker/GRExprEngine.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Checker/GRExprEngine.cpp?rev=122420&r1=122419&r2=122420&view=diff
==============================================================================
--- cfe/trunk/lib/Checker/GRExprEngine.cpp (original)
+++ cfe/trunk/lib/Checker/GRExprEngine.cpp Wed Dec 22 12:51:49 2010
@@ -13,11 +13,11 @@
 //
 //===----------------------------------------------------------------------===//
 #include "GRExprEngineInternalChecks.h"
-#include "clang/Checker/BugReporter/BugType.h"
-#include "clang/Checker/PathSensitive/AnalysisManager.h"
-#include "clang/Checker/PathSensitive/GRExprEngine.h"
-#include "clang/Checker/PathSensitive/GRExprEngineBuilders.h"
-#include "clang/Checker/PathSensitive/Checker.h"
+#include "clang/GR/BugReporter/BugType.h"
+#include "clang/GR/PathSensitive/AnalysisManager.h"
+#include "clang/GR/PathSensitive/GRExprEngine.h"
+#include "clang/GR/PathSensitive/GRExprEngineBuilders.h"
+#include "clang/GR/PathSensitive/Checker.h"
 #include "clang/AST/CharUnits.h"
 #include "clang/AST/ParentMap.h"
 #include "clang/AST/StmtObjC.h"

Modified: cfe/trunk/lib/Checker/GRExprEngineExperimentalChecks.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Checker/GRExprEngineExperimentalChecks.cpp?rev=122420&r1=122419&r2=122420&view=diff
==============================================================================
--- cfe/trunk/lib/Checker/GRExprEngineExperimentalChecks.cpp (original)
+++ cfe/trunk/lib/Checker/GRExprEngineExperimentalChecks.cpp Wed Dec 22 12:51:49 2010
@@ -14,7 +14,7 @@
 
 #include "GRExprEngineInternalChecks.h"
 #include "GRExprEngineExperimentalChecks.h"
-#include "clang/Checker/Checkers/LocalCheckers.h"
+#include "clang/GR/Checkers/LocalCheckers.h"
 
 using namespace clang;
 

Modified: cfe/trunk/lib/Checker/GRState.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Checker/GRState.cpp?rev=122420&r1=122419&r2=122420&view=diff
==============================================================================
--- cfe/trunk/lib/Checker/GRState.cpp (original)
+++ cfe/trunk/lib/Checker/GRState.cpp Wed Dec 22 12:51:49 2010
@@ -12,10 +12,10 @@
 //===----------------------------------------------------------------------===//
 
 #include "clang/Analysis/CFG.h"
-#include "clang/Checker/PathSensitive/GRStateTrait.h"
-#include "clang/Checker/PathSensitive/GRState.h"
-#include "clang/Checker/PathSensitive/GRSubEngine.h"
-#include "clang/Checker/PathSensitive/GRTransferFuncs.h"
+#include "clang/GR/PathSensitive/GRStateTrait.h"
+#include "clang/GR/PathSensitive/GRState.h"
+#include "clang/GR/PathSensitive/GRSubEngine.h"
+#include "clang/GR/PathSensitive/GRTransferFuncs.h"
 #include "llvm/Support/raw_ostream.h"
 
 using namespace clang;

Modified: cfe/trunk/lib/Checker/HTMLDiagnostics.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Checker/HTMLDiagnostics.cpp?rev=122420&r1=122419&r2=122420&view=diff
==============================================================================
--- cfe/trunk/lib/Checker/HTMLDiagnostics.cpp (original)
+++ cfe/trunk/lib/Checker/HTMLDiagnostics.cpp Wed Dec 22 12:51:49 2010
@@ -11,8 +11,8 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "clang/Checker/PathDiagnosticClients.h"
-#include "clang/Checker/BugReporter/PathDiagnostic.h"
+#include "clang/GR/PathDiagnosticClients.h"
+#include "clang/GR/BugReporter/PathDiagnostic.h"
 #include "clang/AST/ASTContext.h"
 #include "clang/AST/Decl.h"
 #include "clang/Basic/SourceManager.h"

Modified: cfe/trunk/lib/Checker/IdempotentOperationChecker.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Checker/IdempotentOperationChecker.cpp?rev=122420&r1=122419&r2=122420&view=diff
==============================================================================
--- cfe/trunk/lib/Checker/IdempotentOperationChecker.cpp (original)
+++ cfe/trunk/lib/Checker/IdempotentOperationChecker.cpp Wed Dec 22 12:51:49 2010
@@ -45,12 +45,12 @@
 #include "GRExprEngineExperimentalChecks.h"
 #include "clang/Analysis/CFGStmtMap.h"
 #include "clang/Analysis/Analyses/PseudoConstantAnalysis.h"
-#include "clang/Checker/BugReporter/BugReporter.h"
-#include "clang/Checker/BugReporter/BugType.h"
-#include "clang/Checker/PathSensitive/CheckerHelpers.h"
-#include "clang/Checker/PathSensitive/CheckerVisitor.h"
-#include "clang/Checker/PathSensitive/GRCoreEngine.h"
-#include "clang/Checker/PathSensitive/SVals.h"
+#include "clang/GR/BugReporter/BugReporter.h"
+#include "clang/GR/BugReporter/BugType.h"
+#include "clang/GR/PathSensitive/CheckerHelpers.h"
+#include "clang/GR/PathSensitive/CheckerVisitor.h"
+#include "clang/GR/PathSensitive/GRCoreEngine.h"
+#include "clang/GR/PathSensitive/SVals.h"
 #include "clang/AST/Stmt.h"
 #include "llvm/ADT/DenseMap.h"
 #include "llvm/ADT/SmallSet.h"

Modified: cfe/trunk/lib/Checker/LLVMConventionsChecker.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Checker/LLVMConventionsChecker.cpp?rev=122420&r1=122419&r2=122420&view=diff
==============================================================================
--- cfe/trunk/lib/Checker/LLVMConventionsChecker.cpp (original)
+++ cfe/trunk/lib/Checker/LLVMConventionsChecker.cpp Wed Dec 22 12:51:49 2010
@@ -14,8 +14,8 @@
 
 #include "clang/AST/DeclTemplate.h"
 #include "clang/AST/StmtVisitor.h"
-#include "clang/Checker/Checkers/LocalCheckers.h"
-#include "clang/Checker/BugReporter/BugReporter.h"
+#include "clang/GR/Checkers/LocalCheckers.h"
+#include "clang/GR/BugReporter/BugReporter.h"
 #include <string>
 #include "llvm/ADT/StringRef.h"
 

Modified: cfe/trunk/lib/Checker/MacOSXAPIChecker.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Checker/MacOSXAPIChecker.cpp?rev=122420&r1=122419&r2=122420&view=diff
==============================================================================
--- cfe/trunk/lib/Checker/MacOSXAPIChecker.cpp (original)
+++ cfe/trunk/lib/Checker/MacOSXAPIChecker.cpp Wed Dec 22 12:51:49 2010
@@ -17,9 +17,9 @@
 
 #include "GRExprEngineInternalChecks.h"
 #include "clang/Basic/TargetInfo.h"
-#include "clang/Checker/BugReporter/BugType.h"
-#include "clang/Checker/PathSensitive/CheckerVisitor.h"
-#include "clang/Checker/PathSensitive/GRStateTrait.h"
+#include "clang/GR/BugReporter/BugType.h"
+#include "clang/GR/PathSensitive/CheckerVisitor.h"
+#include "clang/GR/PathSensitive/GRStateTrait.h"
 #include "llvm/ADT/SmallString.h"
 #include "llvm/ADT/StringSwitch.h"
 #include "llvm/Support/raw_ostream.h"

Modified: cfe/trunk/lib/Checker/MallocChecker.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Checker/MallocChecker.cpp?rev=122420&r1=122419&r2=122420&view=diff
==============================================================================
--- cfe/trunk/lib/Checker/MallocChecker.cpp (original)
+++ cfe/trunk/lib/Checker/MallocChecker.cpp Wed Dec 22 12:51:49 2010
@@ -13,11 +13,11 @@
 //===----------------------------------------------------------------------===//
 
 #include "GRExprEngineExperimentalChecks.h"
-#include "clang/Checker/BugReporter/BugType.h"
-#include "clang/Checker/PathSensitive/CheckerVisitor.h"
-#include "clang/Checker/PathSensitive/GRState.h"
-#include "clang/Checker/PathSensitive/GRStateTrait.h"
-#include "clang/Checker/PathSensitive/SymbolManager.h"
+#include "clang/GR/BugReporter/BugType.h"
+#include "clang/GR/PathSensitive/CheckerVisitor.h"
+#include "clang/GR/PathSensitive/GRState.h"
+#include "clang/GR/PathSensitive/GRStateTrait.h"
+#include "clang/GR/PathSensitive/SymbolManager.h"
 #include "llvm/ADT/ImmutableMap.h"
 using namespace clang;
 

Modified: cfe/trunk/lib/Checker/ManagerRegistry.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Checker/ManagerRegistry.cpp?rev=122420&r1=122419&r2=122420&view=diff
==============================================================================
--- cfe/trunk/lib/Checker/ManagerRegistry.cpp (original)
+++ cfe/trunk/lib/Checker/ManagerRegistry.cpp Wed Dec 22 12:51:49 2010
@@ -11,7 +11,7 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "clang/Checker/ManagerRegistry.h"
+#include "clang/GR/ManagerRegistry.h"
 
 using namespace clang;
 

Modified: cfe/trunk/lib/Checker/MemRegion.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Checker/MemRegion.cpp?rev=122420&r1=122419&r2=122420&view=diff
==============================================================================
--- cfe/trunk/lib/Checker/MemRegion.cpp (original)
+++ cfe/trunk/lib/Checker/MemRegion.cpp Wed Dec 22 12:51:49 2010
@@ -13,8 +13,8 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "clang/Checker/PathSensitive/MemRegion.h"
-#include "clang/Checker/PathSensitive/SValBuilder.h"
+#include "clang/GR/PathSensitive/MemRegion.h"
+#include "clang/GR/PathSensitive/SValBuilder.h"
 #include "clang/Analysis/AnalysisContext.h"
 #include "clang/Analysis/Support/BumpVector.h"
 #include "clang/AST/CharUnits.h"

Modified: cfe/trunk/lib/Checker/NSAutoreleasePoolChecker.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Checker/NSAutoreleasePoolChecker.cpp?rev=122420&r1=122419&r2=122420&view=diff
==============================================================================
--- cfe/trunk/lib/Checker/NSAutoreleasePoolChecker.cpp (original)
+++ cfe/trunk/lib/Checker/NSAutoreleasePoolChecker.cpp Wed Dec 22 12:51:49 2010
@@ -15,9 +15,9 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "clang/Checker/BugReporter/BugReporter.h"
-#include "clang/Checker/PathSensitive/GRExprEngine.h"
-#include "clang/Checker/PathSensitive/CheckerVisitor.h"
+#include "clang/GR/BugReporter/BugReporter.h"
+#include "clang/GR/PathSensitive/GRExprEngine.h"
+#include "clang/GR/PathSensitive/CheckerVisitor.h"
 #include "BasicObjCFoundationChecks.h"
 #include "clang/AST/DeclObjC.h"
 #include "clang/AST/Decl.h"

Modified: cfe/trunk/lib/Checker/NSErrorChecker.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Checker/NSErrorChecker.cpp?rev=122420&r1=122419&r2=122420&view=diff
==============================================================================
--- cfe/trunk/lib/Checker/NSErrorChecker.cpp (original)
+++ cfe/trunk/lib/Checker/NSErrorChecker.cpp Wed Dec 22 12:51:49 2010
@@ -15,10 +15,10 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "clang/Checker/Checkers/LocalCheckers.h"
-#include "clang/Checker/BugReporter/BugType.h"
-#include "clang/Checker/PathSensitive/GRExprEngine.h"
-#include "clang/Checker/Checkers/DereferenceChecker.h"
+#include "clang/GR/Checkers/LocalCheckers.h"
+#include "clang/GR/BugReporter/BugType.h"
+#include "clang/GR/PathSensitive/GRExprEngine.h"
+#include "clang/GR/Checkers/DereferenceChecker.h"
 #include "BasicObjCFoundationChecks.h"
 #include "clang/AST/DeclObjC.h"
 #include "clang/AST/Decl.h"

Modified: cfe/trunk/lib/Checker/NoReturnFunctionChecker.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Checker/NoReturnFunctionChecker.cpp?rev=122420&r1=122419&r2=122420&view=diff
==============================================================================
--- cfe/trunk/lib/Checker/NoReturnFunctionChecker.cpp (original)
+++ cfe/trunk/lib/Checker/NoReturnFunctionChecker.cpp Wed Dec 22 12:51:49 2010
@@ -13,7 +13,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "GRExprEngineInternalChecks.h"
-#include "clang/Checker/PathSensitive/CheckerVisitor.h"
+#include "clang/GR/PathSensitive/CheckerVisitor.h"
 #include "llvm/ADT/StringSwitch.h"
 
 using namespace clang;

Modified: cfe/trunk/lib/Checker/OSAtomicChecker.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Checker/OSAtomicChecker.cpp?rev=122420&r1=122419&r2=122420&view=diff
==============================================================================
--- cfe/trunk/lib/Checker/OSAtomicChecker.cpp (original)
+++ cfe/trunk/lib/Checker/OSAtomicChecker.cpp Wed Dec 22 12:51:49 2010
@@ -12,7 +12,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "GRExprEngineInternalChecks.h"
-#include "clang/Checker/PathSensitive/Checker.h"
+#include "clang/GR/PathSensitive/Checker.h"
 #include "clang/Basic/Builtins.h"
 
 using namespace clang;

Modified: cfe/trunk/lib/Checker/ObjCAtSyncChecker.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Checker/ObjCAtSyncChecker.cpp?rev=122420&r1=122419&r2=122420&view=diff
==============================================================================
--- cfe/trunk/lib/Checker/ObjCAtSyncChecker.cpp (original)
+++ cfe/trunk/lib/Checker/ObjCAtSyncChecker.cpp Wed Dec 22 12:51:49 2010
@@ -13,10 +13,10 @@
 //===----------------------------------------------------------------------===//
 
 #include "GRExprEngineInternalChecks.h"
-#include "clang/Checker/BugReporter/BugType.h"
-#include "clang/Checker/Checkers/DereferenceChecker.h"
-#include "clang/Checker/PathSensitive/CheckerVisitor.h"
-#include "clang/Checker/PathSensitive/GRExprEngine.h"
+#include "clang/GR/BugReporter/BugType.h"
+#include "clang/GR/Checkers/DereferenceChecker.h"
+#include "clang/GR/PathSensitive/CheckerVisitor.h"
+#include "clang/GR/PathSensitive/GRExprEngine.h"
 
 using namespace clang;
 

Modified: cfe/trunk/lib/Checker/ObjCUnusedIVarsChecker.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Checker/ObjCUnusedIVarsChecker.cpp?rev=122420&r1=122419&r2=122420&view=diff
==============================================================================
--- cfe/trunk/lib/Checker/ObjCUnusedIVarsChecker.cpp (original)
+++ cfe/trunk/lib/Checker/ObjCUnusedIVarsChecker.cpp Wed Dec 22 12:51:49 2010
@@ -13,9 +13,9 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "clang/Checker/Checkers/LocalCheckers.h"
-#include "clang/Checker/BugReporter/PathDiagnostic.h"
-#include "clang/Checker/BugReporter/BugReporter.h"
+#include "clang/GR/Checkers/LocalCheckers.h"
+#include "clang/GR/BugReporter/PathDiagnostic.h"
+#include "clang/GR/BugReporter/BugReporter.h"
 #include "clang/AST/ExprObjC.h"
 #include "clang/AST/Expr.h"
 #include "clang/AST/DeclObjC.h"

Modified: cfe/trunk/lib/Checker/PathDiagnostic.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Checker/PathDiagnostic.cpp?rev=122420&r1=122419&r2=122420&view=diff
==============================================================================
--- cfe/trunk/lib/Checker/PathDiagnostic.cpp (original)
+++ cfe/trunk/lib/Checker/PathDiagnostic.cpp Wed Dec 22 12:51:49 2010
@@ -11,7 +11,7 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "clang/Checker/BugReporter/PathDiagnostic.h"
+#include "clang/GR/BugReporter/PathDiagnostic.h"
 #include "clang/AST/Expr.h"
 #include "clang/AST/Decl.h"
 #include "clang/AST/DeclObjC.h"

Modified: cfe/trunk/lib/Checker/PlistDiagnostics.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Checker/PlistDiagnostics.cpp?rev=122420&r1=122419&r2=122420&view=diff
==============================================================================
--- cfe/trunk/lib/Checker/PlistDiagnostics.cpp (original)
+++ cfe/trunk/lib/Checker/PlistDiagnostics.cpp Wed Dec 22 12:51:49 2010
@@ -11,8 +11,8 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "clang/Checker/PathDiagnosticClients.h"
-#include "clang/Checker/BugReporter/PathDiagnostic.h"
+#include "clang/GR/PathDiagnosticClients.h"
+#include "clang/GR/BugReporter/PathDiagnostic.h"
 #include "clang/Basic/SourceManager.h"
 #include "clang/Basic/FileManager.h"
 #include "clang/Lex/Preprocessor.h"

Modified: cfe/trunk/lib/Checker/PointerArithChecker.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Checker/PointerArithChecker.cpp?rev=122420&r1=122419&r2=122420&view=diff
==============================================================================
--- cfe/trunk/lib/Checker/PointerArithChecker.cpp (original)
+++ cfe/trunk/lib/Checker/PointerArithChecker.cpp Wed Dec 22 12:51:49 2010
@@ -13,8 +13,8 @@
 //===----------------------------------------------------------------------===//
 
 #include "GRExprEngineInternalChecks.h"
-#include "clang/Checker/BugReporter/BugType.h"
-#include "clang/Checker/PathSensitive/CheckerVisitor.h"
+#include "clang/GR/BugReporter/BugType.h"
+#include "clang/GR/PathSensitive/CheckerVisitor.h"
 
 using namespace clang;
 

Modified: cfe/trunk/lib/Checker/PointerSubChecker.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Checker/PointerSubChecker.cpp?rev=122420&r1=122419&r2=122420&view=diff
==============================================================================
--- cfe/trunk/lib/Checker/PointerSubChecker.cpp (original)
+++ cfe/trunk/lib/Checker/PointerSubChecker.cpp Wed Dec 22 12:51:49 2010
@@ -14,8 +14,8 @@
 //===----------------------------------------------------------------------===//
 
 #include "GRExprEngineInternalChecks.h"
-#include "clang/Checker/BugReporter/BugType.h"
-#include "clang/Checker/PathSensitive/CheckerVisitor.h"
+#include "clang/GR/BugReporter/BugType.h"
+#include "clang/GR/PathSensitive/CheckerVisitor.h"
 
 using namespace clang;
 

Modified: cfe/trunk/lib/Checker/PthreadLockChecker.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Checker/PthreadLockChecker.cpp?rev=122420&r1=122419&r2=122420&view=diff
==============================================================================
--- cfe/trunk/lib/Checker/PthreadLockChecker.cpp (original)
+++ cfe/trunk/lib/Checker/PthreadLockChecker.cpp Wed Dec 22 12:51:49 2010
@@ -12,9 +12,9 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "clang/Checker/PathSensitive/CheckerVisitor.h"
-#include "clang/Checker/BugReporter/BugReporter.h"
-#include "clang/Checker/PathSensitive/GRStateTrait.h"
+#include "clang/GR/PathSensitive/CheckerVisitor.h"
+#include "clang/GR/BugReporter/BugReporter.h"
+#include "clang/GR/PathSensitive/GRStateTrait.h"
 #include "GRExprEngineExperimentalChecks.h"
 #include "llvm/ADT/ImmutableSet.h"
 

Modified: cfe/trunk/lib/Checker/RangeConstraintManager.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Checker/RangeConstraintManager.cpp?rev=122420&r1=122419&r2=122420&view=diff
==============================================================================
--- cfe/trunk/lib/Checker/RangeConstraintManager.cpp (original)
+++ cfe/trunk/lib/Checker/RangeConstraintManager.cpp Wed Dec 22 12:51:49 2010
@@ -13,10 +13,10 @@
 //===----------------------------------------------------------------------===//
 
 #include "SimpleConstraintManager.h"
-#include "clang/Checker/PathSensitive/GRState.h"
-#include "clang/Checker/PathSensitive/GRStateTrait.h"
-#include "clang/Checker/PathSensitive/GRTransferFuncs.h"
-#include "clang/Checker/ManagerRegistry.h"
+#include "clang/GR/PathSensitive/GRState.h"
+#include "clang/GR/PathSensitive/GRStateTrait.h"
+#include "clang/GR/PathSensitive/GRTransferFuncs.h"
+#include "clang/GR/ManagerRegistry.h"
 #include "llvm/Support/Debug.h"
 #include "llvm/ADT/FoldingSet.h"
 #include "llvm/ADT/ImmutableSet.h"

Modified: cfe/trunk/lib/Checker/RegionStore.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Checker/RegionStore.cpp?rev=122420&r1=122419&r2=122420&view=diff
==============================================================================
--- cfe/trunk/lib/Checker/RegionStore.cpp (original)
+++ cfe/trunk/lib/Checker/RegionStore.cpp Wed Dec 22 12:51:49 2010
@@ -20,9 +20,9 @@
 #include "clang/Analysis/Analyses/LiveVariables.h"
 #include "clang/Analysis/AnalysisContext.h"
 #include "clang/Basic/TargetInfo.h"
-#include "clang/Checker/PathSensitive/GRState.h"
-#include "clang/Checker/PathSensitive/GRStateTrait.h"
-#include "clang/Checker/PathSensitive/MemRegion.h"
+#include "clang/GR/PathSensitive/GRState.h"
+#include "clang/GR/PathSensitive/GRStateTrait.h"
+#include "clang/GR/PathSensitive/MemRegion.h"
 #include "llvm/ADT/ImmutableList.h"
 #include "llvm/ADT/ImmutableMap.h"
 #include "llvm/ADT/Optional.h"

Modified: cfe/trunk/lib/Checker/ReturnPointerRangeChecker.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Checker/ReturnPointerRangeChecker.cpp?rev=122420&r1=122419&r2=122420&view=diff
==============================================================================
--- cfe/trunk/lib/Checker/ReturnPointerRangeChecker.cpp (original)
+++ cfe/trunk/lib/Checker/ReturnPointerRangeChecker.cpp Wed Dec 22 12:51:49 2010
@@ -13,9 +13,9 @@
 //===----------------------------------------------------------------------===//
 
 #include "GRExprEngineInternalChecks.h"
-#include "clang/Checker/BugReporter/BugType.h"
-#include "clang/Checker/PathSensitive/CheckerVisitor.h"
-#include "clang/Checker/PathSensitive/GRExprEngine.h"
+#include "clang/GR/BugReporter/BugType.h"
+#include "clang/GR/PathSensitive/CheckerVisitor.h"
+#include "clang/GR/PathSensitive/GRExprEngine.h"
 
 using namespace clang;
 

Modified: cfe/trunk/lib/Checker/ReturnUndefChecker.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Checker/ReturnUndefChecker.cpp?rev=122420&r1=122419&r2=122420&view=diff
==============================================================================
--- cfe/trunk/lib/Checker/ReturnUndefChecker.cpp (original)
+++ cfe/trunk/lib/Checker/ReturnUndefChecker.cpp Wed Dec 22 12:51:49 2010
@@ -14,9 +14,9 @@
 //===----------------------------------------------------------------------===//
 
 #include "GRExprEngineInternalChecks.h"
-#include "clang/Checker/BugReporter/BugType.h"
-#include "clang/Checker/PathSensitive/CheckerVisitor.h"
-#include "clang/Checker/PathSensitive/GRExprEngine.h"
+#include "clang/GR/BugReporter/BugType.h"
+#include "clang/GR/PathSensitive/CheckerVisitor.h"
+#include "clang/GR/PathSensitive/GRExprEngine.h"
 
 using namespace clang;
 

Modified: cfe/trunk/lib/Checker/SValBuilder.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Checker/SValBuilder.cpp?rev=122420&r1=122419&r2=122420&view=diff
==============================================================================
--- cfe/trunk/lib/Checker/SValBuilder.cpp (original)
+++ cfe/trunk/lib/Checker/SValBuilder.cpp Wed Dec 22 12:51:49 2010
@@ -12,11 +12,11 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "clang/Checker/PathSensitive/MemRegion.h"
-#include "clang/Checker/PathSensitive/SVals.h"
-#include "clang/Checker/PathSensitive/SValBuilder.h"
-#include "clang/Checker/PathSensitive/GRState.h"
-#include "clang/Checker/PathSensitive/BasicValueFactory.h"
+#include "clang/GR/PathSensitive/MemRegion.h"
+#include "clang/GR/PathSensitive/SVals.h"
+#include "clang/GR/PathSensitive/SValBuilder.h"
+#include "clang/GR/PathSensitive/GRState.h"
+#include "clang/GR/PathSensitive/BasicValueFactory.h"
 
 using namespace clang;
 

Modified: cfe/trunk/lib/Checker/SVals.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Checker/SVals.cpp?rev=122420&r1=122419&r2=122420&view=diff
==============================================================================
--- cfe/trunk/lib/Checker/SVals.cpp (original)
+++ cfe/trunk/lib/Checker/SVals.cpp Wed Dec 22 12:51:49 2010
@@ -12,7 +12,7 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "clang/Checker/PathSensitive/GRState.h"
+#include "clang/GR/PathSensitive/GRState.h"
 #include "clang/Basic/IdentifierTable.h"
 
 using namespace clang;

Modified: cfe/trunk/lib/Checker/SimpleConstraintManager.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Checker/SimpleConstraintManager.cpp?rev=122420&r1=122419&r2=122420&view=diff
==============================================================================
--- cfe/trunk/lib/Checker/SimpleConstraintManager.cpp (original)
+++ cfe/trunk/lib/Checker/SimpleConstraintManager.cpp Wed Dec 22 12:51:49 2010
@@ -13,9 +13,9 @@
 //===----------------------------------------------------------------------===//
 
 #include "SimpleConstraintManager.h"
-#include "clang/Checker/PathSensitive/GRExprEngine.h"
-#include "clang/Checker/PathSensitive/GRState.h"
-#include "clang/Checker/PathSensitive/Checker.h"
+#include "clang/GR/PathSensitive/GRExprEngine.h"
+#include "clang/GR/PathSensitive/GRState.h"
+#include "clang/GR/PathSensitive/Checker.h"
 
 namespace clang {
 

Modified: cfe/trunk/lib/Checker/SimpleConstraintManager.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Checker/SimpleConstraintManager.h?rev=122420&r1=122419&r2=122420&view=diff
==============================================================================
--- cfe/trunk/lib/Checker/SimpleConstraintManager.h (original)
+++ cfe/trunk/lib/Checker/SimpleConstraintManager.h Wed Dec 22 12:51:49 2010
@@ -14,8 +14,8 @@
 #ifndef LLVM_CLANG_ANALYSIS_SIMPLE_CONSTRAINT_MANAGER_H
 #define LLVM_CLANG_ANALYSIS_SIMPLE_CONSTRAINT_MANAGER_H
 
-#include "clang/Checker/PathSensitive/ConstraintManager.h"
-#include "clang/Checker/PathSensitive/GRState.h"
+#include "clang/GR/PathSensitive/ConstraintManager.h"
+#include "clang/GR/PathSensitive/GRState.h"
 
 namespace clang {
 

Modified: cfe/trunk/lib/Checker/SimpleSValBuilder.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Checker/SimpleSValBuilder.cpp?rev=122420&r1=122419&r2=122420&view=diff
==============================================================================
--- cfe/trunk/lib/Checker/SimpleSValBuilder.cpp (original)
+++ cfe/trunk/lib/Checker/SimpleSValBuilder.cpp Wed Dec 22 12:51:49 2010
@@ -11,8 +11,8 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "clang/Checker/PathSensitive/SValBuilder.h"
-#include "clang/Checker/PathSensitive/GRState.h"
+#include "clang/GR/PathSensitive/SValBuilder.h"
+#include "clang/GR/PathSensitive/GRState.h"
 
 using namespace clang;
 

Modified: cfe/trunk/lib/Checker/StackAddrLeakChecker.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Checker/StackAddrLeakChecker.cpp?rev=122420&r1=122419&r2=122420&view=diff
==============================================================================
--- cfe/trunk/lib/Checker/StackAddrLeakChecker.cpp (original)
+++ cfe/trunk/lib/Checker/StackAddrLeakChecker.cpp Wed Dec 22 12:51:49 2010
@@ -13,9 +13,9 @@
 //===----------------------------------------------------------------------===//
 
 #include "GRExprEngineInternalChecks.h"
-#include "clang/Checker/BugReporter/BugType.h"
-#include "clang/Checker/PathSensitive/CheckerVisitor.h"
-#include "clang/Checker/PathSensitive/GRState.h"
+#include "clang/GR/BugReporter/BugType.h"
+#include "clang/GR/PathSensitive/CheckerVisitor.h"
+#include "clang/GR/PathSensitive/GRState.h"
 #include "clang/Basic/SourceManager.h"
 #include "llvm/ADT/SmallString.h"
 using namespace clang;

Modified: cfe/trunk/lib/Checker/Store.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Checker/Store.cpp?rev=122420&r1=122419&r2=122420&view=diff
==============================================================================
--- cfe/trunk/lib/Checker/Store.cpp (original)
+++ cfe/trunk/lib/Checker/Store.cpp Wed Dec 22 12:51:49 2010
@@ -11,8 +11,8 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "clang/Checker/PathSensitive/Store.h"
-#include "clang/Checker/PathSensitive/GRState.h"
+#include "clang/GR/PathSensitive/Store.h"
+#include "clang/GR/PathSensitive/GRState.h"
 #include "clang/AST/CharUnits.h"
 
 using namespace clang;

Modified: cfe/trunk/lib/Checker/StreamChecker.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Checker/StreamChecker.cpp?rev=122420&r1=122419&r2=122420&view=diff
==============================================================================
--- cfe/trunk/lib/Checker/StreamChecker.cpp (original)
+++ cfe/trunk/lib/Checker/StreamChecker.cpp Wed Dec 22 12:51:49 2010
@@ -12,11 +12,11 @@
 //===----------------------------------------------------------------------===//
 
 #include "GRExprEngineExperimentalChecks.h"
-#include "clang/Checker/BugReporter/BugType.h"
-#include "clang/Checker/PathSensitive/CheckerVisitor.h"
-#include "clang/Checker/PathSensitive/GRState.h"
-#include "clang/Checker/PathSensitive/GRStateTrait.h"
-#include "clang/Checker/PathSensitive/SymbolManager.h"
+#include "clang/GR/BugReporter/BugType.h"
+#include "clang/GR/PathSensitive/CheckerVisitor.h"
+#include "clang/GR/PathSensitive/GRState.h"
+#include "clang/GR/PathSensitive/GRStateTrait.h"
+#include "clang/GR/PathSensitive/SymbolManager.h"
 #include "llvm/ADT/ImmutableMap.h"
 
 using namespace clang;

Modified: cfe/trunk/lib/Checker/SymbolManager.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Checker/SymbolManager.cpp?rev=122420&r1=122419&r2=122420&view=diff
==============================================================================
--- cfe/trunk/lib/Checker/SymbolManager.cpp (original)
+++ cfe/trunk/lib/Checker/SymbolManager.cpp Wed Dec 22 12:51:49 2010
@@ -12,9 +12,9 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "clang/Checker/PathSensitive/SymbolManager.h"
+#include "clang/GR/PathSensitive/SymbolManager.h"
 #include "clang/Analysis/Analyses/LiveVariables.h"
-#include "clang/Checker/PathSensitive/MemRegion.h"
+#include "clang/GR/PathSensitive/MemRegion.h"
 #include "llvm/Support/raw_ostream.h"
 
 using namespace clang;

Modified: cfe/trunk/lib/Checker/TextPathDiagnostics.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Checker/TextPathDiagnostics.cpp?rev=122420&r1=122419&r2=122420&view=diff
==============================================================================
--- cfe/trunk/lib/Checker/TextPathDiagnostics.cpp (original)
+++ cfe/trunk/lib/Checker/TextPathDiagnostics.cpp Wed Dec 22 12:51:49 2010
@@ -11,8 +11,8 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "clang/Checker/PathDiagnosticClients.h"
-#include "clang/Checker/BugReporter/PathDiagnostic.h"
+#include "clang/GR/PathDiagnosticClients.h"
+#include "clang/GR/BugReporter/PathDiagnostic.h"
 #include "clang/Lex/Preprocessor.h"
 #include "llvm/Support/raw_ostream.h"
 using namespace clang;

Modified: cfe/trunk/lib/Checker/UndefBranchChecker.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Checker/UndefBranchChecker.cpp?rev=122420&r1=122419&r2=122420&view=diff
==============================================================================
--- cfe/trunk/lib/Checker/UndefBranchChecker.cpp (original)
+++ cfe/trunk/lib/Checker/UndefBranchChecker.cpp Wed Dec 22 12:51:49 2010
@@ -13,8 +13,8 @@
 //===----------------------------------------------------------------------===//
 
 #include "GRExprEngineInternalChecks.h"
-#include "clang/Checker/BugReporter/BugType.h"
-#include "clang/Checker/PathSensitive/Checker.h"
+#include "clang/GR/BugReporter/BugType.h"
+#include "clang/GR/PathSensitive/Checker.h"
 
 using namespace clang;
 

Modified: cfe/trunk/lib/Checker/UndefCapturedBlockVarChecker.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Checker/UndefCapturedBlockVarChecker.cpp?rev=122420&r1=122419&r2=122420&view=diff
==============================================================================
--- cfe/trunk/lib/Checker/UndefCapturedBlockVarChecker.cpp (original)
+++ cfe/trunk/lib/Checker/UndefCapturedBlockVarChecker.cpp Wed Dec 22 12:51:49 2010
@@ -12,9 +12,9 @@
 //===----------------------------------------------------------------------===//
 
 #include "GRExprEngineInternalChecks.h"
-#include "clang/Checker/PathSensitive/CheckerVisitor.h"
-#include "clang/Checker/PathSensitive/GRExprEngine.h"
-#include "clang/Checker/BugReporter/BugType.h"
+#include "clang/GR/PathSensitive/CheckerVisitor.h"
+#include "clang/GR/PathSensitive/GRExprEngine.h"
+#include "clang/GR/BugReporter/BugType.h"
 #include "llvm/Support/raw_ostream.h"
 
 using namespace clang;

Modified: cfe/trunk/lib/Checker/UndefResultChecker.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Checker/UndefResultChecker.cpp?rev=122420&r1=122419&r2=122420&view=diff
==============================================================================
--- cfe/trunk/lib/Checker/UndefResultChecker.cpp (original)
+++ cfe/trunk/lib/Checker/UndefResultChecker.cpp Wed Dec 22 12:51:49 2010
@@ -13,9 +13,9 @@
 //===----------------------------------------------------------------------===//
 
 #include "GRExprEngineInternalChecks.h"
-#include "clang/Checker/BugReporter/BugType.h"
-#include "clang/Checker/PathSensitive/CheckerVisitor.h"
-#include "clang/Checker/PathSensitive/GRExprEngine.h"
+#include "clang/GR/BugReporter/BugType.h"
+#include "clang/GR/PathSensitive/CheckerVisitor.h"
+#include "clang/GR/PathSensitive/GRExprEngine.h"
 
 using namespace clang;
 

Modified: cfe/trunk/lib/Checker/UndefinedArraySubscriptChecker.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Checker/UndefinedArraySubscriptChecker.cpp?rev=122420&r1=122419&r2=122420&view=diff
==============================================================================
--- cfe/trunk/lib/Checker/UndefinedArraySubscriptChecker.cpp (original)
+++ cfe/trunk/lib/Checker/UndefinedArraySubscriptChecker.cpp Wed Dec 22 12:51:49 2010
@@ -13,8 +13,8 @@
 //===----------------------------------------------------------------------===//
 
 #include "GRExprEngineInternalChecks.h"
-#include "clang/Checker/BugReporter/BugType.h"
-#include "clang/Checker/PathSensitive/CheckerVisitor.h"
+#include "clang/GR/BugReporter/BugType.h"
+#include "clang/GR/PathSensitive/CheckerVisitor.h"
 
 using namespace clang;
 

Modified: cfe/trunk/lib/Checker/UndefinedAssignmentChecker.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Checker/UndefinedAssignmentChecker.cpp?rev=122420&r1=122419&r2=122420&view=diff
==============================================================================
--- cfe/trunk/lib/Checker/UndefinedAssignmentChecker.cpp (original)
+++ cfe/trunk/lib/Checker/UndefinedAssignmentChecker.cpp Wed Dec 22 12:51:49 2010
@@ -13,8 +13,8 @@
 //===----------------------------------------------------------------------===//
 
 #include "GRExprEngineInternalChecks.h"
-#include "clang/Checker/BugReporter/BugType.h"
-#include "clang/Checker/PathSensitive/CheckerVisitor.h"
+#include "clang/GR/BugReporter/BugType.h"
+#include "clang/GR/PathSensitive/CheckerVisitor.h"
 
 using namespace clang;
 

Modified: cfe/trunk/lib/Checker/UnixAPIChecker.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Checker/UnixAPIChecker.cpp?rev=122420&r1=122419&r2=122420&view=diff
==============================================================================
--- cfe/trunk/lib/Checker/UnixAPIChecker.cpp (original)
+++ cfe/trunk/lib/Checker/UnixAPIChecker.cpp Wed Dec 22 12:51:49 2010
@@ -14,8 +14,8 @@
 
 #include "GRExprEngineInternalChecks.h"
 #include "clang/Basic/TargetInfo.h"
-#include "clang/Checker/BugReporter/BugType.h"
-#include "clang/Checker/PathSensitive/CheckerVisitor.h"
+#include "clang/GR/BugReporter/BugType.h"
+#include "clang/GR/PathSensitive/CheckerVisitor.h"
 #include "llvm/ADT/Optional.h"
 #include "llvm/ADT/StringSwitch.h"
 #include <fcntl.h>

Modified: cfe/trunk/lib/Checker/UnreachableCodeChecker.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Checker/UnreachableCodeChecker.cpp?rev=122420&r1=122419&r2=122420&view=diff
==============================================================================
--- cfe/trunk/lib/Checker/UnreachableCodeChecker.cpp (original)
+++ cfe/trunk/lib/Checker/UnreachableCodeChecker.cpp Wed Dec 22 12:51:49 2010
@@ -16,11 +16,11 @@
 #include "clang/AST/ParentMap.h"
 #include "clang/Basic/Builtins.h"
 #include "clang/Basic/SourceManager.h"
-#include "clang/Checker/PathSensitive/CheckerVisitor.h"
-#include "clang/Checker/PathSensitive/ExplodedGraph.h"
-#include "clang/Checker/PathSensitive/SVals.h"
-#include "clang/Checker/PathSensitive/CheckerHelpers.h"
-#include "clang/Checker/BugReporter/BugReporter.h"
+#include "clang/GR/PathSensitive/CheckerVisitor.h"
+#include "clang/GR/PathSensitive/ExplodedGraph.h"
+#include "clang/GR/PathSensitive/SVals.h"
+#include "clang/GR/PathSensitive/CheckerHelpers.h"
+#include "clang/GR/BugReporter/BugReporter.h"
 #include "GRExprEngineExperimentalChecks.h"
 #include "llvm/ADT/SmallPtrSet.h"
 

Modified: cfe/trunk/lib/Checker/VLASizeChecker.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Checker/VLASizeChecker.cpp?rev=122420&r1=122419&r2=122420&view=diff
==============================================================================
--- cfe/trunk/lib/Checker/VLASizeChecker.cpp (original)
+++ cfe/trunk/lib/Checker/VLASizeChecker.cpp Wed Dec 22 12:51:49 2010
@@ -16,9 +16,9 @@
 
 #include "GRExprEngineInternalChecks.h"
 #include "clang/AST/CharUnits.h"
-#include "clang/Checker/BugReporter/BugType.h"
-#include "clang/Checker/PathSensitive/CheckerVisitor.h"
-#include "clang/Checker/PathSensitive/GRExprEngine.h"
+#include "clang/GR/BugReporter/BugType.h"
+#include "clang/GR/PathSensitive/CheckerVisitor.h"
+#include "clang/GR/PathSensitive/GRExprEngine.h"
 
 using namespace clang;
 

Modified: cfe/trunk/lib/FrontendTool/ExecuteCompilerInvocation.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/FrontendTool/ExecuteCompilerInvocation.cpp?rev=122420&r1=122419&r2=122420&view=diff
==============================================================================
--- cfe/trunk/lib/FrontendTool/ExecuteCompilerInvocation.cpp (original)
+++ cfe/trunk/lib/FrontendTool/ExecuteCompilerInvocation.cpp Wed Dec 22 12:51:49 2010
@@ -13,7 +13,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "clang/FrontendTool/Utils.h"
-#include "clang/Checker/FrontendActions.h"
+#include "clang/GR/FrontendActions.h"
 #include "clang/CodeGen/CodeGenAction.h"
 #include "clang/Driver/CC1Options.h"
 #include "clang/Driver/OptTable.h"





More information about the cfe-commits mailing list