fix some problems with ID definitions, which will hopefully fix the build bots.
[oota-llvm.git] / lib / Analysis / DomPrinter.cpp
index f7918177ccaa3b4dcef5feb95bce70a952b81be2..82e13a9ef2647263213296f0cd9d13351a2d3482 100644 (file)
@@ -78,11 +78,9 @@ struct DOTGraphTraits<PostDominatorTree*>
 namespace {
 template <class Analysis, bool OnlyBBS>
 struct GenericGraphViewer : public FunctionPass {
-
-  static char ID;
   std::string Name;
 
-  GenericGraphViewer(std::string GraphName) : FunctionPass(&ID) {
+  GenericGraphViewer(std::string GraphName, const void *ID) : FunctionPass(ID) {
     Name = GraphName;
   }
 
@@ -104,27 +102,27 @@ struct GenericGraphViewer : public FunctionPass {
 struct DomViewer
   : public GenericGraphViewer<DominatorTree, false> {
   static char ID;
-  DomViewer() : GenericGraphViewer<DominatorTree, false>("dom"){}
+  DomViewer() : GenericGraphViewer<DominatorTree, false>("dom", &ID){}
 };
 
 struct DomOnlyViewer
   : public GenericGraphViewer<DominatorTree, true> {
   static char ID;
-  DomOnlyViewer() : GenericGraphViewer<DominatorTree, true>("domonly"){}
+  DomOnlyViewer() : GenericGraphViewer<DominatorTree, true>("domonly", &ID){}
 };
 
 struct PostDomViewer
   : public GenericGraphViewer<PostDominatorTree, false> {
   static char ID;
   PostDomViewer() :
-    GenericGraphViewer<PostDominatorTree, false>("postdom"){}
+    GenericGraphViewer<PostDominatorTree, false>("postdom", &ID){}
 };
 
 struct PostDomOnlyViewer
   : public GenericGraphViewer<PostDominatorTree, true> {
   static char ID;
   PostDomOnlyViewer() :
-    GenericGraphViewer<PostDominatorTree, true>("postdomonly"){}
+    GenericGraphViewer<PostDominatorTree, true>("postdomonly", &ID){}
 };
 } // end anonymous namespace