3 type: signed char, int, long
12 {storage} {attr} {type} left, right, result;
24 ASSERT(result == (39-120));
30 ASSERT(result == (-39+80));
36 ASSERT(result == (-39-70));
39 ASSERT(result == ({type})(0xab00-39-70));
45 {storage} {attr} {type} left, right, result;
51 ASSERT(result == (5-26));
57 ASSERT(result == (39+76));
63 ASSERT(result == (-12-56));
69 ASSERT(result == (-39+20));
71 result = left-(signed)0x1200;
72 ASSERT(result == ({type})(-39-(signed)0x1200));