diff --git a/cocci/.gitignore b/cocci/.gitignore new file mode 100644 index 0000000000..faacba5004 --- /dev/null +++ b/cocci/.gitignore @@ -0,0 +1 @@ +/*.patch diff --git a/cocci/unreachable.spatch b/cocci/unreachable.spatch new file mode 100644 index 0000000000..0cc368a516 --- /dev/null +++ b/cocci/unreachable.spatch @@ -0,0 +1,6 @@ +@@ +@@ + + INSIST(0); ++ ISC_UNREACHABLE(); + ... when != ISC_UNREACHABLE(); diff --git a/util/check-cocci b/util/check-cocci new file mode 100755 index 0000000000..61792bd12e --- /dev/null +++ b/util/check-cocci @@ -0,0 +1,15 @@ +#!/bin/sh + +ret=0 +for spatch in cocci/*.spatch; do + patch="$(dirname "$spatch")/$(basename "$spatch" .spatch).patch" + spatch --sp-file="$spatch" --use-gitgrep --dir . --very-quiet > "$patch"; + if [ "$(< "$patch" wc -l)" -gt "0" ]; then + cat "$patch" + ret=1 + else + rm "$patch" + fi +done + +exit $ret diff --git a/util/copyrights b/util/copyrights index 77bc8849d4..416d41058e 100644 --- a/util/copyrights +++ b/util/copyrights @@ -2511,6 +2511,7 @@ ./bin/win32/BINDInstall/resource.h X 2001,2005,2009,2018 ./bind.keys X 2009,2010,2011,2017,2018 ./bind.keys.h X 2009,2010,2011,2012,2014,2017,2018 +./cocci/unreachable.spatch X 2018 ./config.guess X 1998,1999,2000,2001,2004,2009,2013,2018 ./config.h.in X 1998,1999,2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018 ./config.h.win32 C 1999,2000,2001,2004,2006,2007,2008,2009,2011,2012,2013,2014,2015,2016,2017,2018 @@ -4189,6 +4190,7 @@ ./util/branchsync.sh SH 2013,2016,2018 ./util/check-categories.sh SH 2015,2016,2017,2018 ./util/check-changes PERL 2002,2004,2007,2012,2016,2018 +./util/check-cocci X 2018 ./util/check-includes.pl PERL 2000,2001,2004,2007,2012,2016,2017,2018 ./util/check-instincludes.sh SH 2000,2001,2004,2007,2012,2016,2018 ./util/check-pullups.pl PERL 2001,2002,2003,2004,2007,2012,2016,2018