diff options
Diffstat (limited to 'lib/Support/CommandLine.cpp')
| -rw-r--r-- | lib/Support/CommandLine.cpp | 11 | 
1 files changed, 4 insertions, 7 deletions
diff --git a/lib/Support/CommandLine.cpp b/lib/Support/CommandLine.cpp index de0ca940b405..0345a5e3d2a1 100644 --- a/lib/Support/CommandLine.cpp +++ b/lib/Support/CommandLine.cpp @@ -24,6 +24,7 @@  #include "llvm/ADT/STLExtras.h"  #include "llvm/ADT/SmallPtrSet.h"  #include "llvm/ADT/SmallString.h" +#include "llvm/ADT/StringExtras.h"  #include "llvm/ADT/StringMap.h"  #include "llvm/ADT/Twine.h"  #include "llvm/Config/config.h" @@ -1522,13 +1523,9 @@ bool parser<unsigned long long>::parse(Option &O, StringRef ArgName,  // parser<double>/parser<float> implementation  //  static bool parseDouble(Option &O, StringRef Arg, double &Value) { -  SmallString<32> TmpStr(Arg.begin(), Arg.end()); -  const char *ArgStart = TmpStr.c_str(); -  char *End; -  Value = strtod(ArgStart, &End); -  if (*End != 0) -    return O.error("'" + Arg + "' value invalid for floating point argument!"); -  return false; +  if (to_float(Arg, Value)) +    return false; +  return O.error("'" + Arg + "' value invalid for floating point argument!");  }  bool parser<double>::parse(Option &O, StringRef ArgName, StringRef Arg,  | 
