mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-23 01:24:30 +00:00
Readdress r236990, use of static members on a non-static variable.
The TargetRegistry is just a namespace-like class, instantiated in one place to use a range-based for loop. Instead, expose access to the registry via a range-based 'targets()' function instead. This makes most uses a bit awkward/more verbose - but eventually we should just add a range-based find_if function which will streamline these functions. I'm happy to mkae them a bit awkward in the interim as encouragement to improve the algorithms in time. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@237059 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -47,11 +47,11 @@ inline LLVMTargetRef wrap(const Target * P) {
|
||||
}
|
||||
|
||||
LLVMTargetRef LLVMGetFirstTarget() {
|
||||
if(TargetRegistry::begin() == TargetRegistry::end()) {
|
||||
if (TargetRegistry::targets().begin() == TargetRegistry::targets().end()) {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
const Target* target = &*TargetRegistry::begin();
|
||||
const Target *target = &*TargetRegistry::targets().begin();
|
||||
return wrap(target);
|
||||
}
|
||||
LLVMTargetRef LLVMGetNextTarget(LLVMTargetRef T) {
|
||||
@ -60,13 +60,10 @@ LLVMTargetRef LLVMGetNextTarget(LLVMTargetRef T) {
|
||||
|
||||
LLVMTargetRef LLVMGetTargetFromName(const char *Name) {
|
||||
StringRef NameRef = Name;
|
||||
for (TargetRegistry::iterator IT = TargetRegistry::begin(),
|
||||
IE = TargetRegistry::end(); IT != IE; ++IT) {
|
||||
if (IT->getName() == NameRef)
|
||||
return wrap(&*IT);
|
||||
}
|
||||
|
||||
return nullptr;
|
||||
auto I = std::find_if(
|
||||
TargetRegistry::targets().begin(), TargetRegistry::targets().end(),
|
||||
[&](const Target &T) { return T.getName() == NameRef; });
|
||||
return I != TargetRegistry::targets().end() ? wrap(&*I) : nullptr;
|
||||
}
|
||||
|
||||
LLVMBool LLVMGetTargetFromTriple(const char* TripleStr, LLVMTargetRef *T,
|
||||
|
Reference in New Issue
Block a user