diff --git a/include/clang/Analysis/CFG.h b/include/clang/Analysis/CFG.h index 293990c88e703f0498efef9a45f9b0d711bba306..02fbf37e9f773bc55580ec46e88d6be648c9004d 100644 --- a/include/clang/Analysis/CFG.h +++ b/include/clang/Analysis/CFG.h @@ -999,6 +999,7 @@ template <> struct simplify_type< ::clang::CFGTerminator> { template <> struct GraphTraits< ::clang::CFGBlock *> { typedef ::clang::CFGBlock NodeType; + typedef ::clang::CFGBlock *NodeRef; typedef ::clang::CFGBlock::succ_iterator ChildIteratorType; static NodeType* getEntryNode(::clang::CFGBlock *BB) @@ -1013,6 +1014,7 @@ template <> struct GraphTraits< ::clang::CFGBlock *> { template <> struct GraphTraits< const ::clang::CFGBlock *> { typedef const ::clang::CFGBlock NodeType; + typedef const ::clang::CFGBlock *NodeRef; typedef ::clang::CFGBlock::const_succ_iterator ChildIteratorType; static NodeType* getEntryNode(const clang::CFGBlock *BB) @@ -1027,6 +1029,7 @@ template <> struct GraphTraits< const ::clang::CFGBlock *> { template <> struct GraphTraits<Inverse< ::clang::CFGBlock*> > { typedef ::clang::CFGBlock NodeType; + typedef ::clang::CFGBlock *NodeRef; typedef ::clang::CFGBlock::const_pred_iterator ChildIteratorType; static NodeType *getEntryNode(Inverse< ::clang::CFGBlock*> G) @@ -1041,6 +1044,7 @@ template <> struct GraphTraits<Inverse< ::clang::CFGBlock*> > { template <> struct GraphTraits<Inverse<const ::clang::CFGBlock*> > { typedef const ::clang::CFGBlock NodeType; + typedef const ::clang::CFGBlock *NodeRef; typedef ::clang::CFGBlock::const_pred_iterator ChildIteratorType; static NodeType *getEntryNode(Inverse<const ::clang::CFGBlock*> G) diff --git a/include/clang/Analysis/CallGraph.h b/include/clang/Analysis/CallGraph.h index eda22a57e8a50b1c496ba790ff9d60b28aaa2d2d..241ecd54d30b91888d924f87087fcc7a0baf75d4 100644 --- a/include/clang/Analysis/CallGraph.h +++ b/include/clang/Analysis/CallGraph.h @@ -172,6 +172,7 @@ public: namespace llvm { template <> struct GraphTraits<clang::CallGraphNode*> { typedef clang::CallGraphNode NodeType; + typedef clang::CallGraphNode *NodeRef; typedef clang::CallGraphNode::CallRecord CallRecordTy; typedef std::pointer_to_unary_function<CallRecordTy, clang::CallGraphNode*> CGNDerefFun; @@ -190,6 +191,7 @@ template <> struct GraphTraits<clang::CallGraphNode*> { template <> struct GraphTraits<const clang::CallGraphNode*> { typedef const clang::CallGraphNode NodeType; + typedef const clang::CallGraphNode *NodeRef; typedef NodeType::const_iterator ChildIteratorType; static NodeType *getEntryNode(const clang::CallGraphNode *CGN) { return CGN; } static inline ChildIteratorType child_begin(NodeType *N) { return N->begin();}