Use 'static const char' instead of 'static const int'.
Due to darwin gcc bug, one version of darwin linker coalesces
static const int, which defauts PassID based pass identification.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36652 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Analysis/IPA/Andersens.cpp b/lib/Analysis/IPA/Andersens.cpp
index cd90a6f..3e5be67 100644
--- a/lib/Analysis/IPA/Andersens.cpp
+++ b/lib/Analysis/IPA/Andersens.cpp
@@ -76,7 +76,7 @@
   class VISIBILITY_HIDDEN Andersens : public ModulePass, public AliasAnalysis,
                                       private InstVisitor<Andersens> {
   public:
-    static const int ID; // Class identification, replacement for typeinfo
+    static const char ID; // Class identification, replacement for typeinfo
     Andersens() : ModulePass((intptr_t)&ID) {}
   private:
     /// Node class - This class is used to represent a memory object in the
@@ -339,7 +339,7 @@
     void visitInstruction(Instruction &I);
   };
 
-  const int Andersens::ID = 0;
+  const char Andersens::ID = 0;
   RegisterPass<Andersens> X("anders-aa",
                             "Andersen's Interprocedural Alias Analysis");
   RegisterAnalysisGroup<AliasAnalysis> Y(X);
diff --git a/lib/Analysis/IPA/CallGraph.cpp b/lib/Analysis/IPA/CallGraph.cpp
index ad6c898..4309555 100644
--- a/lib/Analysis/IPA/CallGraph.cpp
+++ b/lib/Analysis/IPA/CallGraph.cpp
@@ -51,7 +51,7 @@
   CallGraphNode *CallsExternalNode;
 
 public:
-  static const int ID; // Class identification, replacement for typeinfo
+  static const char ID; // Class identification, replacement for typeinfo
   BasicCallGraph() : ModulePass((intptr_t)&ID), Root(0), 
     ExternalCallingNode(0), CallsExternalNode(0) {}
 
@@ -190,15 +190,14 @@
   }
 };
 
-
 RegisterAnalysisGroup<CallGraph> X("Call Graph");
 RegisterPass<BasicCallGraph> Y("basiccg", "Basic CallGraph Construction");
 RegisterAnalysisGroup<CallGraph, true> Z(Y);
 
 } //End anonymous namespace
 
-const int CallGraph::ID = 0;
-const int BasicCallGraph::ID = 0;
+const char CallGraph::ID = 0;
+const char BasicCallGraph::ID = 0;
 
 void CallGraph::initialize(Module &M) {
   Mod = &M;
diff --git a/lib/Analysis/IPA/CallGraphSCCPass.cpp b/lib/Analysis/IPA/CallGraphSCCPass.cpp
index 2c5aeaa..b75eae8 100644
--- a/lib/Analysis/IPA/CallGraphSCCPass.cpp
+++ b/lib/Analysis/IPA/CallGraphSCCPass.cpp
@@ -30,7 +30,7 @@
 class CGPassManager : public ModulePass, public PMDataManager {
 
 public:
-  static const int ID;
+  static const char ID;
   CGPassManager(int Depth) 
     : ModulePass((intptr_t)&ID), PMDataManager(Depth) { }
 
@@ -73,7 +73,7 @@
   }
 };
 
-const int CGPassManager::ID = 0;
+const char CGPassManager::ID = 0;
 /// run - Execute all of the passes scheduled for execution.  Keep track of
 /// whether any of the passes modifies the module, and if so, return true.
 bool CGPassManager::runOnModule(Module &M) {
diff --git a/lib/Analysis/IPA/FindUsedTypes.cpp b/lib/Analysis/IPA/FindUsedTypes.cpp
index d35f7be..d52617d 100644
--- a/lib/Analysis/IPA/FindUsedTypes.cpp
+++ b/lib/Analysis/IPA/FindUsedTypes.cpp
@@ -21,7 +21,7 @@
 #include "llvm/Support/InstIterator.h"
 using namespace llvm;
 
-const int FindUsedTypes::ID = 0;
+const char FindUsedTypes::ID = 0;
 static RegisterPass<FindUsedTypes>
 X("printusedtypes", "Find Used Types");
 
diff --git a/lib/Analysis/IPA/GlobalsModRef.cpp b/lib/Analysis/IPA/GlobalsModRef.cpp
index ea8b1d8..b704931 100644
--- a/lib/Analysis/IPA/GlobalsModRef.cpp
+++ b/lib/Analysis/IPA/GlobalsModRef.cpp
@@ -83,7 +83,7 @@
     std::map<Function*, FunctionRecord> FunctionInfo;
 
   public:
-    static const int ID;
+    static const char ID;
     GlobalsModRef() : ModulePass((intptr_t)&ID) {}
 
     bool runOnModule(Module &M) {
@@ -146,7 +146,7 @@
     bool AnalyzeIndirectGlobalMemory(GlobalValue *GV);
   };
 
-  const int GlobalsModRef::ID = 0;
+  const char GlobalsModRef::ID = 0;
   RegisterPass<GlobalsModRef> X("globalsmodref-aa",
                                 "Simple mod/ref analysis for globals");
   RegisterAnalysisGroup<AliasAnalysis> Y(X);