CodeGen: ConstStructBuilder must verify packed constraints after padding
authorDavid Majnemer <david.majnemer@gmail.com>
Sun, 19 Oct 2014 00:03:10 +0000 (00:03 +0000)
committerDavid Majnemer <david.majnemer@gmail.com>
Sun, 19 Oct 2014 00:03:10 +0000 (00:03 +0000)
commitafefe97e1c97dd4f04761b5412e34feced0d065a
tree6697c09167e6a7f488fa244e31664a3d35467b36
parent090a237f2981d7059073439f4fe159cbd7ab3389
CodeGen: ConstStructBuilder must verify packed constraints after padding

Before, ConstStructBuilder::AppendBytes would check packed constraints
prior to padding being added before the field's offset.  However, adding
this padding might force our struct to be packed.  Because we wouldn't
check *after* adding padding, ConstStructBuilder would be in an
inconsistent state leading to a crash.

This fixes PR21300.

llvm-svn: 220153
clang/lib/CodeGen/CGExprConstant.cpp
clang/test/CodeGen/const-init.c