Bug 1475882 - Enable clang-tidy's misc-unused-alias-decls check. r?andi draft
authorChris Peterson <cpeterson@mozilla.com>
Mon, 09 Jul 2018 11:04:31 -0700
changeset 819050 13e0217f2937ed697fd467ff206e2ac0270bfbb9
parent 819049 d46d4695a4795be9d9ac50754bdaa441f0928d62
push id116421
push usercpeterson@mozilla.com
push dateTue, 17 Jul 2018 01:36:52 +0000
reviewersandi
bugs1475882
milestone63.0a1
Bug 1475882 - Enable clang-tidy's misc-unused-alias-decls check. r?andi This check finds unused namespace alias declarations. There are currently no misc-unused-alias-decls warnings in mozilla-central! https://clang.llvm.org/extra/clang-tidy/checks/misc-unused-alias-decls.html MozReview-Commit-ID: LHziGESvaM5
tools/clang-tidy/config.yaml
tools/clang-tidy/test/misc-unused-alias-decls.cpp
tools/clang-tidy/test/misc-unused-alias-decls.json
--- a/tools/clang-tidy/config.yaml
+++ b/tools/clang-tidy/config.yaml
@@ -59,16 +59,18 @@ clang_checkers:
   - name: misc-string-integer-assignment
     publish: !!bool yes
   - name: misc-suspicious-missing-comma
     publish: !!bool yes
   - name: misc-suspicious-semicolon
     publish: !!bool yes
   - name: misc-swapped-arguments
     publish: !!bool yes
+  - name: misc-unused-alias-decls
+    publish: !!bool yes
   - name: misc-unused-using-decls
     publish: !!bool yes
   - name: modernize-avoid-bind
     publish: !!bool yes
     restricted-platforms:
       - win32
       - win64
   - name: modernize-loop-convert
new file mode 100644
--- /dev/null
+++ b/tools/clang-tidy/test/misc-unused-alias-decls.cpp
@@ -0,0 +1,18 @@
+// https://clang.llvm.org/extra/clang-tidy/checks/misc-unused-alias-decls.html
+
+namespace n1 {
+    namespace n2 {
+         namespace n3 {
+             int qux = 42;
+         }
+    }
+}
+
+namespace n1_unused = ::n1;     // WARNING
+namespace n12_unused = n1::n2;  // WARNING
+namespace n123 = n1::n2::n3;    // OK
+
+int test()
+{
+  return n123::qux;
+}
new file mode 100644
--- /dev/null
+++ b/tools/clang-tidy/test/misc-unused-alias-decls.json
@@ -0,0 +1,1 @@
+"[[\"warning\", \"namespace alias decl 'n1_unused' is unused\", \"misc-unused-alias-decls\"], [\"warning\", \"namespace alias decl 'n12_unused' is unused\", \"misc-unused-alias-decls\"]]"
\ No newline at end of file