From 744e2a3e2232db87cb68b201739956ca205dc946 Mon Sep 17 00:00:00 2001 From: Balazs Benics Date: Tue, 19 Apr 2022 12:14:27 +0200 Subject: [PATCH] [analyzer] ClangSA should tablegen doc urls refering to the main doc page AFAIK we should prefer https://clang.llvm.org/docs/analyzer/checkers.html to https://clang-analyzer.llvm.org/{available_checks,alpha_checks}.html This patch will ensure that the doc urls produced by tablegen for the ClangSA, will use the new url. Nothing else will be changed. Reviewed By: martong, Szelethus, ASDenysPetrov Differential Revision: https://reviews.llvm.org/D121387 --- .../expected-sarif/sarif-multi-diagnostic-test.c.sarif | 6 +++--- clang/utils/TableGen/ClangSACheckersEmitter.cpp | 15 +++++---------- 2 files changed, 8 insertions(+), 13 deletions(-) diff --git a/clang/test/Analysis/diagnostics/Inputs/expected-sarif/sarif-multi-diagnostic-test.c.sarif b/clang/test/Analysis/diagnostics/Inputs/expected-sarif/sarif-multi-diagnostic-test.c.sarif index 0f47941..9005a36 100644 --- a/clang/test/Analysis/diagnostics/Inputs/expected-sarif/sarif-multi-diagnostic-test.c.sarif +++ b/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" } diff --git a/clang/utils/TableGen/ClangSACheckersEmitter.cpp b/clang/utils/TableGen/ClangSACheckersEmitter.cpp index 61a47ee..22bec37 100644 --- a/clang/utils/TableGen/ClangSACheckersEmitter.cpp +++ b/clang/utils/TableGen/ClangSACheckersEmitter.cpp @@ -75,23 +75,18 @@ static inline uint64_t getValueFromBitsInit(const BitsInit *B, const Record &R) } static std::string getCheckerDocs(const Record &R) { - StringRef LandingPage; const BitsInit *BI = R.getValueAsBitsInit("Documentation"); if (!BI) PrintFatalError(R.getLoc(), "missing Documentation<...> member 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' 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(); } -- 2.7.4