sgatev accepted this revision. sgatev added inline comments.
================ Comment at: clang/include/clang/Analysis/FlowSensitive/Models/ChromiumCheckModel.h:15 + +#include "clang/AST/ASTContext.h" +#include "clang/AST/DeclCXX.h" ---------------- This is unnecessary. ================ Comment at: clang/lib/Analysis/FlowSensitive/Models/ChromiumCheckModel.cpp:49-55 + if (const auto *Call = dyn_cast<CallExpr>(Stmt)) + if (const auto *M = dyn_cast<CXXMethodDecl>(Call->getDirectCallee())) + if (M->isStatic() && isCheckLikeMethod(CheckDecls, *M)) { + // Logically, mark this branch as unreachable. + Env.addToFlowCondition(Env.getBoolLiteralValue(false)); + return true; + } ---------------- ================ Comment at: clang/lib/Analysis/FlowSensitive/Models/ChromiumCheckModel.cpp:51 + if (const auto *M = dyn_cast<CXXMethodDecl>(Call->getDirectCallee())) + if (M->isStatic() && isCheckLikeMethod(CheckDecls, *M)) { + // Logically, mark this branch as unreachable. ---------------- Shouldn't this be part of `isCheckLikeMethod`? ================ Comment at: clang/lib/Analysis/FlowSensitive/Models/ChromiumCheckModel.cpp:52 + if (M->isStatic() && isCheckLikeMethod(CheckDecls, *M)) { + // Logically, mark this branch as unreachable. + Env.addToFlowCondition(Env.getBoolLiteralValue(false)); ---------------- ================ Comment at: clang/lib/Analysis/FlowSensitive/Models/ChromiumCheckModel.cpp:57 + return false; +} +} // namespace dataflow ---------------- ================ Comment at: clang/unittests/Analysis/FlowSensitive/ChromiumCheckModelTest.cpp:90 + +static constexpr char BadChromiumCheckHeader[] = R"( +namespace other { ---------------- Perhaps "Incorrect" instead of "Bad" and comment on what makes it incorrect? ================ Comment at: clang/unittests/Analysis/FlowSensitive/ChromiumCheckModelTest.cpp:133 + void runDataflow(llvm::StringRef Code, Matcher Match, + LangStandard::Kind Std = LangStandard::lang_cxx17) { + const tooling::FileContentMappings FileContents = { ---------------- We're not testing with other standards so remove this? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D121797/new/ https://reviews.llvm.org/D121797 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits