static void ok(int x) | |
{ | |
__assert((~x) == (~0 - x)); // true but not simplified yet | |
__assert_eq(~x, ~0 - x); | |
__assert_const(x & 0, 0); | |
} | |
static void always(int x) | |
{ | |
__assert((x - x) == 0); // true and simplified | |
} | |
static void assumed(int x, int a, int b) | |
{ | |
__assume((a & ~b) == 0); | |
__assert_eq((x ^ a) | b, x | b); | |
} | |
/* | |
* check-name: scheck-ok | |
* check-command: scheck $file | |
*/ |