Merge pull request #5714 from alexischr/update_bockbuild
[mono.git] / mcs / tests / test-196.cs
1 //
2 // Tests related to constants and binary operators (bug 39018)
3 //
4
5 class X {
6         void Bug1 () {
7                 uint a = 1, b = 2;
8                 long l = (b & (0x1 << 31));
9         }
10
11         void Bug2 () {
12                 uint a = 1, b = 2;
13                 const int l = 1;
14                 const int r = 31;
15                 
16                 long ll = (b & (l << r));
17         }
18         
19         public static int Main ()
20         {
21                 const byte b = 255;
22                 const int i = b << int.MaxValue;
23                 const int i2 = b << int.MaxValue;
24                 
25                 long token = uint.MaxValue;
26                 const int column_mask = (int)((1 << 32) - 1);
27                 int r2 = (int) (token & column_mask);
28                 if (r2 != 0)
29                         return 1;
30
31                 return 0;
32         }
33 }