mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-14 14:24:05 +00:00
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:
@ -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,
|
||||
|
Reference in New Issue
Block a user