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