r214067 - DataflowWorklist.h: Appease msc17 -- Split a private constructor to DataflowWorklistBase.

NAKAMURA Takumi geek4civic at gmail.com
Mon Jul 28 04:33:50 PDT 2014


Author: chapuni
Date: Mon Jul 28 06:33:49 2014
New Revision: 214067

URL: http://llvm.org/viewvc/llvm-project?rev=214067&view=rev
Log:
DataflowWorklist.h: Appease msc17 -- Split a private constructor to DataflowWorklistBase.

MSC17 isn't capable to invoke other constructors in its scope.

Modified:
    cfe/trunk/include/clang/Analysis/Analyses/DataflowWorklist.h

Modified: cfe/trunk/include/clang/Analysis/Analyses/DataflowWorklist.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Analysis/Analyses/DataflowWorklist.h?rev=214067&r1=214066&r2=214067&view=diff
==============================================================================
--- cfe/trunk/include/clang/Analysis/Analyses/DataflowWorklist.h (original)
+++ cfe/trunk/include/clang/Analysis/Analyses/DataflowWorklist.h Mon Jul 28 06:33:49 2014
@@ -18,13 +18,14 @@
 
 namespace clang {
 
-class DataflowWorklist {
+class DataflowWorklistBase {
+protected:
   PostOrderCFGView::iterator PO_I, PO_E;
   PostOrderCFGView::BlockOrderCompare comparator;
   SmallVector<const CFGBlock *, 20> 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<PostOrderCFGView>()) {}
+    : DataflowWorklistBase(cfg, *Ctx.getAnalysis<PostOrderCFGView>()) {}
 
   void enqueueBlock(const CFGBlock *block);
   void enqueuePredecessors(const CFGBlock *block);





More information about the cfe-commits mailing list