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