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 };
+}