1*67e74705SXin Li // RUN: %clang_cc1 -w -emit-llvm %s -o /dev/null 2*67e74705SXin Li 3*67e74705SXin Li 4*67e74705SXin Li typedef struct BF { 5*67e74705SXin Li int A : 1; 6*67e74705SXin Li char B; 7*67e74705SXin Li int C : 13; 8*67e74705SXin Li } BF; 9*67e74705SXin Li test1(BF * b)10*67e74705SXin Lichar *test1(BF *b) { 11*67e74705SXin Li return &b->B; // Must be able to address non-bitfield 12*67e74705SXin Li } 13*67e74705SXin Li test2(BF * b)14*67e74705SXin Livoid test2(BF *b) { // Increment and decrement operators 15*67e74705SXin Li b->A++; 16*67e74705SXin Li --b->C; 17*67e74705SXin Li } 18*67e74705SXin Li test3(BF * b)19*67e74705SXin Livoid test3(BF *b) { 20*67e74705SXin Li b->C = 12345; // Store 21*67e74705SXin Li } 22*67e74705SXin Li test4(BF * b)23*67e74705SXin Liint test4(BF *b) { 24*67e74705SXin Li return b->C; // Load 25*67e74705SXin Li } 26*67e74705SXin Li test5(BF * b,int i)27*67e74705SXin Livoid test5(BF *b, int i) { // array ref 28*67e74705SXin Li b[i].C = 12345; 29*67e74705SXin Li } 30*67e74705SXin Li 31