1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2025-01-31 12:41:49 +01:00

Revert "[Support][CommandLine] Add cl::getRegisteredSubcommands()"

This reverts r281290, as it breaks unit tests.
http://lab.llvm.org:8011/builders/clang-x86-windows-msvc2015/builds/303

llvm-svn: 281292
This commit is contained in:
Zachary Turner 2016-09-13 04:11:57 +00:00
parent 7d7d82f567
commit 0b53289683
3 changed files with 0 additions and 56 deletions

View File

@ -1736,28 +1736,6 @@ void PrintHelpMessage(bool Hidden = false, bool Categorized = false);
/// than just handing around a global list.
StringMap<Option *> &getRegisteredOptions(SubCommand &Sub = *TopLevelSubCommand);
/// \brief Use this to get all registered SubCommands from the provided parser.
///
/// \return A range of all SubCommand pointers registered with the parser.
///
/// Typical usage:
/// \code
/// main(int argc, char* argv[]) {
/// llvm::cl::ParseCommandLineOptions(argc, argv);
/// for (auto* S : llvm::cl::getRegisteredSubcommands()) {
/// if (*S) {
/// std::cout << "Executing subcommand: " << S->getName() << std::endl;
/// // Execute some function based on the name...
/// }
/// }
/// }
/// \endcode
///
/// This interface is useful for defining subcommands in libraries and
/// the dispatch from a single point (like in the main function).
iterator_range<typename SmallPtrSet<SubCommand *, 4>::iterator>
getRegisteredSubcommands();
//===----------------------------------------------------------------------===//
// Standalone command line processing utilities.
//

View File

@ -309,12 +309,6 @@ public:
RegisteredSubCommands.erase(sub);
}
iterator_range<typename SmallPtrSet<SubCommand *, 4>::iterator>
getRegisteredSubcommands() {
return make_range(RegisteredSubCommands.begin(),
RegisteredSubCommands.end());
}
void reset() {
ActiveSubCommand = nullptr;
ProgramName.clear();
@ -2111,11 +2105,6 @@ StringMap<Option *> &cl::getRegisteredOptions(SubCommand &Sub) {
return Sub.OptionsMap;
}
iterator_range<typename SmallPtrSet<SubCommand *, 4>::iterator>
cl::getRegisteredSubcommands() {
return GlobalParser->getRegisteredSubcommands();
}
void cl::HideUnrelatedOptions(cl::OptionCategory &Category, SubCommand &Sub) {
for (auto &I : Sub.OptionsMap) {
if (I.second->Category != &Category &&

View File

@ -476,27 +476,4 @@ TEST(CommandLineTest, RemoveFromAllSubCommands) {
EXPECT_FALSE(cl::ParseCommandLineOptions(3, args2, nullptr, true));
}
TEST(CommandLineTest, GetRegisteredSubcommands) {
cl::ResetCommandLineParser();
StackSubCommand SC1("sc1", "First Subcommand");
StackSubCommand SC2("sc2", "Second subcommand");
const char *args0[] = {"prog", "sc1"};
const char *args1[] = {"prog", "sc2"};
EXPECT_TRUE(cl::ParseCommandLineOptions(2, args0, nullptr, true));
for (auto *S : cl::getRegisteredSubcommands()) {
if (*S)
EXPECT_STREQ("sc1", S->getName());
}
cl::ResetAllOptionOccurrences();
EXPECT_TRUE(cl::ParseCommandLineOptions(2, args1, nullptr, true));
for (auto *S : cl::getRegisteredSubcommands()) {
if (*S)
EXPECT_STREQ("sc2", S->getName());
}
}
} // anonymous namespace