[llvm-dev] Supporting sub commands in LLVM command line tools

Zachary Turner via llvm-dev llvm-dev at lists.llvm.org
Fri Jun 17 17:00:06 PDT 2016

Hi all,

I've written a patch <http://reviews.llvm.org/D21485> to support
subcommands in llvm command line tools.  This potentially has broad
interest (either positive or negative), so I figured I'd give a heads up
here instead of just on llvm-commits.

The motivation for this is that we frequently have tools with incompatible
sets of command line options.  I ran into this on llvm-pdbdump and was
debating breaking off some of the functionality into a separate tool to
make the command line interface more sensible, and to prevent people
getting confused about which options could be used with which other options.

A better approach to this, in my opinion, is the use of sub commands.  This
way all the options that can be used together are grouped together, and you
simply can't specify incompatible options at the same time.

There is more information in the patch, including some examples of what it
looks like, so if you're interested in this or have a strong opinion one
way or the other, let me know.

Note that this is an **opt in** feature, and if you continue using cl::opt
as you always have, this change should be invisible to you.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160618/c6f77a90/attachment.html>

More information about the llvm-dev mailing list