aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDevang Patel <dpatel@apple.com>2007-04-05 17:07:48 +0000
committerDevang Patel <dpatel@apple.com>2007-04-05 17:07:48 +0000
commit13eb4c65874cba9c69b6ed1938c28649de2f3687 (patch)
treed0629c13d9f7c0e606dc303e1d1c876bab96745c
parentc8c5752b2fcc9131358905e7af75d51dd84861b9 (diff)
New tests for Packed structs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35685 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--test/CFrontend/2007-04-05-PackedBitFields-2.c16
-rw-r--r--test/CFrontend/2007-04-05-PackedBitFields.c16
-rw-r--r--test/CFrontend/2007-04-05-PackedStruct.c18
-rw-r--r--test/CFrontend/2007-04-05-UnPackedStruct.c16
4 files changed, 66 insertions, 0 deletions
diff --git a/test/CFrontend/2007-04-05-PackedBitFields-2.c b/test/CFrontend/2007-04-05-PackedBitFields-2.c
new file mode 100644
index 0000000000..d9db4206c1
--- /dev/null
+++ b/test/CFrontend/2007-04-05-PackedBitFields-2.c
@@ -0,0 +1,16 @@
+// RUN: %llvmgcc %s -S -o -
+
+# define pck __attribute__((packed))
+
+
+struct pck F {
+ unsigned long long i : 12,
+ j : 23,
+ k : 27,
+ l;
+};
+struct F f1;
+
+void foo() {
+ f1.l = 5;
+}
diff --git a/test/CFrontend/2007-04-05-PackedBitFields.c b/test/CFrontend/2007-04-05-PackedBitFields.c
new file mode 100644
index 0000000000..f9de35639b
--- /dev/null
+++ b/test/CFrontend/2007-04-05-PackedBitFields.c
@@ -0,0 +1,16 @@
+// RUN: %llvmgcc %s -S -o -
+
+# define pck __attribute__((packed))
+
+
+struct pck E {
+ unsigned long long l,
+ i : 12,
+ j : 23,
+ k : 29; };
+
+struct E e1;
+
+void foo() {
+ e1.k = 5;
+}
diff --git a/test/CFrontend/2007-04-05-PackedStruct.c b/test/CFrontend/2007-04-05-PackedStruct.c
new file mode 100644
index 0000000000..0d524c489e
--- /dev/null
+++ b/test/CFrontend/2007-04-05-PackedStruct.c
@@ -0,0 +1,18 @@
+// RUN: %llvmgcc %s -S -o -
+
+#pragma pack(push, 2)
+
+enum {
+ tA = 0,
+ tB = 1
+};
+
+struct MyStruct {
+ unsigned long A;
+ char C;
+ void * B;
+};
+
+void bar(){
+struct MyStruct MS = { tB, 0 };
+}
diff --git a/test/CFrontend/2007-04-05-UnPackedStruct.c b/test/CFrontend/2007-04-05-UnPackedStruct.c
new file mode 100644
index 0000000000..9e168ed34f
--- /dev/null
+++ b/test/CFrontend/2007-04-05-UnPackedStruct.c
@@ -0,0 +1,16 @@
+// RUN: %llvmgcc %s -S -o -
+
+
+enum {
+ tA = 0,
+ tB = 1
+};
+
+struct MyStruct {
+ unsigned long A;
+ void * B;
+};
+
+void bar(){
+struct MyStruct MS = { tB, 0 };
+}