steakhal created this revision. steakhal added reviewers: martong, Szelethus. Herald added subscribers: manas, ASDenysPetrov, dkrupp, donat.nagy, mikhail.ramalho, a.sidorin, rnkovacs, szepet, baloghadamsoftware, xazax.hun. Herald added a project: All. steakhal requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits.
It turns out all checkers explicitly mention the `Documentation<>`. It makes sense to demand this, so emit a fatal tablegen error if such happens. Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D122244 Files: clang/utils/TableGen/ClangSACheckersEmitter.cpp Index: clang/utils/TableGen/ClangSACheckersEmitter.cpp =================================================================== --- clang/utils/TableGen/ClangSACheckersEmitter.cpp +++ clang/utils/TableGen/ClangSACheckersEmitter.cpp @@ -76,14 +76,17 @@ static std::string getCheckerDocs(const Record &R) { StringRef LandingPage; - if (BitsInit *BI = R.getValueAsBitsInit("Documentation")) { - uint64_t V = getValueFromBitsInit(BI, R); - if (V == 1) - LandingPage = "available_checks.html"; - else if (V == 2) - LandingPage = "alpha_checks.html"; - } - + 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()) return "";
Index: clang/utils/TableGen/ClangSACheckersEmitter.cpp =================================================================== --- clang/utils/TableGen/ClangSACheckersEmitter.cpp +++ clang/utils/TableGen/ClangSACheckersEmitter.cpp @@ -76,14 +76,17 @@ static std::string getCheckerDocs(const Record &R) { StringRef LandingPage; - if (BitsInit *BI = R.getValueAsBitsInit("Documentation")) { - uint64_t V = getValueFromBitsInit(BI, R); - if (V == 1) - LandingPage = "available_checks.html"; - else if (V == 2) - LandingPage = "alpha_checks.html"; - } - + 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()) return "";
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits