From: Dean Michael Berris Date: Tue, 13 Sep 2016 02:35:00 +0000 (+0000) Subject: [Support][CommandLine] Add cl::getRegisteredSubcommands() X-Git-Tag: llvmorg-4.0.0-rc1~9989 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=d9d290c0c6a4da157b5b551ab5fab8fb062b7b11;p=platform%2Fupstream%2Fllvm.git [Support][CommandLine] Add cl::getRegisteredSubcommands() This should allow users of the library to get a range to iterate through all the subcommands that are registered to the global parser. This allows users to define subcommands in libraries that self-register to have dispatch done at a different stage (like main). It allows for writing code like the following: for (auto *S : cl::getRegisteredSubcommands()) { if (*S) { // Dispatch on S->getName(). } } This change also contains tests that show this usage pattern. Reviewers: zturner, dblaikie, echristo Subscribers: llvm-commits, mehdi_amini Differential Revision: https://reviews.llvm.org/D24489 llvm-svn: 281290 --- diff --git a/llvm/include/llvm/Support/CommandLine.h b/llvm/include/llvm/Support/CommandLine.h index a0ec262..092dc94 100644 --- a/llvm/include/llvm/Support/CommandLine.h +++ b/llvm/include/llvm/Support/CommandLine.h @@ -1736,6 +1736,28 @@ void PrintHelpMessage(bool Hidden = false, bool Categorized = false); /// than just handing around a global list. StringMap