diff options
| author | Shankar Easwaran <shankare@codeaurora.org> | 2014-11-11 00:40:32 +0000 |
|---|---|---|
| committer | Shankar Easwaran <shankare@codeaurora.org> | 2014-11-11 00:40:32 +0000 |
| commit | 1987862287f7e222bf60b266c01be8c78bf661a6 (patch) | |
| tree | 998f48faf4a999d7428c2fc696f547a935ef9f92 | |
| parent | 50d60be3ce72f8f1005895fa3e7d14ec1a1f385c (diff) | |
| download | bcm5719-llvm-1987862287f7e222bf60b266c01be8c78bf661a6.tar.gz bcm5719-llvm-1987862287f7e222bf60b266c01be8c78bf661a6.zip | |
[Gnu][Driver] Use StringRef conversion functions
llvm-svn: 221648
| -rw-r--r-- | lld/lib/Driver/GnuLdDriver.cpp | 20 |
1 files changed, 7 insertions, 13 deletions
diff --git a/lld/lib/Driver/GnuLdDriver.cpp b/lld/lib/Driver/GnuLdDriver.cpp index 34c2da16c5d..9ca5a2073e8 100644 --- a/lld/lib/Driver/GnuLdDriver.cpp +++ b/lld/lib/Driver/GnuLdDriver.cpp @@ -15,7 +15,6 @@ #include "lld/Driver/Driver.h" #include "lld/Driver/GnuLdInputGraph.h" -#include "lld/Support/NumParse.h" #include "llvm/ADT/ArrayRef.h" #include "llvm/ADT/Optional.h" #include "llvm/ADT/STLExtras.h" @@ -158,12 +157,8 @@ static bool parseZOption(StringRef opt, uint64_t &val) { if (equalPos == 0 || equalPos == StringRef::npos) return false; StringRef value = opt.substr(equalPos + 1); - ErrorOr<uint64_t> parsedVal = lld::parseNum(value, false /*No Extensions*/); - if (!parsedVal) - return false; - // Dont allow a value of 0 for max-page-size. - val = parsedVal.get(); - if (!val) + val = 0; + if (value.getAsInteger(0, val) || !val) return false; return true; } @@ -595,15 +590,14 @@ bool GnuLdDriver::parse(int argc, const char *argv[], break; case OPT_image_base: { - ErrorOr<uint64_t> baseAddress = - lld::parseNum(inputArg->getValue(), false); - if (baseAddress && baseAddress.get()) - ctx->setBaseAddress(baseAddress.get()); - else { - diagnostics << "invalid value for image base " << inputArg->getValue() + uint64_t baseAddress = 0; + StringRef inputValue = inputArg->getValue(); + if ((inputValue.getAsInteger(0, baseAddress)) || !baseAddress) { + diagnostics << "invalid value for image base " << inputValue << "\n"; return false; } + ctx->setBaseAddress(baseAddress); break; } |

