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