// // Tests related to constants and binary operators (bug 39018) // class X { void Bug1 () { uint a = 1, b = 2; long l = (b & (0x1 << 31)); } void Bug2 () { uint a = 1, b = 2; const int l = 1; const int r = 31; long ll = (b & (l << r)); } public static int Main () { const byte b = 255; const int i = b << int.MaxValue; const int i2 = b << int.MaxValue; long token = uint.MaxValue; const int column_mask = (int)((1 << 32) - 1); int r2 = (int) (token & column_mask); if (r2 != 0) return 1; return 0; } }