From: Devang Patel Date: Thu, 5 Apr 2007 17:07:48 +0000 (+0000) Subject: New tests for Packed structs. X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=13eb4c65874cba9c69b6ed1938c28649de2f3687;p=oota-llvm.git New tests for Packed structs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35685 91177308-0d34-0410-b5e6-96231b3b80d8 --- 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 00000000000..d9db4206c16 --- /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 00000000000..f9de35639b0 --- /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 00000000000..0d524c489ea --- /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 00000000000..9e168ed34fe --- /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 }; +}