1typedef signed int sint; 2typedef unsigned int uint; 3 4sint seq(sint p, sint a) { return (123 == p) == (p == 123); } 5sint sne(sint p, sint a) { return (123 != p) == (p != 123); } 6 7sint slt(sint p, sint a) { return (123 > p) == (p < 123); } 8sint sle(sint p, sint a) { return (123 >= p) == (p <= 123); } 9sint sge(sint p, sint a) { return (123 <= p) == (p >= 123); } 10sint sgt(sint p, sint a) { return (123 < p) == (p > 123); } 11 12uint ueq(uint p, uint a) { return (123 == p) == (p == 123); } 13uint une(uint p, uint a) { return (123 != p) == (p != 123); } 14 15uint ubt(uint p, uint a) { return (123 > p) == (p < 123); } 16uint ube(uint p, uint a) { return (123 >= p) == (p <= 123); } 17uint uae(uint p, uint a) { return (123 <= p) == (p >= 123); } 18uint uat(uint p, uint a) { return (123 < p) == (p > 123); } 19 20/* 21 * check-name: canonical-cmp 22 * check-description: check that constants move rightside 23 * check-command: test-linearize -Wno-decl $file 24 * 25 * check-output-ignore 26 * check-output-excludes: \\$123, 27 */ 28