mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-26 17:16:07 +00:00

2007-01-06-PtrMethodInit.cpp 2007-04-05-PackedBitFields-1.cpp 2007-04-05-PackedBitFieldsOverlap-2.cpp 2007-04-05-PackedBitFieldsOverlap.cpp 2007-04-05-PackedBitFieldsSmall.cpp 2007-04-05-StructPackedFieldUnpacked.cpp 2007-04-10-PackedUnion.cpp 2007-04-14-FNoBuiltin.cpp 2007-05-03-VectorInit.cpp 2007-07-29-RestrictPtrArg.cpp 2007-07-29-RestrictRefArg.cpp 2007-09-10-RecursiveTypeResolution.cpp from llvm/test/FrontendC++ and FileCheckize where appropriate. llvm-svn: 138134
28 lines
446 B
C++
28 lines
446 B
C++
// RUN: %clang_cc1 -emit-llvm %s -o -
|
|
|
|
|
|
#ifdef PACKED
|
|
// This is an example where size of Packed struct is smaller then
|
|
// the size of bit field type.
|
|
#define P __attribute__((packed))
|
|
#else
|
|
#define P
|
|
#endif
|
|
|
|
struct P M_Packed {
|
|
unsigned long long X:50;
|
|
unsigned Y:2;
|
|
};
|
|
|
|
struct M_Packed sM_Packed;
|
|
|
|
int testM_Packed (void) {
|
|
struct M_Packed x;
|
|
return (0 != x.Y);
|
|
}
|
|
|
|
int testM_Packed2 (void) {
|
|
struct M_Packed x;
|
|
return (0 != x.X);
|
|
}
|