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