summaryrefslogtreecommitdiff
path: root/ci/check-unsafe-assertions.sh
blob: 233bd9dfbc41c26893d2a092cdc098971f0e786d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#!/bin/sh

make CHECK_ASSERTION_SIDE_EFFECTS=1 >compiler_output 2>compiler_error
if test $? != 0
then
	echo >&2 "ERROR: The compiler could not verify the following assert()"
	echo >&2 "       calls are free of side-effects.  Please replace with"
	echo >&2 "       ASSERT() calls."
	grep undefined.reference.to..not_supposed_to_survive compiler_error |
		sed -e s/:[^:]*$// | sort | uniq | tr ':' ' ' |
		while read f l
		do
			printf "${f}:${l}\n  "
			awk -v start="$l" 'NR >= start { print; if (/\);/) exit }' $f
		done
	exit 1
fi
rm compiler_output compiler_error