From: NAKAMURA Takumi Date: Mon, 28 Jul 2014 11:33:49 +0000 (+0000) Subject: DataflowWorklist.h: Appease msc17 -- Split a private constructor to DataflowWorklistBase. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=0b98d3238d7e73a1d21f7889cc62173c4b37e7dc;p=clang DataflowWorklist.h: Appease msc17 -- Split a private constructor to DataflowWorklistBase. MSC17 isn't capable to invoke other constructors in its scope. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@214067 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/clang/Analysis/Analyses/DataflowWorklist.h b/include/clang/Analysis/Analyses/DataflowWorklist.h index 9afaae9146..dfa00f9dad 100644 --- a/include/clang/Analysis/Analyses/DataflowWorklist.h +++ b/include/clang/Analysis/Analyses/DataflowWorklist.h @@ -18,13 +18,14 @@ namespace clang { -class DataflowWorklist { +class DataflowWorklistBase { +protected: PostOrderCFGView::iterator PO_I, PO_E; PostOrderCFGView::BlockOrderCompare comparator; SmallVector worklist; llvm::BitVector enqueuedBlocks; - DataflowWorklist(const CFG &cfg, PostOrderCFGView &view) + DataflowWorklistBase(const CFG &cfg, PostOrderCFGView &view) : PO_I(view.begin()), PO_E(view.end()), comparator(view.getComparator()), enqueuedBlocks(cfg.getNumBlockIDs(), true) { @@ -35,10 +36,13 @@ class DataflowWorklist { ++PO_I; } } +}; + +class DataflowWorklist : DataflowWorklistBase { public: DataflowWorklist(const CFG &cfg, AnalysisDeclContext &Ctx) - : DataflowWorklist(cfg, *Ctx.getAnalysis()) {} + : DataflowWorklistBase(cfg, *Ctx.getAnalysis()) {} void enqueueBlock(const CFGBlock *block); void enqueuePredecessors(const CFGBlock *block);