diff --git a/include/llvm/Support/CommandLine.h b/include/llvm/Support/CommandLine.h index efa17219585..e53ac06a3cd 100644 --- a/include/llvm/Support/CommandLine.h +++ b/include/llvm/Support/CommandLine.h @@ -20,7 +20,6 @@ #ifndef LLVM_SUPPORT_COMMANDLINE_H #define LLVM_SUPPORT_COMMANDLINE_H -#include "llvm/ADT/ArrayRef.h" #include "llvm/ADT/SmallVector.h" #include "llvm/ADT/StringMap.h" #include "llvm/ADT/Twine.h" @@ -1939,7 +1938,7 @@ void HideUnrelatedOptions(cl::OptionCategory &Category); /// Some tools (like clang-format) like to be able to hide all options that are /// not specific to the tool. This function allows a tool to specify a single /// option category to display in the -help output. -void HideUnrelatedOptions(ArrayRef Categories); +void HideUnrelatedOptions(SmallVectorImpl &Categories); } // End namespace cl diff --git a/lib/Support/CommandLine.cpp b/lib/Support/CommandLine.cpp index 35c49be02ce..4cd6f0c5f0a 100644 --- a/lib/Support/CommandLine.cpp +++ b/lib/Support/CommandLine.cpp @@ -1861,7 +1861,8 @@ void cl::HideUnrelatedOptions(cl::OptionCategory &Category) { } } -void cl::HideUnrelatedOptions(ArrayRef Categories) { +void cl::HideUnrelatedOptions( + SmallVectorImpl &Categories) { auto CategoriesBegin = Categories.begin(); auto CategoriesEnd = Categories.end(); StringMap Options; diff --git a/unittests/Support/CommandLineTest.cpp b/unittests/Support/CommandLineTest.cpp index 8e84bd93072..4fa14e252fb 100644 --- a/unittests/Support/CommandLineTest.cpp +++ b/unittests/Support/CommandLineTest.cpp @@ -247,29 +247,4 @@ TEST(CommandLineTest, HideUnrelatedOptions) { << "Hid default option that should be visable."; } -cl::OptionCategory TestCategory2("Test Options set 2", "Description"); - -TEST(CommandLineTest, HideUnrelatedOptionsMulti) { - cl::opt TestOption1("test-option-1"); - cl::opt TestOption2("test-option-2", cl::cat(TestCategory)); - cl::opt TestOption3("test-option-3", cl::cat(TestCategory2)); - - const cl::OptionCategory *VisibleCategories[] = {&TestCategory, - &TestCategory2}; - - cl::HideUnrelatedOptions(makeArrayRef(VisibleCategories)); - - ASSERT_EQ(cl::ReallyHidden, TestOption1.getOptionHiddenFlag()) - << "Failed to hide extra option."; - ASSERT_EQ(cl::NotHidden, TestOption2.getOptionHiddenFlag()) - << "Hid extra option that should be visable."; - ASSERT_EQ(cl::NotHidden, TestOption3.getOptionHiddenFlag()) - << "Hid extra option that should be visable."; - - StringMap Map; - cl::getRegisteredOptions(Map); - ASSERT_EQ(cl::NotHidden, Map["help"]->getOptionHiddenFlag()) - << "Hid default option that should be visable."; -} - } // anonymous namespace