aboutsummaryrefslogtreecommitdiff
path: root/test/FrontendC++/2009-09-09-packed-layout.cpp
diff options
context:
space:
mode:
authorRoman Divacky <rdivacky@FreeBSD.org>2009-10-14 17:57:32 +0000
committerRoman Divacky <rdivacky@FreeBSD.org>2009-10-14 17:57:32 +0000
commit59850d0874429601812bc13408cb1f776649027c (patch)
treeb21f6de4e08b89bb7931806bab798fc2a5e3a686 /test/FrontendC++/2009-09-09-packed-layout.cpp
parent18f153bdb9db52e7089a2d5293b96c45a3124a26 (diff)
Diffstat (limited to 'test/FrontendC++/2009-09-09-packed-layout.cpp')
-rw-r--r--test/FrontendC++/2009-09-09-packed-layout.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/test/FrontendC++/2009-09-09-packed-layout.cpp b/test/FrontendC++/2009-09-09-packed-layout.cpp
new file mode 100644
index 000000000000..a569f9f78767
--- /dev/null
+++ b/test/FrontendC++/2009-09-09-packed-layout.cpp
@@ -0,0 +1,18 @@
+// RUN: %llvmgxx -S -m32 -emit-llvm %s -o /dev/null
+class X {
+ public:
+ virtual ~X();
+ short y;
+};
+#pragma pack(push, 1)
+class Z : public X {
+ public: enum { foo = ('x') };
+ virtual int y() const;
+};
+#pragma pack(pop)
+class Y : public X {
+public: enum { foo = ('y'), bar = 0 };
+};
+X x;
+Y y;
+Z z;