1typedef unsigned int u32; 2 3int ssub(int a) { return a - a; } 4u32 usub(u32 a) { return a - a; } 5 6int sdiv(int a) { return a / a; } 7u32 udiv(u32 a) { return a / a; } 8int smod(int a) { return a % a; } 9u32 umod(u32 a) { return a % a; } 10 11int seq(int a) { return a == a; } 12int sne(int a) { return a != a; } 13int slt(int a) { return a < a; } 14int sgt(int a) { return a > a; } 15int sle(int a) { return a <= a; } 16int sge(int a) { return a >= a; } 17 18u32 ueq(u32 a) { return a == a; } 19u32 une(u32 a) { return a != a; } 20u32 ult(u32 a) { return a < a; } 21u32 ugt(u32 a) { return a > a; } 22u32 ule(u32 a) { return a <= a; } 23u32 uge(u32 a) { return a >= a; } 24 25u32 xor(u32 a) { return a ^ a; } 26 27u32 ior(u32 a) { return a | a; } 28u32 and(u32 a) { return a & a; } 29 30/* 31 * check-name: double-unop 32 * check-command: test-linearize -Wno-decl $file 33 * check-output-ignore 34 * 35 * check-output-excludes: sub\\. 36 * check-output-contains: divs\\. 37 * check-output-contains: divu\\. 38 * check-output-contains: mods\\. 39 * check-output-contains: modu\\. 40 * check-output-excludes: seteq\\. 41 * check-output-excludes: setne\\. 42 * check-output-excludes: set[gl]t\\. 43 * check-output-excludes: set[gl]e\\. 44 * check-output-excludes: set[ab]\\. 45 * check-output-excludes: set[ab]e\\. 46 * check-output-excludes: xor\\. 47 * check-output-excludes: or\\. 48 * check-output-excludes: and\\. 49 */ 50