Don't silently truncate array extents to 32 bits.
authorDan Gohman <gohman@apple.com>
Fri, 23 May 2008 21:40:55 +0000 (21:40 +0000)
committerDan Gohman <gohman@apple.com>
Fri, 23 May 2008 21:40:55 +0000 (21:40 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51505 91177308-0d34-0410-b5e6-96231b3b80d8

lib/AsmParser/llvmAsmParser.y
test/Assembler/huge-array.ll [new file with mode: 0644]

index 7809b32c786f9380da5e41fa1a5058257caed754..8f9c4529fe34048fae94680f9d05adae65a8b21f 100644 (file)
@@ -1406,7 +1406,7 @@ Types
   }
 
   | '[' EUINT64VAL 'x' Types ']' {          // Sized array type?
-    $$ = new PATypeHolder(HandleUpRefs(ArrayType::get(*$4, (unsigned)$2)));
+    $$ = new PATypeHolder(HandleUpRefs(ArrayType::get(*$4, $2)));
     delete $4;
     CHECK_FOR_ERROR
   }
diff --git a/test/Assembler/huge-array.ll b/test/Assembler/huge-array.ll
new file mode 100644 (file)
index 0000000..e080947
--- /dev/null
@@ -0,0 +1,5 @@
+; RUN: llvm-as < %s | llvm-dis | grep 18446744073709551615 | count 2
+
+define [18446744073709551615 x i8]* @foo() {
+  ret [18446744073709551615 x i8]* null
+}