Remove AllowInverse: it leaks memory and is not the right

abstraction for CommandLine.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68588 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner
2009-04-08 03:43:51 +00:00
parent 4da69c77cf
commit 00a7b52385
3 changed files with 2 additions and 42 deletions

View File

@ -872,30 +872,9 @@ bool parser<bool>::parse(Option &O, const char *ArgName,
return O.error(": '" + Arg +
"' is invalid value for boolean argument! Try 0 or 1");
}
if (IsInvertible && strncmp(ArgName+1, "no-", 3) == 0)
Value = !Value;
return false;
}
void parser<bool>::getExtraOptionNames(std::vector<const char*> &OptionNames) {
if (!IsInvertible)
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,