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
This commit is contained in:
Richard Trieu 2015-01-27 03:03:47 +00:00
parent 95647955f9
commit 510cadb1c2
3 changed files with 3 additions and 28 deletions

View File

@ -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<const cl::OptionCategory *> Categories);
void HideUnrelatedOptions(SmallVectorImpl<cl::OptionCategory *> &Categories);
} // End namespace cl

View File

@ -1861,7 +1861,8 @@ void cl::HideUnrelatedOptions(cl::OptionCategory &Category) {
}
}
void cl::HideUnrelatedOptions(ArrayRef<const cl::OptionCategory *> Categories) {
void cl::HideUnrelatedOptions(
SmallVectorImpl<cl::OptionCategory *> &Categories) {
auto CategoriesBegin = Categories.begin();
auto CategoriesEnd = Categories.end();
StringMap<cl::Option *> Options;

View File

@ -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<int> TestOption1("test-option-1");
cl::opt<int> TestOption2("test-option-2", cl::cat(TestCategory));
cl::opt<int> 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<cl::Option *> Map;
cl::getRegisteredOptions(Map);
ASSERT_EQ(cl::NotHidden, Map["help"]->getOptionHiddenFlag())
<< "Hid default option that should be visable.";
}
} // anonymous namespace