Sort list of targets in --version.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77127 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Daniel Dunbar 2009-07-26 05:09:50 +00:00
parent 8977d087c6
commit 77454a2105

View File

@ -1144,19 +1144,22 @@ public:
cout << "\n";
cout << " Registered Targets:\n";
std::vector<std::pair<std::string, const Target*> > Targets;
size_t Width = 0;
for (TargetRegistry::iterator it = TargetRegistry::begin(),
ie = TargetRegistry::end(); it != ie; ++it)
ie = TargetRegistry::end(); it != ie; ++it) {
Targets.push_back(std::make_pair(it->getName(), &*it));
Width = std::max(Width, ::strlen(it->getName()));
unsigned NumTargets = 0;
for (TargetRegistry::iterator it = TargetRegistry::begin(),
ie = TargetRegistry::end(); it != ie; ++it, ++NumTargets) {
cout << " " << it->getName()
<< std::string(Width - ::strlen(it->getName()), ' ') << " - "
<< it->getShortDescription() << "\n";
}
if (!NumTargets)
std::sort(Targets.begin(), Targets.end());
for (unsigned i = 0, e = Targets.size(); i != e; ++i) {
const Target *T = Targets[i].second;
cout << " " << T->getName()
<< std::string(Width - ::strlen(T->getName()), ' ') << " - "
<< T->getShortDescription() << "\n";
}
if (Targets.empty())
cout << " (none)\n";
}
void operator=(bool OptionWasSpecified) {