[clang][cli] Split DefaultAnyOf into a default value and ImpliedByAnyOf
authorJan Svoboda <jan_svoboda@apple.com>
Fri, 20 Nov 2020 11:49:51 +0000 (12:49 +0100)
committerJan Svoboda <jan_svoboda@apple.com>
Tue, 1 Dec 2020 08:50:11 +0000 (09:50 +0100)
commit88ab38449b49bf002ed7794d1b81d362aa9f9df2
treecc9f7144f364a4e4c2aabe0e7b24e081acf76d65
parent973843681b9df4ba9303e98f7b4531ba31c2b1bf
[clang][cli] Split DefaultAnyOf into a default value and ImpliedByAnyOf

This makes the options API composable, allows boolean flags to imply non-boolean values and makes the code more logical (IMO).

Differential Revision: https://reviews.llvm.org/D91861
clang/include/clang/Driver/Options.td
clang/lib/Frontend/CompilerInvocation.cpp
clang/unittests/Frontend/CompilerInvocationTest.cpp
llvm/include/llvm/Option/OptParser.td
llvm/unittests/Option/OptionMarshallingTest.cpp
llvm/unittests/Option/Opts.td
llvm/utils/TableGen/OptParserEmitter.cpp