diff options
Diffstat (limited to 'llvm/lib/Support/CommandLine.cpp')
| -rw-r--r-- | llvm/lib/Support/CommandLine.cpp | 19 | 
1 files changed, 19 insertions, 0 deletions
| diff --git a/llvm/lib/Support/CommandLine.cpp b/llvm/lib/Support/CommandLine.cpp index 2c56e0ffb87..f3f198b355e 100644 --- a/llvm/lib/Support/CommandLine.cpp +++ b/llvm/lib/Support/CommandLine.cpp @@ -877,6 +877,25 @@ bool parser<bool>::parse(Option &O, const char *ArgName,    return false;  } +void parser<bool>::getExtraOptionNames(std::vector<const char*> &OptionNames) { +  if (!IsInvertable) +    return; +   +  char *s = new char [strlen(ArgStr) + 3 + 1]; +  s[0] = ArgStr[0]; +  if (strncmp(ArgStr+1, "no-", 3) == 0) +    strcpy(&s[1], &ArgStr[4]); +  else { +    s[1] = 'n'; +    s[2] = 'o'; +    s[3] = '-'; +    strcpy(&s[4], ArgStr+1); +  } +  OptionNames.push_back(s); +} + + +  // parser<boolOrDefault> implementation  //  bool parser<boolOrDefault>::parse(Option &O, const char *ArgName, | 

