forked from OSchip/llvm-project
[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
This commit is contained in:
parent
63c4ca9d14
commit
744e2a3e22
|
@ -451,7 +451,7 @@
|
||||||
"fullDescription": {
|
"fullDescription": {
|
||||||
"text": "Check for logical errors for function calls and Objective-C message expressions (e.g., uninitialized arguments, null function pointers)"
|
"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",
|
"id": "core.CallAndMessage",
|
||||||
"name": "core.CallAndMessage"
|
"name": "core.CallAndMessage"
|
||||||
},
|
},
|
||||||
|
@ -459,7 +459,7 @@
|
||||||
"fullDescription": {
|
"fullDescription": {
|
||||||
"text": "Check for division by zero"
|
"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",
|
"id": "core.DivideZero",
|
||||||
"name": "core.DivideZero"
|
"name": "core.DivideZero"
|
||||||
},
|
},
|
||||||
|
@ -467,7 +467,7 @@
|
||||||
"fullDescription": {
|
"fullDescription": {
|
||||||
"text": "Check for memory leaks, double free, and use-after-free problems. Traces memory managed by malloc()/free()."
|
"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",
|
"id": "unix.Malloc",
|
||||||
"name": "unix.Malloc"
|
"name": "unix.Malloc"
|
||||||
}
|
}
|
||||||
|
|
|
@ -75,23 +75,18 @@ static inline uint64_t getValueFromBitsInit(const BitsInit *B, const Record &R)
|
||||||
}
|
}
|
||||||
|
|
||||||
static std::string getCheckerDocs(const Record &R) {
|
static std::string getCheckerDocs(const Record &R) {
|
||||||
StringRef LandingPage;
|
|
||||||
const BitsInit *BI = R.getValueAsBitsInit("Documentation");
|
const BitsInit *BI = R.getValueAsBitsInit("Documentation");
|
||||||
if (!BI)
|
if (!BI)
|
||||||
PrintFatalError(R.getLoc(), "missing Documentation<...> member for " +
|
PrintFatalError(R.getLoc(), "missing Documentation<...> member for " +
|
||||||
getCheckerFullName(&R));
|
getCheckerFullName(&R));
|
||||||
|
|
||||||
uint64_t V = getValueFromBitsInit(BI, R);
|
// Ignore 'Documentation<NotDocumented>' checkers.
|
||||||
if (V == 1)
|
if (getValueFromBitsInit(BI, R) == 0)
|
||||||
LandingPage = "available_checks.html";
|
|
||||||
else if (V == 2)
|
|
||||||
LandingPage = "alpha_checks.html";
|
|
||||||
|
|
||||||
if (LandingPage.empty())
|
|
||||||
return "";
|
return "";
|
||||||
|
|
||||||
return (llvm::Twine("https://clang-analyzer.llvm.org/") + LandingPage + "#" +
|
std::string CheckerFullName = StringRef(getCheckerFullName(&R, "-")).lower();
|
||||||
getCheckerFullName(&R))
|
return (llvm::Twine("https://clang.llvm.org/docs/analyzer/checkers.html#") +
|
||||||
|
CheckerFullName)
|
||||||
.str();
|
.str();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue