From 13eb4c65874cba9c69b6ed1938c28649de2f3687 Mon Sep 17 00:00:00 2001 From: Devang Patel Date: Thu, 5 Apr 2007 17:07:48 +0000 Subject: [PATCH] New tests for Packed structs. 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 | 16 ++++++++++++++++ test/CFrontend/2007-04-05-PackedBitFields.c | 16 ++++++++++++++++ test/CFrontend/2007-04-05-PackedStruct.c | 18 ++++++++++++++++++ test/CFrontend/2007-04-05-UnPackedStruct.c | 16 ++++++++++++++++ 4 files changed, 66 insertions(+) create mode 100644 test/CFrontend/2007-04-05-PackedBitFields-2.c create mode 100644 test/CFrontend/2007-04-05-PackedBitFields.c create mode 100644 test/CFrontend/2007-04-05-PackedStruct.c create mode 100644 test/CFrontend/2007-04-05-UnPackedStruct.c 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 }; +}