1*fd69b2f7SPeter Zijlstra#!/bin/sh -eu 2*fd69b2f7SPeter Zijlstra# SPDX-License-Identifier: GPL-2.0 3*fd69b2f7SPeter Zijlstra 4*fd69b2f7SPeter Zijlstra[ ! -x "$(command -v "$1")" ] && exit 1 5*fd69b2f7SPeter Zijlstra 6*fd69b2f7SPeter Zijlstratmp_file=$(mktemp) 7*fd69b2f7SPeter Zijlstratrap "rm -f $tmp_file" EXIT 8*fd69b2f7SPeter Zijlstra 9*fd69b2f7SPeter Zijlstracat << EOF >$tmp_file 10*fd69b2f7SPeter Zijlstrastatic inline int u(const int *q) 11*fd69b2f7SPeter Zijlstra{ 12*fd69b2f7SPeter Zijlstra __typeof_unqual__(*q) v = *q; 13*fd69b2f7SPeter Zijlstra return v; 14*fd69b2f7SPeter Zijlstra} 15*fd69b2f7SPeter ZijlstraEOF 16*fd69b2f7SPeter Zijlstra 17*fd69b2f7SPeter Zijlstra# sparse happily exits with 0 on error so validate 18*fd69b2f7SPeter Zijlstra# there is none on stderr. Use awk as grep is a pain with sh -e 19*fd69b2f7SPeter Zijlstra$@ $tmp_file 2>&1 | awk -v c=1 '/error/{c=0}END{print c}' 20