// RUN: %clang_cc1 %s -verify -fsyntax-only | |
// expected-no-diagnostics | |
_Atomic(unsigned int) data1; | |
int _Atomic data2; | |
// Shift operations | |
int func_01 (int x) { | |
return data1 << x; | |
} | |
int func_02 (int x) { | |
return x << data1; | |
} | |
int func_03 (int x) { | |
return data2 << x; | |
} | |
int func_04 (int x) { | |
return x << data2; | |
} | |
int func_05 () { | |
return data2 << data1; | |
} | |
int func_06 () { | |
return data1 << data2; | |
} | |
void func_07 (int x) { | |
data1 <<= x; | |
} | |
void func_08 (int x) { | |
data2 <<= x; | |
} | |
void func_09 (int* xp) { | |
*xp <<= data1; | |
} | |
void func_10 (int* xp) { | |
*xp <<= data2; | |
} | |
int func_11 (int x) { | |
return data1 == x; | |
} | |
int func_12 () { | |
return data1 < data2; | |
} | |
int func_13 (int x, unsigned y) { | |
return x ? data1 : y; | |
} | |
int func_14 () { | |
return data1 == 0; | |
} |