From 03949c9db3e8f02d6ec7cd53782507e3a4e9e4fc Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Fri, 22 Jan 2010 01:17:12 +0000 Subject: remove some confused code that used strtoull git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94128 91177308-0d34-0410-b5e6-96231b3b80d8 --- tools/llvm-mc/AsmLexer.cpp | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/tools/llvm-mc/AsmLexer.cpp b/tools/llvm-mc/AsmLexer.cpp index 234b8f3..de61e7f 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. -- cgit v1.1