From: Chris Lattner Date: Fri, 22 Jan 2010 01:17:12 +0000 (+0000) Subject: remove some confused code that used strtoull X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=03949c9db3e8f02d6ec7cd53782507e3a4e9e4fc;p=oota-llvm.git remove some confused code that used strtoull git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94128 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/tools/llvm-mc/AsmLexer.cpp b/tools/llvm-mc/AsmLexer.cpp index 234b8f33ad0..de61e7f5b7a 100644 --- a/tools/llvm-mc/AsmLexer.cpp +++ b/tools/llvm-mc/AsmLexer.cpp @@ -14,7 +14,6 @@ #include "AsmLexer.h" #include "llvm/Support/SMLoc.h" #include "llvm/Support/MemoryBuffer.h" -#include "llvm/Config/config.h" // for strtoull. #include "llvm/MC/MCAsmInfo.h" #include #include @@ -163,19 +162,13 @@ AsmToken AsmLexer::LexDigit() { // Requires at least one hex digit. if (CurPtr == NumStart) return ReturnError(CurPtr-2, "Invalid hexadecimal number"); - - errno = 0; - if (errno == EINVAL) + + unsigned long long Result; + if (StringRef(TokStart, CurPtr - TokStart).getAsInteger(0, Result)) return ReturnError(CurPtr-2, "Invalid hexadecimal number"); - if (errno == ERANGE) { - errno = 0; - if (errno == EINVAL) - return ReturnError(CurPtr-2, "Invalid hexadecimal number"); - if (errno == ERANGE) - return ReturnError(CurPtr-2, "Hexadecimal number out of range"); - } + return AsmToken(AsmToken::Integer, StringRef(TokStart, CurPtr - TokStart), - (int64_t) strtoull(NumStart, 0, 16)); + (int64_t)Result); } // Must be an octal number, it starts with 0.