root/usr/src/tools/smatch/src/validation/kill-pure-call.c
int side(int a);
int pure(int a) __attribute__((pure));

int keep(int a) { return side(a) && 0; }
int kill(int a) { return pure(a) && 0; }

/*
 * check-name: kill-pure-call
 * check-command: test-linearize -Wno-decl $file
 * check-description:
 *      See that the call is optimized away but only
 *      when the function is "pure".
 *
 * check-output-ignore
 * check-output-contains: call\\..* side
 * check-output-excludes: call\\..* pure
 */