diff options
author | Chris Lattner <sabre@nondot.org> | 2009-02-28 18:12:41 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2009-02-28 18:12:41 +0000 |
commit | 452e2627dc1de4fb5a2b1c9ac999f1b3396f82c7 (patch) | |
tree | 325e0094a2b20bf8afb91c730cbe76ed8ea68f00 /lib/AsmParser/LLParser.cpp | |
parent | 6cd74989b950684009332e76770c815a46f7cc0b (diff) |
reject 0 element vectors with:
@a = internal constant void bitcast(<0 x i8> <> to void)
^
Fixes PR3685
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65698 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/AsmParser/LLParser.cpp')
-rw-r--r-- | lib/AsmParser/LLParser.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/AsmParser/LLParser.cpp b/lib/AsmParser/LLParser.cpp index abddc59bde..85b4966a7b 100644 --- a/lib/AsmParser/LLParser.cpp +++ b/lib/AsmParser/LLParser.cpp @@ -1262,6 +1262,8 @@ bool LLParser::ParseArrayVectorType(PATypeHolder &Result, bool isVector) { return true; if (isVector) { + if (Size == 0) + return Error(SizeLoc, "zero element vector is illegal"); if ((unsigned)Size != Size) return Error(SizeLoc, "size too large for vector"); if (!EltTy->isFloatingPoint() && !EltTy->isInteger()) |