From 3fbb3ab14d86f752a933b5af4e6728c5e57e1155 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Mon, 5 Jan 2009 07:46:05 +0000 Subject: [PATCH] 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 --- lib/AsmParser/LLParser.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) 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 -- 2.34.1