From 510cadb1c23f823cb4f805b7153ee3b8f13f208a Mon Sep 17 00:00:00 2001 From: Richard Trieu Date: Tue, 27 Jan 2015 03:03:47 +0000 Subject: [PATCH] Revert r227148 & r227154 which added a test which infinitely loops. r227148 added test CommandLineTest.HideUnrelatedOptionsMulti which repeatedly outputs two following lines: -tool: CommandLine Error: Option 'test-option-1' registered more than once! -tool: CommandLine Error: Option 'test-option-2' registered more than once! r227154 depends on changes from r227148 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@227167 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/Support/CommandLine.h | 3 +-- lib/Support/CommandLine.cpp | 3 ++- unittests/Support/CommandLineTest.cpp | 25 ------------------------- 3 files changed, 3 insertions(+), 28 deletions(-) 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 -- 2.34.1