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.
llvm-svn: 36652
diff --git a/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp b/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
index 6310e5d..a91dbc2 100644
--- a/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
+++ b/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
@@ -63,7 +63,7 @@
}
virtual bool runOnSCC(const std::vector<CallGraphNode *> &SCC);
- static const int ID; // Pass identifcation, replacement for typeid
+ static const char ID; // Pass identifcation, replacement for typeid
ArgPromotion() : CallGraphSCCPass((intptr_t)&ID) {}
private:
@@ -72,7 +72,7 @@
Function *DoPromotion(Function *F, std::vector<Argument*> &ArgsToPromote);
};
- const int ArgPromotion::ID = 0;
+ const char ArgPromotion::ID = 0;
RegisterPass<ArgPromotion> X("argpromotion",
"Promote 'by reference' arguments to scalars");
}