[PATCH] D121387: [analyzer] ClangSA should tablegen doc urls refering to the main doc page

Balázs Benics via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue Mar 22 11:09:05 PDT 2022


steakhal updated this revision to Diff 417344.

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D121387/new/

https://reviews.llvm.org/D121387

Files:
  clang/test/Analysis/diagnostics/Inputs/expected-sarif/sarif-multi-diagnostic-test.c.sarif
  clang/utils/TableGen/ClangSACheckersEmitter.cpp


Index: clang/utils/TableGen/ClangSACheckersEmitter.cpp
===================================================================
--- clang/utils/TableGen/ClangSACheckersEmitter.cpp
+++ clang/utils/TableGen/ClangSACheckersEmitter.cpp
@@ -75,23 +75,18 @@
 }
 
 static std::string getCheckerDocs(const Record &R) {
-  StringRef LandingPage;
   const BitsInit *BI = R.getValueAsBitsInit("Documentation");
   if (!BI)
     PrintFatalError(R.getLoc(),
                     "missing Documentation for " + getCheckerFullName(&R));
 
-  uint64_t V = getValueFromBitsInit(BI, R);
-  if (V == 1)
-    LandingPage = "available_checks.html";
-  else if (V == 2)
-    LandingPage = "alpha_checks.html";
-
-  if (LandingPage.empty())
+  // Ignore 'Documentation<NotDocumented>' checkers.
+  if (getValueFromBitsInit(BI, R) == 0)
     return "";
 
-  return (llvm::Twine("https://clang-analyzer.llvm.org/") + LandingPage + "#" +
-          getCheckerFullName(&R))
+  std::string CheckerFullName = StringRef(getCheckerFullName(&R, "-")).lower();
+  return (llvm::Twine("https://clang.llvm.org/docs/analyzer/checkers.html#") +
+          CheckerFullName)
       .str();
 }
 
Index: clang/test/Analysis/diagnostics/Inputs/expected-sarif/sarif-multi-diagnostic-test.c.sarif
===================================================================
--- clang/test/Analysis/diagnostics/Inputs/expected-sarif/sarif-multi-diagnostic-test.c.sarif
+++ clang/test/Analysis/diagnostics/Inputs/expected-sarif/sarif-multi-diagnostic-test.c.sarif
@@ -451,7 +451,7 @@
               "fullDescription": {
                 "text": "Check for logical errors for function calls and Objective-C message expressions (e.g., uninitialized arguments, null function pointers)"
               },
-              "helpUri": "https://clang-analyzer.llvm.org/available_checks.html#core.CallAndMessage",
+              "helpUri": "https://clang.llvm.org/docs/analyzer/checkers.html#core-callandmessage",
               "id": "core.CallAndMessage",
               "name": "core.CallAndMessage"
             },
@@ -459,7 +459,7 @@
               "fullDescription": {
                 "text": "Check for division by zero"
               },
-              "helpUri": "https://clang-analyzer.llvm.org/available_checks.html#core.DivideZero",
+              "helpUri": "https://clang.llvm.org/docs/analyzer/checkers.html#core-dividezero",
               "id": "core.DivideZero",
               "name": "core.DivideZero"
             },
@@ -467,7 +467,7 @@
               "fullDescription": {
                 "text": "Check for memory leaks, double free, and use-after-free problems. Traces memory managed by malloc()/free()."
               },
-              "helpUri": "https://clang-analyzer.llvm.org/available_checks.html#unix.Malloc",
+              "helpUri": "https://clang.llvm.org/docs/analyzer/checkers.html#unix-malloc",
               "id": "unix.Malloc",
               "name": "unix.Malloc"
             }


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D121387.417344.patch
Type: text/x-patch
Size: 2953 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20220322/bc7b324e/attachment-0001.bin>


More information about the cfe-commits mailing list