1 /* bug 460444 2 */ 3 #include <testfwk.h> 4 5 void testXOR(void)6testXOR(void) 7 { 8 volatile int p = 5; 9 10 if (p ^ 0x60) { 11 // Good. 12 } 13 else { 14 FAIL(); 15 } 16 17 /* Test is to see if it compiles. */ 18 ASSERT((p^0x60) == 0x65); 19 ASSERT((p&0x61) == 0x01); 20 ASSERT((p|0x60) == 0x65); 21 22 p = 0x1234; 23 if (p ^ 0x5678) { 24 // Good. 25 } 26 else { 27 FAIL(); 28 } 29 30 if (p & 0x4324) { 31 // Good 32 } 33 else { 34 FAIL(); 35 } 36 37 if (p | 0x1279) { 38 // Good 39 } 40 else { 41 FAIL(); 42 } 43 } 44 45 void testLeftRightXor(void)46testLeftRightXor(void) 47 { 48 volatile int left, right; 49 50 left = 0x123; 51 right = 0x8101; 52 53 if (left ^ right) { 54 // Good 55 } 56 else { 57 FAIL(); 58 } 59 60 if (left & right) { 61 // Good 62 } 63 else { 64 FAIL(); 65 } 66 67 if (left | right) { 68 // Good 69 } 70 else { 71 FAIL(); 72 } 73 } 74