> > New tests for Packed structs. Woot, thanks Devang, Duncan and Andrew! :)
-Chris > > --- > Diffs of the changes: (+66 -0) > > 2007-04-05-PackedBitFields-2.c | 16 ++++++++++++++++ > 2007-04-05-PackedBitFields.c | 16 ++++++++++++++++ > 2007-04-05-PackedStruct.c | 18 ++++++++++++++++++ > 2007-04-05-UnPackedStruct.c | 16 ++++++++++++++++ > 4 files changed, 66 insertions(+) > > > Index: llvm/test/CFrontend/2007-04-05-PackedBitFields-2.c > diff -c /dev/null llvm/test/CFrontend/2007-04-05- > PackedBitFields-2.c:1.1 > *** /dev/null Thu Apr 5 12:07:59 2007 > --- llvm/test/CFrontend/2007-04-05-PackedBitFields-2.c Thu Apr 5 > 12:07:48 2007 > *************** > *** 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; > + } > > > Index: llvm/test/CFrontend/2007-04-05-PackedBitFields.c > diff -c /dev/null llvm/test/CFrontend/2007-04-05-PackedBitFields.c:1.1 > *** /dev/null Thu Apr 5 12:08:06 2007 > --- llvm/test/CFrontend/2007-04-05-PackedBitFields.c Thu Apr 5 > 12:07:48 2007 > *************** > *** 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; > + } > > > Index: llvm/test/CFrontend/2007-04-05-PackedStruct.c > diff -c /dev/null llvm/test/CFrontend/2007-04-05-PackedStruct.c:1.1 > *** /dev/null Thu Apr 5 12:08:06 2007 > --- llvm/test/CFrontend/2007-04-05-PackedStruct.c Thu Apr 5 > 12:07:48 2007 > *************** > *** 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 }; > + } > > > Index: llvm/test/CFrontend/2007-04-05-UnPackedStruct.c > diff -c /dev/null llvm/test/CFrontend/2007-04-05-UnPackedStruct.c:1.1 > *** /dev/null Thu Apr 5 12:08:06 2007 > --- llvm/test/CFrontend/2007-04-05-UnPackedStruct.c Thu Apr 5 > 12:07:48 2007 > *************** > *** 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 }; > + } > > > > _______________________________________________ > llvm-commits mailing list > llvm-commits@cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits