move a large method out of line.

llvm-svn: 67892
This commit is contained in:
Chris Lattner 2009-03-28 02:08:47 +00:00
parent b360b0390a
commit 601a4d8c70
2 changed files with 21 additions and 16 deletions

View File

@ -540,22 +540,8 @@ class parser<bool> : public basic_parser<bool> {
bool IsInvertable; // Should we synthezise a -xno- style option?
const char *ArgStr;
public:
void getExtraOptionNames(std::vector<const char*> &OptionNames) {
if (IsInvertable) {
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);
}
}
void getExtraOptionNames(std::vector<const char*> &OptionNames);
// parse - Return true on error.
bool parse(Option &O, const char *ArgName, const std::string &Arg, bool &Val);

View File

@ -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,