diff --git a/utils/TableGen/TGLexer.cpp b/utils/TableGen/TGLexer.cpp index 562f0ee0f72..9efb4d4ffd1 100644 --- a/utils/TableGen/TGLexer.cpp +++ b/utils/TableGen/TGLexer.cpp @@ -18,6 +18,7 @@ #include "llvm/Support/MemoryBuffer.h" typedef std::pair*> SubClassRefTy; #include "FileParser.h" +#include "llvm/Config/config.h" #include using namespace llvm; @@ -341,7 +342,7 @@ int TGLexer::LexNumber() { if (CurPtr == NumStart) return ReturnError(CurPtr-2, "Invalid hexadecimal number"); - Filelval.IntVal = strtol(NumStart, 0, 16); + Filelval.IntVal = strtoll(NumStart, 0, 16); return INTVAL; } else if (CurPtr[0] == 'b') { @@ -354,7 +355,7 @@ int TGLexer::LexNumber() { if (CurPtr == NumStart) return ReturnError(CurPtr-2, "Invalid binary number"); - Filelval.IntVal = strtol(NumStart, 0, 2); + Filelval.IntVal = strtoll(NumStart, 0, 2); return INTVAL; } } @@ -368,7 +369,7 @@ int TGLexer::LexNumber() { while (isdigit(CurPtr[0])) ++CurPtr; - Filelval.IntVal = strtol(NumStart, 0, 10); + Filelval.IntVal = strtoll(NumStart, 0, 10); return INTVAL; }