diff options
-rw-r--r-- | lib/CodeGen/CGExprConstant.cpp | 2 | ||||
-rw-r--r-- | test/CodeGen/decl.c | 5 |
2 files changed, 6 insertions, 1 deletions
diff --git a/lib/CodeGen/CGExprConstant.cpp b/lib/CodeGen/CGExprConstant.cpp index 52e7d045e6..82156f7260 100644 --- a/lib/CodeGen/CGExprConstant.cpp +++ b/lib/CodeGen/CGExprConstant.cpp @@ -372,7 +372,7 @@ bool ConstStructBuilder::Build(InitListExpr *ILE) { assert(!Packed && "Size mismatch!"); ConvertStructToPacked(); - assert(NextFieldOffsetInBytes == LayoutSizeInBytes && + assert(NextFieldOffsetInBytes <= LayoutSizeInBytes && "Converting to packed did not help!"); } diff --git a/test/CodeGen/decl.c b/test/CodeGen/decl.c index 8bbeb24fe1..7ffb7006b0 100644 --- a/test/CodeGen/decl.c +++ b/test/CodeGen/decl.c @@ -84,3 +84,8 @@ struct test7s { int a; int b; } test7[] = { {4}, }; +// rdar://7872531 +#pragma pack(push, 2) +struct test8s { int f0; char f1; } test8g = {}; + + |