1*67e74705SXin Li // RUN: %clang_cc1 %s -verify -fsyntax-only 2*67e74705SXin Li // expected-no-diagnostics 3*67e74705SXin Li 4*67e74705SXin Li _Atomic(unsigned int) data1; 5*67e74705SXin Li int _Atomic data2; 6*67e74705SXin Li 7*67e74705SXin Li // Shift operations 8*67e74705SXin Li func_01(int x)9*67e74705SXin Liint func_01 (int x) { 10*67e74705SXin Li return data1 << x; 11*67e74705SXin Li } 12*67e74705SXin Li func_02(int x)13*67e74705SXin Liint func_02 (int x) { 14*67e74705SXin Li return x << data1; 15*67e74705SXin Li } 16*67e74705SXin Li func_03(int x)17*67e74705SXin Liint func_03 (int x) { 18*67e74705SXin Li return data2 << x; 19*67e74705SXin Li } 20*67e74705SXin Li func_04(int x)21*67e74705SXin Liint func_04 (int x) { 22*67e74705SXin Li return x << data2; 23*67e74705SXin Li } 24*67e74705SXin Li func_05()25*67e74705SXin Liint func_05 () { 26*67e74705SXin Li return data2 << data1; 27*67e74705SXin Li } 28*67e74705SXin Li func_06()29*67e74705SXin Liint func_06 () { 30*67e74705SXin Li return data1 << data2; 31*67e74705SXin Li } 32*67e74705SXin Li func_07(int x)33*67e74705SXin Livoid func_07 (int x) { 34*67e74705SXin Li data1 <<= x; 35*67e74705SXin Li } 36*67e74705SXin Li func_08(int x)37*67e74705SXin Livoid func_08 (int x) { 38*67e74705SXin Li data2 <<= x; 39*67e74705SXin Li } 40*67e74705SXin Li func_09(int * xp)41*67e74705SXin Livoid func_09 (int* xp) { 42*67e74705SXin Li *xp <<= data1; 43*67e74705SXin Li } 44*67e74705SXin Li func_10(int * xp)45*67e74705SXin Livoid func_10 (int* xp) { 46*67e74705SXin Li *xp <<= data2; 47*67e74705SXin Li } 48*67e74705SXin Li func_11(int x)49*67e74705SXin Liint func_11 (int x) { 50*67e74705SXin Li return data1 == x; 51*67e74705SXin Li } 52*67e74705SXin Li func_12()53*67e74705SXin Liint func_12 () { 54*67e74705SXin Li return data1 < data2; 55*67e74705SXin Li } 56*67e74705SXin Li func_13(int x,unsigned y)57*67e74705SXin Liint func_13 (int x, unsigned y) { 58*67e74705SXin Li return x ? data1 : y; 59*67e74705SXin Li } 60*67e74705SXin Li func_14()61*67e74705SXin Liint func_14 () { 62*67e74705SXin Li return data1 == 0; 63*67e74705SXin Li } 64