summaryrefslogtreecommitdiffstats
path: root/clang/test/SemaCXX/class-layout.cpp
diff options
context:
space:
mode:
authorAnders Carlsson <andersca@mac.com>2009-11-22 19:13:51 +0000
committerAnders Carlsson <andersca@mac.com>2009-11-22 19:13:51 +0000
commitba958400a28412d02a0a6ba8af7920e24f70e87b (patch)
tree97f621647ff1bcc4608b975f8b2c8e37d37a4e35 /clang/test/SemaCXX/class-layout.cpp
parent1299f36af18a566f092ac15e76030a4512ea64b0 (diff)
downloadbcm5719-llvm-ba958400a28412d02a0a6ba8af7920e24f70e87b.tar.gz
bcm5719-llvm-ba958400a28412d02a0a6ba8af7920e24f70e87b.zip
When laying out bitfields, make sure that the data size is always aligned to a byte. This fixes PR5580.
llvm-svn: 89611
Diffstat (limited to 'clang/test/SemaCXX/class-layout.cpp')
-rw-r--r--clang/test/SemaCXX/class-layout.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/clang/test/SemaCXX/class-layout.cpp b/clang/test/SemaCXX/class-layout.cpp
index 56f41bfbdb9..b5971723a70 100644
--- a/clang/test/SemaCXX/class-layout.cpp
+++ b/clang/test/SemaCXX/class-layout.cpp
@@ -47,3 +47,20 @@ struct G { G(); };
struct H : G { };
SA(6, sizeof(H) == 1);
+
+// PR5580
+namespace PR5580 {
+
+class A { bool iv0 : 1; };
+SA(7, sizeof(A) == 1);
+
+class B : A { bool iv0 : 1; };
+SA(8, sizeof(B) == 2);
+
+struct C { bool iv0 : 1; };
+SA(9, sizeof(C) == 1);
+
+struct D : C { bool iv0 : 1; };
+SA(10, sizeof(D) == 2);
+
+}
OpenPOWER on IntegriCloud