Fix a buggy constant folding transformation when handling aliases.
[oota-llvm.git] / test / C++Frontend / 2007-04-05-PackedBitFieldsSmall.cpp
1 // RUN: %llvmgxx -S %s -o - | llvm-as -f -o /dev/null
2
3
4 #ifdef PACKED
5 // This is an example where size of Packed struct is smaller then 
6 // the size of bit field type.
7 #define P __attribute__((packed))
8 #else
9 #define P
10 #endif
11
12 struct P M_Packed { 
13   unsigned long long X:50;
14   unsigned Y:2;
15 }; 
16
17 struct M_Packed sM_Packed; 
18
19 int testM_Packed (void) { 
20   struct M_Packed x; 
21   return (0 != x.Y);
22 }
23       
24 int testM_Packed2 (void) { 
25   struct M_Packed x; 
26   return (0 != x.X);
27 }