[llvm-branch-commits] [cfe-branch] r278678 - Merging r277783 and r278156 to unbreak Clang on the branch after r278674

Hans Wennborg via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Mon Aug 15 09:32:18 PDT 2016


Author: hans
Date: Mon Aug 15 11:32:18 2016
New Revision: 278678

URL: http://llvm.org/viewvc/llvm-project?rev=278678&view=rev
Log:
Merging r277783 and r278156 to unbreak Clang on the branch after r278674

------------------------------------------------------------------------
r277783 | timshen | 2016-08-04 16:03:44 -0700 (Thu, 04 Aug 2016) | 9 lines

[ADT] Migrate DepthFirstIterator to use NodeRef

Summary: The corresponding LLVM change is D23146.

Reviewers: dblaikie, chandlerc

Subscribers: cfe-commits

Differential Revision: https://reviews.llvm.org/D23147
------------------------------------------------------------------------

------------------------------------------------------------------------
r278156 | timshen | 2016-08-09 13:22:55 -0700 (Tue, 09 Aug 2016) | 16 lines

[ADT] Change iterator_adaptor_base's default template arguments to forward more underlying typedefs

Summary:
The corresponding LLVM change: D23217.

LazyVector::iterator breaks, because int isn't an iterator type.
Since iterator_adaptor_base shouldn't be blamed to break at the call to
iterator_traits<int>::xxx, I'd rather "fix" LazyVector::iterator.

The perfect solution is to model "relative pointer", but it's beyond the goal of this patch.

Reviewers: chandlerc, bkramer

Subscribers: cfe-commits

Differential Revision: https://reviews.llvm.org/D23218
------------------------------------------------------------------------

Modified:
    cfe/branches/release_39/   (props changed)
    cfe/branches/release_39/include/clang/AST/ExternalASTSource.h
    cfe/branches/release_39/include/clang/AST/StmtGraphTraits.h
    cfe/branches/release_39/include/clang/Analysis/Analyses/Dominators.h
    cfe/branches/release_39/include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h

Propchange: cfe/branches/release_39/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Aug 15 11:32:18 2016
@@ -1,4 +1,4 @@
 /cfe/branches/type-system-rewrite:134693-134817
-/cfe/trunk:275880,275967,276102,276350,276361,276473,276653,276716,276887,276891,276900,276979,276983,277095,277138,277141,277221,277307,277522,277743,277796-277797,277866,277889,277900,278139,278234-278235,278393,278395
+/cfe/trunk:275880,275967,276102,276350,276361,276473,276653,276716,276887,276891,276900,276979,276983,277095,277138,277141,277221,277307,277522,277743,277783,277796-277797,277866,277889,277900,278139,278156,278234-278235,278393,278395
 /cfe/trunk/test:170344
 /cfe/trunk/test/SemaTemplate:126920

Modified: cfe/branches/release_39/include/clang/AST/ExternalASTSource.h
URL: http://llvm.org/viewvc/llvm-project/cfe/branches/release_39/include/clang/AST/ExternalASTSource.h?rev=278678&r1=278677&r2=278678&view=diff
==============================================================================
--- cfe/branches/release_39/include/clang/AST/ExternalASTSource.h (original)
+++ cfe/branches/release_39/include/clang/AST/ExternalASTSource.h Mon Aug 15 11:32:18 2016
@@ -503,8 +503,9 @@ public:
   /// We define this as a wrapping iterator around an int. The
   /// iterator_adaptor_base class forwards the iterator methods to basic integer
   /// arithmetic.
-  class iterator : public llvm::iterator_adaptor_base<
-                       iterator, int, std::random_access_iterator_tag, T, int> {
+  class iterator
+      : public llvm::iterator_adaptor_base<
+            iterator, int, std::random_access_iterator_tag, T, int, T *, T &> {
     LazyVector *Self;
 
     iterator(LazyVector *Self, int Position)

Modified: cfe/branches/release_39/include/clang/AST/StmtGraphTraits.h
URL: http://llvm.org/viewvc/llvm-project/cfe/branches/release_39/include/clang/AST/StmtGraphTraits.h?rev=278678&r1=278677&r2=278678&view=diff
==============================================================================
--- cfe/branches/release_39/include/clang/AST/StmtGraphTraits.h (original)
+++ cfe/branches/release_39/include/clang/AST/StmtGraphTraits.h Mon Aug 15 11:32:18 2016
@@ -26,6 +26,7 @@ namespace llvm {
 
 template <> struct GraphTraits<clang::Stmt*> {
   typedef clang::Stmt                       NodeType;
+  typedef clang::Stmt *                     NodeRef;
   typedef clang::Stmt::child_iterator       ChildIteratorType;
   typedef llvm::df_iterator<clang::Stmt*>   nodes_iterator;
 
@@ -53,6 +54,7 @@ template <> struct GraphTraits<clang::St
 
 template <> struct GraphTraits<const clang::Stmt*> {
   typedef const clang::Stmt                       NodeType;
+  typedef const clang::Stmt *                     NodeRef;
   typedef clang::Stmt::const_child_iterator       ChildIteratorType;
   typedef llvm::df_iterator<const clang::Stmt*>   nodes_iterator;
 

Modified: cfe/branches/release_39/include/clang/Analysis/Analyses/Dominators.h
URL: http://llvm.org/viewvc/llvm-project/cfe/branches/release_39/include/clang/Analysis/Analyses/Dominators.h?rev=278678&r1=278677&r2=278678&view=diff
==============================================================================
--- cfe/branches/release_39/include/clang/Analysis/Analyses/Dominators.h (original)
+++ cfe/branches/release_39/include/clang/Analysis/Analyses/Dominators.h Mon Aug 15 11:32:18 2016
@@ -168,6 +168,7 @@ private:
 namespace llvm {
 template <> struct GraphTraits< ::clang::DomTreeNode* > {
   typedef ::clang::DomTreeNode NodeType;
+  typedef ::clang::DomTreeNode *NodeRef;
   typedef NodeType::iterator  ChildIteratorType;
 
   static NodeType *getEntryNode(NodeType *N) {

Modified: cfe/branches/release_39/include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h
URL: http://llvm.org/viewvc/llvm-project/cfe/branches/release_39/include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h?rev=278678&r1=278677&r2=278678&view=diff
==============================================================================
--- cfe/branches/release_39/include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h (original)
+++ cfe/branches/release_39/include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h Mon Aug 15 11:32:18 2016
@@ -452,6 +452,7 @@ public:
 namespace llvm {
   template<> struct GraphTraits<clang::ento::ExplodedNode*> {
     typedef clang::ento::ExplodedNode NodeType;
+    typedef clang::ento::ExplodedNode *NodeRef;
     typedef NodeType::succ_iterator  ChildIteratorType;
     typedef llvm::df_iterator<NodeType*>      nodes_iterator;
 
@@ -478,6 +479,7 @@ namespace llvm {
 
   template<> struct GraphTraits<const clang::ento::ExplodedNode*> {
     typedef const clang::ento::ExplodedNode NodeType;
+    typedef const clang::ento::ExplodedNode *NodeRef;
     typedef NodeType::const_succ_iterator   ChildIteratorType;
     typedef llvm::df_iterator<NodeType*>       nodes_iterator;
 




More information about the llvm-branch-commits mailing list