diff options
Diffstat (limited to 'clang/utils/find-unused-diagnostics.sh')
-rw-r--r-- | clang/utils/find-unused-diagnostics.sh | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/clang/utils/find-unused-diagnostics.sh b/clang/utils/find-unused-diagnostics.sh new file mode 100644 index 0000000..89b7f7a --- /dev/null +++ b/clang/utils/find-unused-diagnostics.sh @@ -0,0 +1,19 @@ +#!/bin/bash +# +# This script produces a list of all diagnostics that are defined +# in Diagnostic*.td files but not used in sources. +# + +ALL_DIAGS=$(mktemp) +ALL_SOURCES=$(mktemp) + +grep -E --only-matching --no-filename '(err_|warn_|ext_|note_)[a-z_]+ ' ./include/clang/Basic/Diagnostic*.td > $ALL_DIAGS +find lib include tools -name \*.cpp -or -name \*.h > $ALL_SOURCES +for DIAG in $(cat $ALL_DIAGS); do + if ! grep -r $DIAG $(cat $ALL_SOURCES) > /dev/null; then + echo $DIAG + fi; +done + +rm $ALL_DIAGS $ALL_SOURCES + |