aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/CodeGen/CGExprConstant.cpp2
-rw-r--r--test/CodeGen/decl.c5
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 = {};
+
+