<div dir="ltr">Ahh, nice catch.  Thanks for digging in.</div><br><div class="gmail_quote"><div dir="ltr">On Mon, Oct 10, 2016 at 10:21 AM Alex L <<a href="mailto:arphaman@gmail.com">arphaman@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr" class="gmail_msg">On 10 October 2016 at 17:07, Zachary Turner <span dir="ltr" class="gmail_msg"><<a href="mailto:zturner@google.com" class="gmail_msg" target="_blank">zturner@google.com</a>></span> wrote:<br class="gmail_msg"></div><div dir="ltr" class="gmail_msg"><div class="gmail_msg"><div class="gmail_quote gmail_msg"><blockquote class="gmail_quote gmail_msg" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr" class="gmail_msg">If you can post the lines of code that define your option set, maybe I can see if anything stands out as obvious.</div></blockquote><div class="gmail_msg"><br class="gmail_msg"></div></div></div></div><div dir="ltr" class="gmail_msg"><div class="gmail_msg"><div class="gmail_quote gmail_msg"><div class="gmail_msg">It's actually a bug it seems, I can reproduce it in llvm-pdbdump as well if I use only 2 subcommands there. A patch like this should reproduce the problem:</div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg"><div class="gmail_msg">diff --git a/tools/llvm-pdbdump/llvm-pdbdump.cpp b/tools/llvm-pdbdump/llvm-pdbdump.cpp</div><div class="gmail_msg">index a6dd560..6ead97d 100644</div><div class="gmail_msg">--- a/tools/llvm-pdbdump/llvm-pdbdump.cpp</div><div class="gmail_msg">+++ b/tools/llvm-pdbdump/llvm-pdbdump.cpp</div><div class="gmail_msg">@@ -78,12 +78,8 @@ cl::SubCommand RawSubcommand("raw", "Dump raw structure of the PDB file");</div><div class="gmail_msg"> cl::SubCommand</div><div class="gmail_msg">     PrettySubcommand("pretty",</div><div class="gmail_msg">                      "Dump semantic information about types and symbols");</div><div class="gmail_msg">-cl::SubCommand</div><div class="gmail_msg">-    YamlToPdbSubcommand("yaml2pdb",</div><div class="gmail_msg">-                        "Generate a PDB file from a YAML description");</div><div class="gmail_msg">-cl::SubCommand</div><div class="gmail_msg">-    PdbToYamlSubcommand("pdb2yaml",</div><div class="gmail_msg">-                        "Generate a detailed YAML description of a PDB File");</div><div class="gmail_msg">+cl::SubCommand &YamlToPdbSubcommand = RawSubcommand;</div><div class="gmail_msg">+cl::SubCommand &PdbToYamlSubcommand = RawSubcommand;</div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg"> cl::OptionCategory TypeCategory("Symbol Type Options");</div><div class="gmail_msg"> cl::OptionCategory FilterCategory("Filtering Options");</div></div></div></div></div><div dir="ltr" class="gmail_msg"><div class="gmail_msg"><div class="gmail_quote gmail_msg"><div class="gmail_msg"> <br class="gmail_msg"></div><blockquote class="gmail_quote gmail_msg" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><br class="gmail_msg"><div class="gmail_quote gmail_msg"><div dir="ltr" class="gmail_msg">On Mon, Oct 10, 2016 at 9:03 AM Alex L <<a href="mailto:arphaman@gmail.com" class="gmail_msg" target="_blank">arphaman@gmail.com</a>> wrote:<br class="gmail_msg"></div><blockquote class="gmail_quote gmail_msg" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr" class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><div class="gmail_extra m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><div class="gmail_quote m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">On 10 October 2016 at 16:56, Zachary Turner <span dir="ltr" class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><<a href="mailto:zturner@google.com" class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg" target="_blank">zturner@google.com</a>></span> wrote:<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><blockquote class="gmail_quote m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr" class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">So here, `Sub` refers to the active SubCommand.  For example, if you typed "llvm-pdbdump raw <options>" then `Sub` will refer to the RawSubcommand.  There are two special subcommands, `TopLevelSubcommand` and `AllSubcommands`.  The former becomes the active subcommand when you type no options at all.  For example, if you were to run `llvm-pdbdump -foo" Then the active subcommand would be `TopLevelSubcommand`.  Since subcommands cannot be nested, `TopLevelSubcommand` is the only subcommand from which it is possible for other subcommands to be "children" of.  So the first part of the conditional is saying "Only print this if the user did not explicitly specify any subcommand".  The >2 comes from the fact that `TopLevelSubcommand` and `AllSubcommands` are builtin subcommands.  Even if someone does not define any subcommands for their tool, there will still be those two.  So the second check is equivalent to saying "If the user has explicitly defined at least 1 subcommand".</div></blockquote><div class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"></div></div></div></div><div dir="ltr" class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><div class="gmail_extra m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><div class="gmail_quote m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><div class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">Thanks for the explanation, that makes sense. I stumbled across this when I was investigating why the help didn't print out subcommands when I had less than 3 sub-commands in a private tool. Given this explanation it has to be some mistake in my code or my reasoning. I'll double-check my code.</div><div class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"></div><div class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">Alex </div><div class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"> </div><blockquote class="gmail_quote m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918HOEnZb m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><div class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918h5 m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><div class="gmail_quote m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"></div></div></div></blockquote></div></div></div><div dir="ltr" class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><div class="gmail_extra m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><div class="gmail_quote m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><blockquote class="gmail_quote m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918HOEnZb m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><div class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918h5 m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><div class="gmail_quote m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><div dir="ltr" class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">On Mon, Oct 10, 2016 at 3:44 AM Alex L <<a href="mailto:arphaman@gmail.com" class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg" target="_blank">arphaman@gmail.com</a>> wrote:<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"></div></div></div></div></blockquote></div></div></div><div dir="ltr" class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><div class="gmail_extra m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><div class="gmail_quote m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><blockquote class="gmail_quote m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918HOEnZb m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><div class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918h5 m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><div class="gmail_quote m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><blockquote class="gmail_quote m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr" class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><div class="gmail_extra m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><div class="gmail_quote m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">On 29 June 2016 at 22:48, Zachary Turner via llvm-commits <span dir="ltr" class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><<a href="mailto:llvm-commits@lists.llvm.org" class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg" target="_blank">llvm-commits@lists.llvm.org</a>></span> wrote:<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><blockquote class="gmail_quote m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">Author: zturner<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">Date: Wed Jun 29 16:48:26 2016<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">New Revision: 274171<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">URL: <a href="http://llvm.org/viewvc/llvm-project?rev=274171&view=rev" rel="noreferrer" class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg" target="_blank">http://llvm.org/viewvc/llvm-project?rev=274171&view=rev</a><br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">Log:<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">Resubmit "Update llvm command line parser to support subcommands." </blockquote></div></div></div></blockquote></div></div></div></blockquote></div></div></div></blockquote></div></blockquote></div></div></div><div dir="ltr" class="gmail_msg"><div class="gmail_msg"><div class="gmail_quote gmail_msg"><blockquote class="gmail_quote gmail_msg" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div class="gmail_quote gmail_msg"><blockquote class="gmail_quote gmail_msg" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr" class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><div class="gmail_extra m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><div class="gmail_quote m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><blockquote class="gmail_quote m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918HOEnZb m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><div class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918h5 m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><div class="gmail_quote m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><blockquote class="gmail_quote m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr" class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><div class="gmail_extra m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><div class="gmail_quote m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><blockquote class="gmail_quote m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"> .... </blockquote></div></div></div></blockquote></div></div></div></blockquote></div></div></div></blockquote></div></blockquote><blockquote class="gmail_quote gmail_msg" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div class="gmail_quote gmail_msg"><blockquote class="gmail_quote gmail_msg" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr" class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><div class="gmail_extra m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><div class="gmail_quote m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><blockquote class="gmail_quote m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918HOEnZb m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><div class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918h5 m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><div class="gmail_quote m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><blockquote class="gmail_quote m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr" class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><div class="gmail_extra m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><div class="gmail_quote m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><blockquote class="gmail_quote m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"></blockquote></div></div></div></blockquote></div></div></div></blockquote></div></div></div></blockquote></div></blockquote></div></div></div><div dir="ltr" class="gmail_msg"><div class="gmail_msg"><div class="gmail_quote gmail_msg"><blockquote class="gmail_quote gmail_msg" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div class="gmail_quote gmail_msg"><blockquote class="gmail_quote gmail_msg" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr" class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><div class="gmail_extra m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><div class="gmail_quote m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><blockquote class="gmail_quote m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918HOEnZb m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><div class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918h5 m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><div class="gmail_quote m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><blockquote class="gmail_quote m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr" class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><div class="gmail_extra m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><div class="gmail_quote m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><blockquote class="gmail_quote m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"> //===----------------------------------------------------------------------===//<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">@@ -1460,6 +1672,11 @@ static int OptNameCompare(const std::pai<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">   return strcmp(LHS->first, RHS->first);<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"> }<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">+static int SubNameCompare(const std::pair<const char *, SubCommand *> *LHS,<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">+                          const std::pair<const char *, SubCommand *> *RHS) {<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">+  return strcmp(LHS->first, RHS->first);<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">+}<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">+<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"> // Copy Options into a vector so we can sort them as we like.<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"> static void sortOpts(StringMap<Option *> &OptMap,<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">                      SmallVectorImpl<std::pair<const char *, Option *>> &Opts,<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">@@ -1488,6 +1705,17 @@ static void sortOpts(StringMap<Option *><br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">   array_pod_sort(Opts.begin(), Opts.end(), OptNameCompare);<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"> }<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">+static void<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">+sortSubCommands(const SmallPtrSetImpl<SubCommand *> &SubMap,<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">+                SmallVectorImpl<std::pair<const char *, SubCommand *>> &Subs) {<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">+  for (const auto &S : SubMap) {<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">+    if (S->getName() == nullptr)<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">+      continue;<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">+    Subs.push_back(std::make_pair(S->getName(), S));<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">+  }<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">+  array_pod_sort(Subs.begin(), Subs.end(), SubNameCompare);<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">+}<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">+<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"> namespace {<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"> class HelpPrinter {<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"></blockquote></div></div></div></blockquote></div></div></div></blockquote></div></div></div></blockquote></div></blockquote></div></div></div><div dir="ltr" class="gmail_msg"><div class="gmail_msg"><div class="gmail_quote gmail_msg"><blockquote class="gmail_quote gmail_msg" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div class="gmail_quote gmail_msg"><blockquote class="gmail_quote gmail_msg" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr" class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><div class="gmail_extra m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><div class="gmail_quote m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><blockquote class="gmail_quote m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918HOEnZb m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><div class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918h5 m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><div class="gmail_quote m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><blockquote class="gmail_quote m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr" class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><div class="gmail_extra m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><div class="gmail_quote m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><blockquote class="gmail_quote m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">@@ -1495,12 +1723,25 @@ protected:<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">   const bool ShowHidden;<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">   typedef SmallVector<std::pair<const char *, Option *>, 128><br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">       StrOptionPairVector;<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">+  typedef SmallVector<std::pair<const char *, SubCommand *>, 128><br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">+      StrSubCommandPairVector;<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">   // Print the options. Opts is assumed to be alphabetically sorted.<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">   virtual void printOptions(StrOptionPairVector &Opts, size_t MaxArgLen) {<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">     for (size_t i = 0, e = Opts.size(); i != e; ++i)<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">       Opts[i].second->printOptionInfo(MaxArgLen);<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">   }<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">+  void printSubCommands(StrSubCommandPairVector &Subs, size_t MaxSubLen) {<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">+    for (const auto &S : Subs) {<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">+      outs() << "  " << S.first;<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">+      if (S.second->getDescription()) {<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">+        outs().indent(MaxSubLen - strlen(S.first));<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">+        outs() << " - " << S.second->getDescription();<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">+      }<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">+      outs() << "\n";<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">+    }<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">+  }<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">+<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"> public:<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">   explicit HelpPrinter(bool showHidden) : ShowHidden(showHidden) {}<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">   virtual ~HelpPrinter() {}<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">@@ -1510,23 +1751,56 @@ public:<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">     if (!Value)<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">       return;<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">+    SubCommand *Sub = GlobalParser->getActiveSubCommand();<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">+    auto &OptionsMap = Sub->OptionsMap;<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">+    auto &PositionalOpts = Sub->PositionalOpts;<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">+    auto &ConsumeAfterOpt = Sub->ConsumeAfterOpt;<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">+<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">     StrOptionPairVector Opts;<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">-    sortOpts(GlobalParser->OptionsMap, Opts, ShowHidden);<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">+    sortOpts(OptionsMap, Opts, ShowHidden);<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">+<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">+    StrSubCommandPairVector Subs;<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">+    sortSubCommands(GlobalParser->RegisteredSubCommands, Subs);<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"></blockquote></div></div></div></blockquote></div></div></div></blockquote></div></div></div></blockquote></div></blockquote></div></div></div><div dir="ltr" class="gmail_msg"><div class="gmail_msg"><div class="gmail_quote gmail_msg"><blockquote class="gmail_quote gmail_msg" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div class="gmail_quote gmail_msg"><blockquote class="gmail_quote gmail_msg" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr" class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><div class="gmail_extra m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><div class="gmail_quote m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><blockquote class="gmail_quote m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918HOEnZb m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><div class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918h5 m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><div class="gmail_quote m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><blockquote class="gmail_quote m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr" class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><div class="gmail_extra m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><div class="gmail_quote m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><blockquote class="gmail_quote m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"></blockquote></div></div></div></blockquote></div></div></div></blockquote></div></div></div></blockquote></div></blockquote><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg">We are checking `Subs.size() > 2` below, but `sortSubCommands` filters out the subcommands without a name, i.e. </div><div class="gmail_msg">the two builtin special subcommand instances. Thus the logic in the `Subs.size() > 2` check is invalid.</div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg">I'll try working on a patch to fix this,</div><div class="gmail_msg">Alex</div></div></div></div><div dir="ltr" class="gmail_msg"><div class="gmail_msg"><div class="gmail_quote gmail_msg"><div class="gmail_msg"> </div><blockquote class="gmail_quote gmail_msg" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div class="gmail_quote gmail_msg"><blockquote class="gmail_quote gmail_msg" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr" class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><div class="gmail_extra m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><div class="gmail_quote m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><blockquote class="gmail_quote m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918HOEnZb m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><div class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918h5 m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><div class="gmail_quote m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><blockquote class="gmail_quote m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr" class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><div class="gmail_extra m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><div class="gmail_quote m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><blockquote class="gmail_quote m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">     if (GlobalParser->ProgramOverview)<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">       outs() << "OVERVIEW: " << GlobalParser->ProgramOverview << "\n";<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">-    outs() << "USAGE: " << GlobalParser->ProgramName << " [options]";<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">+    if (Sub == &*TopLevelSubCommand)<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">+      outs() << "USAGE: " << GlobalParser->ProgramName<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">+             << " [subcommand] [options]";<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">+    else {<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">+      if (Sub->getDescription() != nullptr) {<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">+        outs() << "SUBCOMMAND '" << Sub->getName()<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">+               << "': " << Sub->getDescription() << "\n\n";<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">+      }<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">+      outs() << "USAGE: " << GlobalParser->ProgramName << " " << Sub->getName()<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">+             << " [options]";<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">+    }<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">-    for (auto Opt : GlobalParser->PositionalOpts) {<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">+    for (auto Opt : PositionalOpts) {<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">       if (Opt->hasArgStr())<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">         outs() << " --" << Opt->ArgStr;<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">       outs() << " " << Opt->HelpStr;<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">     }<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">     // Print the consume after option info if it exists...<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">-    if (GlobalParser->ConsumeAfterOpt)<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">-      outs() << " " << GlobalParser->ConsumeAfterOpt->HelpStr;<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">+    if (ConsumeAfterOpt)<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">+      outs() << " " << ConsumeAfterOpt->HelpStr;<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">+<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">+    if (Sub == &*TopLevelSubCommand && Subs.size() > 2) {<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"></blockquote><div class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"></div></div></div></div><div dir="ltr" class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><div class="gmail_extra m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><div class="gmail_quote m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><div class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">I'm sorry if I missed something, but I looked at the review for this commit, and couldn't find an answer to one question that I have, so I hope that you can help me:<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"></div><div class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"></div><div class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">Is the > 2 intentional here? I think because of this check subcommands don't show up in help unless there are 3 of them. It seems like a bug to me, since it's valid to have a tool with just 2 subcommands.</div><div class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"></div><div class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">Thanks,</div><div class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">Alex</div></div></div></div></blockquote></div></div></div></blockquote></div></div></div><div dir="ltr" class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><div class="gmail_extra m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><div class="gmail_quote m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><blockquote class="gmail_quote m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918HOEnZb m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><div class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918h5 m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><div class="gmail_quote m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><blockquote class="gmail_quote m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr" class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><div class="gmail_extra m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><div class="gmail_quote m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><blockquote class="gmail_quote m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">+      // Compute the maximum subcommand length...<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">+      size_t MaxSubLen = 0;<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">+      for (size_t i = 0, e = Subs.size(); i != e; ++i)<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">+        MaxSubLen = std::max(MaxSubLen, strlen(Subs[i].first));<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">+<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">+      outs() << "\n\n";<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">+      outs() << "SUBCOMMANDS:\n\n";<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">+      printSubCommands(Subs, MaxSubLen);<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">+      outs() << "\n";<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">+      outs() << "  Type \"" << GlobalParser->ProgramName<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">+             << " <subcommand> -help\" to get more help on a specific "<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">+                "subcommand";<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">+    }<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">     outs() << "\n\n";<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg">@@ -1675,12 +1949,13 @@ static cl::opt<HelpPrinter, true, parser<br class="m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381m_-3955298781657401918m_1046857407579580143gmail_msg m_2225594485292916399gmail-m_-712322968069030398m_-8492437529920739381gmail_msg gmail_msg"><br class="gmail_msg"></blockquote></div></div></div></blockquote></div></div></div></blockquote></div></div></div></blockquote></div></blockquote></div></div></div></blockquote></div>