Fix Regression/TableGen/2006-09-18-LargeInt.td
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30472 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/utils/TableGen/DAGISelEmitter.cpp b/utils/TableGen/DAGISelEmitter.cpp
index 4d4fa9d..c9f7897 100644
--- a/utils/TableGen/DAGISelEmitter.cpp
+++ b/utils/TableGen/DAGISelEmitter.cpp
@@ -2373,6 +2373,8 @@
}
} else if (IntInit *II =
dynamic_cast<IntInit*>(Child->getLeafValue())) {
+ if (II->getValue() == 2147483647)
+ std::cerr << "HERE!\n";
emitCheck("isa<ConstantSDNode>(" + RootName + utostr(OpNo) + ")");
unsigned CTmp = TmpNo++;
emitCode("int64_t CN"+utostr(CTmp)+" = cast<ConstantSDNode>("+
diff --git a/utils/TableGen/FileLexer.cpp.cvs b/utils/TableGen/FileLexer.cpp.cvs
index dffd220..b806f06 100644
--- a/utils/TableGen/FileLexer.cpp.cvs
+++ b/utils/TableGen/FileLexer.cpp.cvs
@@ -535,8 +535,8 @@
///
static int ParseInt(const char *Str) {
if (Str[0] == '0' && Str[1] == 'b')
- return strtol(Str+2, 0, 2);
- return strtol(Str, 0, 0);
+ return strtoll(Str+2, 0, 2);
+ return strtoll(Str, 0, 0);
}
static int CommentDepth = 0;
diff --git a/utils/TableGen/FileLexer.l b/utils/TableGen/FileLexer.l
index 7c9151f..c1a7ec0 100644
--- a/utils/TableGen/FileLexer.l
+++ b/utils/TableGen/FileLexer.l
@@ -42,8 +42,8 @@
///
static int ParseInt(const char *Str) {
if (Str[0] == '0' && Str[1] == 'b')
- return strtol(Str+2, 0, 2);
- return strtol(Str, 0, 0);
+ return strtoll(Str+2, 0, 2);
+ return strtoll(Str, 0, 0);
}
static int CommentDepth = 0;
diff --git a/utils/TableGen/FileLexer.l.cvs b/utils/TableGen/FileLexer.l.cvs
index 7c9151f..c1a7ec0 100644
--- a/utils/TableGen/FileLexer.l.cvs
+++ b/utils/TableGen/FileLexer.l.cvs
@@ -42,8 +42,8 @@
///
static int ParseInt(const char *Str) {
if (Str[0] == '0' && Str[1] == 'b')
- return strtol(Str+2, 0, 2);
- return strtol(Str, 0, 0);
+ return strtoll(Str+2, 0, 2);
+ return strtoll(Str, 0, 0);
}
static int CommentDepth = 0;