diff options
| author | Benjamin Kramer <benny.kra@googlemail.com> | 2011-09-15 21:17:37 +0000 | 
|---|---|---|
| committer | Benjamin Kramer <benny.kra@googlemail.com> | 2011-09-15 21:17:37 +0000 | 
| commit | 49fc9ddae6dbc8646fb5374ccf25b899b83a09f7 (patch) | |
| tree | c336dd7e6692b1428e22ebcbca8776cce51e5dd2 /llvm/lib | |
| parent | f68cc12453a3db8226abc28b0358c9f88bcfc403 (diff) | |
| download | bcm5719-llvm-49fc9ddae6dbc8646fb5374ccf25b899b83a09f7.tar.gz bcm5719-llvm-49fc9ddae6dbc8646fb5374ccf25b899b83a09f7.zip  | |
CommandLine: Add support for 64 bit unsigned integer options.
llvm-svn: 139848
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/Support/CommandLine.cpp | 13 | 
1 files changed, 13 insertions, 0 deletions
diff --git a/llvm/lib/Support/CommandLine.cpp b/llvm/lib/Support/CommandLine.cpp index 839ec799d80..238adcce0a1 100644 --- a/llvm/lib/Support/CommandLine.cpp +++ b/llvm/lib/Support/CommandLine.cpp @@ -44,6 +44,7 @@ TEMPLATE_INSTANTIATION(class basic_parser<bool>);  TEMPLATE_INSTANTIATION(class basic_parser<boolOrDefault>);  TEMPLATE_INSTANTIATION(class basic_parser<int>);  TEMPLATE_INSTANTIATION(class basic_parser<unsigned>); +TEMPLATE_INSTANTIATION(class basic_parser<unsigned long long>);  TEMPLATE_INSTANTIATION(class basic_parser<double>);  TEMPLATE_INSTANTIATION(class basic_parser<float>);  TEMPLATE_INSTANTIATION(class basic_parser<std::string>); @@ -62,6 +63,7 @@ void parser<bool>::anchor() {}  void parser<boolOrDefault>::anchor() {}  void parser<int>::anchor() {}  void parser<unsigned>::anchor() {} +void parser<unsigned long long>::anchor() {}  void parser<double>::anchor() {}  void parser<float>::anchor() {}  void parser<std::string>::anchor() {} @@ -1005,6 +1007,16 @@ bool parser<unsigned>::parse(Option &O, StringRef ArgName,    return false;  } +// parser<unsigned long long> implementation +// +bool parser<unsigned long long>::parse(Option &O, StringRef ArgName, +                                      StringRef Arg, unsigned long long &Value){ + +  if (Arg.getAsInteger(0, Value)) +    return O.error("'" + Arg + "' value invalid for uint argument!"); +  return false; +} +  // parser<double>/parser<float> implementation  //  static bool parseDouble(Option &O, StringRef Arg, double &Value) { @@ -1150,6 +1162,7 @@ PRINT_OPT_DIFF(bool)  PRINT_OPT_DIFF(boolOrDefault)  PRINT_OPT_DIFF(int)  PRINT_OPT_DIFF(unsigned) +PRINT_OPT_DIFF(unsigned long long)  PRINT_OPT_DIFF(double)  PRINT_OPT_DIFF(float)  PRINT_OPT_DIFF(char)  | 

