[llvm-commits] [llvm] r94128 - /llvm/trunk/tools/llvm-mc/AsmLexer.cpp
Chris Lattner
sabre at nondot.org
Thu Jan 21 17:17:13 PST 2010
Author: lattner
Date: Thu Jan 21 19:17:12 2010
New Revision: 94128
URL: http://llvm.org/viewvc/llvm-project?rev=94128&view=rev
Log:
remove some confused code that used strtoull
Modified:
llvm/trunk/tools/llvm-mc/AsmLexer.cpp
Modified: llvm/trunk/tools/llvm-mc/AsmLexer.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-mc/AsmLexer.cpp?rev=94128&r1=94127&r2=94128&view=diff
==============================================================================
--- llvm/trunk/tools/llvm-mc/AsmLexer.cpp (original)
+++ llvm/trunk/tools/llvm-mc/AsmLexer.cpp Thu Jan 21 19:17:12 2010
@@ -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 <cerrno>
#include <cstdio>
@@ -163,19 +162,13 @@
// 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.
More information about the llvm-commits
mailing list