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/tools/opt/PrintSCC.cpp b/tools/opt/PrintSCC.cpp
index 689307c..bf3078f 100644
--- a/tools/opt/PrintSCC.cpp
+++ b/tools/opt/PrintSCC.cpp
@@ -35,7 +35,7 @@
namespace {
struct CFGSCC : public FunctionPass {
- static const int ID; // Pass identification, replacement for typeid
+ static const char ID; // Pass identification, replacement for typeid
CFGSCC() : FunctionPass((intptr_t)&ID) {}
bool runOnFunction(Function& func);
@@ -47,7 +47,7 @@
};
struct CallGraphSCC : public ModulePass {
- static const int ID; // Pass identification, replacement for typeid
+ static const char ID; // Pass identification, replacement for typeid
CallGraphSCC() : ModulePass((intptr_t)&ID) {}
// run - Print out SCCs in the call graph for the specified module.
@@ -62,11 +62,11 @@
}
};
- const int CFGSCC::ID = 0;
+ const char CFGSCC::ID = 0;
RegisterPass<CFGSCC>
Y("cfgscc", "Print SCCs of each function CFG");
- const int CallGraphSCC::ID = 0;
+ const char CallGraphSCC::ID = 0;
RegisterPass<CallGraphSCC>
Z("callscc", "Print SCCs of the Call Graph");
}