1*1f5207b7SJohn Levon typedef unsigned int u32; 2*1f5207b7SJohn Levon seq(int a)3*1f5207b7SJohn Levonint seq(int a) { return a == a; } sne(int a)4*1f5207b7SJohn Levonint sne(int a) { return a != a; } slt(int a)5*1f5207b7SJohn Levonint slt(int a) { return a < a; } sgt(int a)6*1f5207b7SJohn Levonint sgt(int a) { return a > a; } sle(int a)7*1f5207b7SJohn Levonint sle(int a) { return a <= a; } sge(int a)8*1f5207b7SJohn Levonint sge(int a) { return a >= a; } 9*1f5207b7SJohn Levon ueq(u32 a)10*1f5207b7SJohn Levonu32 ueq(u32 a) { return a == a; } une(u32 a)11*1f5207b7SJohn Levonu32 une(u32 a) { return a != a; } ult(u32 a)12*1f5207b7SJohn Levonu32 ult(u32 a) { return a < a; } ugt(u32 a)13*1f5207b7SJohn Levonu32 ugt(u32 a) { return a > a; } ule(u32 a)14*1f5207b7SJohn Levonu32 ule(u32 a) { return a <= a; } uge(u32 a)15*1f5207b7SJohn Levonu32 uge(u32 a) { return a >= a; } 16*1f5207b7SJohn Levon 17*1f5207b7SJohn Levon /* 18*1f5207b7SJohn Levon * check-name: tautological-compare 19*1f5207b7SJohn Levon * check-command: sparse -Wno-decl -Wtautological-compare $file 20*1f5207b7SJohn Levon * 21*1f5207b7SJohn Levon * check-error-start 22*1f5207b7SJohn Levon tautological-compare.c:3:30: warning: self-comparison always evaluates to true 23*1f5207b7SJohn Levon tautological-compare.c:4:30: warning: self-comparison always evaluates to false 24*1f5207b7SJohn Levon tautological-compare.c:5:29: warning: self-comparison always evaluates to false 25*1f5207b7SJohn Levon tautological-compare.c:6:29: warning: self-comparison always evaluates to false 26*1f5207b7SJohn Levon tautological-compare.c:7:30: warning: self-comparison always evaluates to true 27*1f5207b7SJohn Levon tautological-compare.c:8:30: warning: self-comparison always evaluates to true 28*1f5207b7SJohn Levon tautological-compare.c:10:30: warning: self-comparison always evaluates to true 29*1f5207b7SJohn Levon tautological-compare.c:11:30: warning: self-comparison always evaluates to false 30*1f5207b7SJohn Levon tautological-compare.c:12:29: warning: self-comparison always evaluates to false 31*1f5207b7SJohn Levon tautological-compare.c:13:29: warning: self-comparison always evaluates to false 32*1f5207b7SJohn Levon tautological-compare.c:14:30: warning: self-comparison always evaluates to true 33*1f5207b7SJohn Levon tautological-compare.c:15:30: warning: self-comparison always evaluates to true 34*1f5207b7SJohn Levon * check-error-end 35*1f5207b7SJohn Levon */ 36