summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Gohman <gohman@apple.com>2008-05-23 21:40:55 +0000
committerDan Gohman <gohman@apple.com>2008-05-23 21:40:55 +0000
commit80f0f616e846a2720c1c9be4036da3434febdadf (patch)
tree53c3066b3c679cf8a228d335f176e2bed1bcb34e
parent80d7e265138b3876c82c077c48c8f2a5cd103a46 (diff)
downloadllvm-80f0f616e846a2720c1c9be4036da3434febdadf.tar.gz
llvm-80f0f616e846a2720c1c9be4036da3434febdadf.tar.bz2
llvm-80f0f616e846a2720c1c9be4036da3434febdadf.tar.xz
Don't silently truncate array extents to 32 bits.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51505 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/AsmParser/llvmAsmParser.y2
-rw-r--r--test/Assembler/huge-array.ll5
2 files changed, 6 insertions, 1 deletions
diff --git a/lib/AsmParser/llvmAsmParser.y b/lib/AsmParser/llvmAsmParser.y
index 7809b32c78..8f9c4529fe 100644
--- a/lib/AsmParser/llvmAsmParser.y
+++ b/lib/AsmParser/llvmAsmParser.y
@@ -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
index 0000000000..e080947b99
--- /dev/null
+++ b/test/Assembler/huge-array.ll
@@ -0,0 +1,5 @@
+; RUN: llvm-as < %s | llvm-dis | grep 18446744073709551615 | count 2
+
+define [18446744073709551615 x i8]* @foo() {
+ ret [18446744073709551615 x i8]* null
+}