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/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;