diff options
Diffstat (limited to 'include/clang/Analysis/ProgramPoint.h')
-rw-r--r-- | include/clang/Analysis/ProgramPoint.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/include/clang/Analysis/ProgramPoint.h b/include/clang/Analysis/ProgramPoint.h index 39ce03fd96..45ec936e9a 100644 --- a/include/clang/Analysis/ProgramPoint.h +++ b/include/clang/Analysis/ProgramPoint.h @@ -104,6 +104,15 @@ class BlockEdge : public ProgramPoint { typedef std::pair<CFGBlock*,CFGBlock*> BPair; public: BlockEdge(CFG& cfg, const CFGBlock* B1, const CFGBlock* B2); + + /// This ctor forces the BlockEdge to be constructed using an explicitly + /// allocated pair object that is stored in the CFG. This is usually + /// used to construct edges representing jumps using computed gotos. + BlockEdge(CFG& cfg, const CFGBlock* B1, const CFGBlock* B2, bool) { + Data = reinterpret_cast<uintptr_t>(cfg.getBlockEdgeImpl(B1, B2)) + | BlockEdgeAuxKind; + } + CFGBlock* getSrc() const; CFGBlock* getDst() const; |