Per Chris's comment, remove another static (this one

is a static comparator operator).



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106511 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Fariborz Jahanian 2010-06-22 00:23:08 +00:00
Родитель 7255a2d997
Коммит f489688114
2 изменённых файлов: 15 добавлений и 18 удалений

Просмотреть файл

@ -180,22 +180,6 @@ CodeGenModule::EmitCXXGlobalVarDeclInitFunc(const VarDecl *D) {
CXXGlobalInits.push_back(Fn);
}
typedef std::pair<CodeGen::OrderGlobalInitsType,
llvm::Function *> global_init_pair;
static int PrioritizedCXXGlobalInitsCmp(const void* a, const void* b) {
const global_init_pair *LHS = static_cast<const global_init_pair*>(a);
const global_init_pair *RHS = static_cast<const global_init_pair*>(b);
if (LHS->first.priority < RHS->first.priority)
return -1;
if (LHS->first.priority == RHS->first.priority) {
if (LHS->first.lex_order < RHS->first.lex_order)
return -1;
if (LHS->first.lex_order == RHS->first.lex_order)
return 0;
}
return +1;
}
void
CodeGenModule::EmitCXXGlobalInitFunc() {
if (CXXGlobalInits.empty() && PrioritizedCXXGlobalInits.empty())
@ -212,8 +196,7 @@ CodeGenModule::EmitCXXGlobalInitFunc() {
if (!PrioritizedCXXGlobalInits.empty()) {
llvm::SmallVector<llvm::Constant*, 8> LocalCXXGlobalInits;
llvm::array_pod_sort(PrioritizedCXXGlobalInits.begin(),
PrioritizedCXXGlobalInits.end(),
PrioritizedCXXGlobalInitsCmp);
PrioritizedCXXGlobalInits.end());
for (unsigned i = 0; i < PrioritizedCXXGlobalInits.size(); i++) {
llvm::Function *Fn = PrioritizedCXXGlobalInits[i].second;
LocalCXXGlobalInits.push_back(Fn);

Просмотреть файл

@ -80,6 +80,20 @@ namespace CodeGen {
unsigned int lex_order;
OrderGlobalInits(unsigned int p, unsigned int l)
: priority(p), lex_order(l) {}
friend bool operator==(const OrderGlobalInits &LHS,
const OrderGlobalInits &RHS) {
return LHS.priority == RHS.priority &&
LHS.lex_order == RHS.lex_order;
}
friend bool operator<(const OrderGlobalInits &LHS,
const OrderGlobalInits &RHS) {
if (LHS.priority < RHS.priority)
return true;
return LHS.priority == RHS.priority &&
LHS.lex_order < RHS.lex_order;
}
} OrderGlobalInitsType;
/// CodeGenModule - This class organizes the cross-function state that is used