[llvm] a676bdb - Revert "[NFC] Use an llvm::DenseMap instead of std::map in CategorizedHelpPrinter::printOptions"
Nico Weber via llvm-commits
llvm-commits at lists.llvm.org
Tue Jan 25 13:42:16 PST 2022
Author: Nico Weber
Date: 2022-01-25T16:36:38-05:00
New Revision: a676bdb5d65bd827a17e82c8b7b89e93cc692501
URL: https://github.com/llvm/llvm-project/commit/a676bdb5d65bd827a17e82c8b7b89e93cc692501
DIFF: https://github.com/llvm/llvm-project/commit/a676bdb5d65bd827a17e82c8b7b89e93cc692501.diff
LOG: Revert "[NFC] Use an llvm::DenseMap instead of std::map in CategorizedHelpPrinter::printOptions"
This reverts commit 6427f4c52c31cc36004b14825e6598cd4a43f385.
Breaks a bunch of tests, see e.g. http://45.33.8.238/linux/66340/step_7.txt
or https://lab.llvm.org/buildbot/#/builders/139/builds/16807
Added:
Modified:
llvm/lib/Support/CommandLine.cpp
Removed:
################################################################################
diff --git a/llvm/lib/Support/CommandLine.cpp b/llvm/lib/Support/CommandLine.cpp
index e517ceb05d9bd..ed4f01f176c2f 100644
--- a/llvm/lib/Support/CommandLine.cpp
+++ b/llvm/lib/Support/CommandLine.cpp
@@ -45,6 +45,7 @@
#include "llvm/Support/VirtualFileSystem.h"
#include "llvm/Support/raw_ostream.h"
#include <cstdlib>
+#include <map>
#include <string>
using namespace llvm;
using namespace cl;
@@ -2338,7 +2339,7 @@ class CategorizedHelpPrinter : public HelpPrinter {
protected:
void printOptions(StrOptionPairVector &Opts, size_t MaxArgLen) override {
std::vector<OptionCategory *> SortedCategories;
- DenseMap<OptionCategory *, std::vector<Option *>> CategorizedOptions;
+ std::map<OptionCategory *, std::vector<Option *>> CategorizedOptions;
// Collect registered option categories into vector in preparation for
// sorting.
@@ -2350,6 +2351,10 @@ class CategorizedHelpPrinter : public HelpPrinter {
array_pod_sort(SortedCategories.begin(), SortedCategories.end(),
OptionCategoryCompare);
+ // Create map to empty vectors.
+ for (OptionCategory *Category : SortedCategories)
+ CategorizedOptions[Category] = std::vector<Option *>();
+
// Walk through pre-sorted options and assign into categories.
// Because the options are already alphabetically sorted the
// options within categories will also be alphabetically sorted.
More information about the llvm-commits
mailing list