New tests for Packed structs.
authorDevang Patel <dpatel@apple.com>
Thu, 5 Apr 2007 17:07:48 +0000 (17:07 +0000)
committerDevang Patel <dpatel@apple.com>
Thu, 5 Apr 2007 17:07:48 +0000 (17:07 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35685 91177308-0d34-0410-b5e6-96231b3b80d8

test/CFrontend/2007-04-05-PackedBitFields-2.c [new file with mode: 0644]
test/CFrontend/2007-04-05-PackedBitFields.c [new file with mode: 0644]
test/CFrontend/2007-04-05-PackedStruct.c [new file with mode: 0644]
test/CFrontend/2007-04-05-UnPackedStruct.c [new file with mode: 0644]

diff --git a/test/CFrontend/2007-04-05-PackedBitFields-2.c b/test/CFrontend/2007-04-05-PackedBitFields-2.c
new file mode 100644 (file)
index 0000000..d9db420
--- /dev/null
@@ -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 (file)
index 0000000..f9de356
--- /dev/null
@@ -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 (file)
index 0000000..0d524c4
--- /dev/null
@@ -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 (file)
index 0000000..9e168ed
--- /dev/null
@@ -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 };
+}