summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--llvm/lib/TableGen/Record.cpp3
-rw-r--r--llvm/test/TableGen/IntSpecialValues.td8
2 files changed, 10 insertions, 1 deletions
diff --git a/llvm/lib/TableGen/Record.cpp b/llvm/lib/TableGen/Record.cpp
index 4222a0b57fb..7577f0b8571 100644
--- a/llvm/lib/TableGen/Record.cpp
+++ b/llvm/lib/TableGen/Record.cpp
@@ -32,6 +32,7 @@
#include <cassert>
#include <cstdint>
#include <memory>
+#include <map>
#include <string>
#include <utility>
#include <vector>
@@ -457,7 +458,7 @@ Init *BitsInit::resolveReferences(Resolver &R) const {
}
IntInit *IntInit::get(int64_t V) {
- static DenseMap<int64_t, IntInit*> ThePool;
+ static std::map<int64_t, IntInit*> ThePool;
IntInit *&I = ThePool[V];
if (!I) I = new(Allocator) IntInit(V);
diff --git a/llvm/test/TableGen/IntSpecialValues.td b/llvm/test/TableGen/IntSpecialValues.td
new file mode 100644
index 00000000000..be91282366f
--- /dev/null
+++ b/llvm/test/TableGen/IntSpecialValues.td
@@ -0,0 +1,8 @@
+// RUN: llvm-tblgen %s | FileCheck %s
+
+def TestRecord {
+ // CHECK: int X = 9223372036854775807;
+ int X = 0x7FFFFFFFFFFFFFFF;
+ // CHECK: int Y = 9223372036854775806;
+ int Y = 0x7FFFFFFFFFFFFFFE;
+}
OpenPOWER on IntegriCloud