blob: 997ee90e9f3b075f3104cdf15b3c9d3229a5aee6 [file] [log] [blame]
Douglas Gregor8997dac2013-04-16 15:41:08 +00001// 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}
Eli Friedmane6d33952013-07-08 20:20:06 +000048
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
Justin Bogner4f42fc42014-07-21 18:01:53 +000061int func_14 () {
62 return data1 == 0;
63}