Revert "[NFC] Use an llvm::DenseMap instead of std::map in CategorizedHelpPrinter...
authorNico Weber <thakis@chromium.org>
Tue, 25 Jan 2022 21:36:38 +0000 (16:36 -0500)
committerNico Weber <thakis@chromium.org>
Tue, 25 Jan 2022 21:36:38 +0000 (16:36 -0500)
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

llvm/lib/Support/CommandLine.cpp

index e517ceb..ed4f01f 100644 (file)
@@ -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 @@ public:
 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 @@ protected:
     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.