Support: Fix option handling when using cl::Required with aliasopt
authorJustin Bogner <mail@justinbogner.com>
Mon, 14 Jul 2014 20:53:57 +0000 (20:53 +0000)
committerJustin Bogner <mail@justinbogner.com>
Mon, 14 Jul 2014 20:53:57 +0000 (20:53 +0000)
commitf66fc53bc75d150fcc0188ed3a6ec858bc425865
tree3df307795249b6eb746a8d85ac2c8a261f81b24f
parentd615588f65f83bd6bc3064d62466fd5fcff60829
Support: Fix option handling when using cl::Required with aliasopt

Until now, attempting to create an alias of a required option would
complain if the user supplied the alias, because the required option
didn't have a value. Similarly, if you said the alias was required,
then using the base option would complain that the alias wasn't
supplied. Lastly, if you put required on both, *neither* option would
work.

By changning alias to overload addOccurrence and setting cl::Required
on the original option, we can get this to behave in a more useful
way. I've also added a test and updated a user that was getting this
wrong.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@212986 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/Support/CommandLine.h
tools/llvm-profdata/llvm-profdata.cpp
unittests/Support/CommandLineTest.cpp