diff --git a/clang/include/clang/Driver/Options.td b/clang/include/clang/Driver/Options.td --- a/clang/include/clang/Driver/Options.td +++ b/clang/include/clang/Driver/Options.td @@ -268,10 +268,234 @@ ImpliedByAnyOf; } -multiclass BooleanMarshalledFFlag { - def fno_#NAME : Flag<["-"], "fno-"#name>, HelpText; - def f#NAME : Flag<["-"], "f"#name>, HelpText, - MarshallingInfoBooleanFlag; +//===----------------------------------------------------------------------===// +// BoolOptionBase +//===----------------------------------------------------------------------===// + +// Default value of the keypath associated with a marshalled bool option. +class Default { code Value = value; } + +class FlagPolarity { bit Value = value; } +def PosFlag : FlagPolarity {} +def NegFlag : FlagPolarity {} + +// Definition of a single command line flag. +class FlagDef option_flags, + string help, list