summaryrefslogtreecommitdiffstats
path: root/clang
diff options
context:
space:
mode:
authorDmitri Gribenko <gribozavr@gmail.com>2012-02-13 20:21:52 +0000
committerDmitri Gribenko <gribozavr@gmail.com>2012-02-13 20:21:52 +0000
commit5dc3a6936d621af6c94e1006001810b9d6c2a6b2 (patch)
treee903b411029b0860ebf4539bea7d4f0fca4add12 /clang
parentc233a545e8cfb01dde1ab9f6079d0a026b14dda7 (diff)
downloadbcm5719-llvm-5dc3a6936d621af6c94e1006001810b9d6c2a6b2.tar.gz
bcm5719-llvm-5dc3a6936d621af6c94e1006001810b9d6c2a6b2.zip
Add a script that produces a list of all diagnostics that are defined in
Diagnostic*.td files but not used in sources. llvm-svn: 150410
Diffstat (limited to 'clang')
-rw-r--r--clang/utils/find-unused-diagnostics.sh19
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 00000000000..89b7f7a700d
--- /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
+
OpenPOWER on IntegriCloud