Turns out there is a simpler way of getting a set difference in bash than parsing...
authorBenjamin Kramer <benny.kra@googlemail.com>
Mon, 14 Jan 2013 15:00:48 +0000 (15:00 +0000)
committerBenjamin Kramer <benny.kra@googlemail.com>
Mon, 14 Jan 2013 15:00:48 +0000 (15:00 +0000)
llvm-svn: 172420

clang/utils/find-unused-diagnostics.sh

index cd6444d..c7fa01a 100755 (executable)
@@ -12,4 +12,4 @@ ALL_SOURCES=$(find lib include tools -name \*.cpp -or -name \*.h)
 DIAGS_IN_SOURCES=$(grep -E --only-matching --no-filename '(err_|warn_|ext_|note_)[a-z_]+' $ALL_SOURCES)
 
 # Print all diags that occur in the .td files but not in the source.
-diff -u <(sort -u <<< "$ALL_DIAGS") <(sort -u <<< "$DIAGS_IN_SOURCES") | sed -En 's/^-([a-z_]+)/\1/p'
+comm -23 <(sort -u <<< "$ALL_DIAGS") <(sort -u <<< "$DIAGS_IN_SOURCES")