New tests for Packed structs.

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