#!/bin/sh

# finds special comments in the source files and
# records filename and line number in uno_suppress file
# to suppress warnings on those lines
#
#	default use:
#		mk_uno_suppress
#	optionall add names of additional files on the command line
#	for instance:
#		mk_uno_suppress /usr/include/*

grep -H -n @uno_suppress *.[chy] |
	sed "s/:/@_@/" |
	sed "s/:.*$//" |
	sed "s/@_@/	/" > uno_suppress

if [ $# -gt 0 ]
then
	grep -H -n @uno_suppress $* |
	sed "s/:/@_@/" |
	sed "s/:.*$//" |
	sed "s/@_@/	/" >> uno_suppress
fi

echo "lexer.l	0" >> uno_suppress	# ignore non-global warnings in lexer.l
echo "lexer.c	0" >> uno_suppress	# ignore non-global warnings in lexer.c
echo "c_gram.y	0" >> uno_suppress	# ignore non-global warnings in c_gram.y
echo "c_gram.c	0" >> uno_suppress	# ignore non-global warnings in c_gram.c

# this does not suppress reports generated by uno_global in global analyses

echo "wrote uno_suppress:"
ls -l uno_suppress
