[PATCH] D37400: [StaticAnalyzer] Fix failures due to the iteration order of ExplodedNode

Mandeep Singh Grang via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Sun Sep 3 21:21:30 PDT 2017


mgrang updated this revision to Diff 113720.
mgrang added a comment.

I had accidentally pushed a wrong patch to this commit. Fixed it now.


https://reviews.llvm.org/D37400

Files:
  include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h


Index: include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h
===================================================================
--- include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h
+++ include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h
@@ -27,7 +27,6 @@
 #include "llvm/ADT/DepthFirstIterator.h"
 #include "llvm/ADT/FoldingSet.h"
 #include "llvm/ADT/GraphTraits.h"
-#include "llvm/ADT/SmallPtrSet.h"
 #include "llvm/Support/Allocator.h"
 #include "llvm/Support/Casting.h"
 #include <memory>
@@ -404,7 +403,7 @@
 };
 
 class ExplodedNodeSet {
-  typedef llvm::SmallPtrSet<ExplodedNode*,5> ImplTy;
+  typedef llvm::SetVector<ExplodedNode*> ImplTy;
   ImplTy Impl;
 
 public:
@@ -424,7 +423,7 @@
 
   unsigned size() const { return Impl.size();  }
   bool empty()    const { return Impl.empty(); }
-  bool erase(ExplodedNode *N) { return Impl.erase(N); }
+  bool erase(ExplodedNode *N) { return Impl.remove(N); }
 
   void clear() { Impl.clear(); }
   void insert(const ExplodedNodeSet &S) {


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D37400.113720.patch
Type: text/x-patch
Size: 1028 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20170904/123afc6d/attachment.bin>


More information about the cfe-commits mailing list