[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