From: Chris Lattner Date: Mon, 5 Jan 2009 07:46:05 +0000 (+0000) Subject: PR3281:crash00.ll: produce this diagnostic instead of crashing: X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=3fbb3ab14d86f752a933b5af4e6728c5e57e1155;p=oota-llvm.git PR3281:crash00.ll: produce this diagnostic instead of crashing: @t = global i8 0, align 3 ^ git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61675 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/AsmParser/LLParser.cpp b/lib/AsmParser/LLParser.cpp index e44e65057ca..1f08ca34ff1 100644 --- a/lib/AsmParser/LLParser.cpp +++ b/lib/AsmParser/LLParser.cpp @@ -793,7 +793,11 @@ bool LLParser::ParseOptionalAlignment(unsigned &Alignment) { Alignment = 0; if (!EatIfPresent(lltok::kw_align)) return false; - return ParseUInt32(Alignment); + LocTy AlignLoc = Lex.getLoc(); + if (ParseUInt32(Alignment)) return true; + if (!isPowerOf2_32(Alignment)) + return Error(AlignLoc, "alignment is not a power of two"); + return false; } /// ParseOptionalCommaAlignment