github-actions[bot] wrote: <!--LLVM CODE FORMAT COMMENT: {clang-format}-->
:warning: C/C++ code formatter, clang-format found issues in your code. :warning: <details> <summary> You can test this locally with the following command: </summary> ``````````bash git-clang-format --diff ec92d74a0ef89b9dd46aee6ec8aca6bfd3c66a54 809bf6f4237f634feaeb7e5b0b88be3a2e4de455 -- clang/test/SemaCXX/warn-unsafe-buffer-usage-warning-data-invocation.cpp clang/include/clang/Analysis/Analyses/UnsafeBufferUsage.h clang/lib/Analysis/UnsafeBufferUsage.cpp clang/lib/Sema/AnalysisBasedWarnings.cpp `````````` </details> <details> <summary> View the diff from clang-format here. </summary> ``````````diff diff --git a/clang/lib/Analysis/UnsafeBufferUsage.cpp b/clang/lib/Analysis/UnsafeBufferUsage.cpp index e4eca9939b..4e1c76c300 100644 --- a/clang/lib/Analysis/UnsafeBufferUsage.cpp +++ b/clang/lib/Analysis/UnsafeBufferUsage.cpp @@ -729,7 +729,7 @@ class DataInvocationGadget : public WarningGadget { constexpr static const char *const OpTag = "data_invocation_expr"; const ExplicitCastExpr *Op; - public: +public: DataInvocationGadget(const MatchFinder::MatchResult &Result) : WarningGadget(Kind::DataInvocation), Op(Result.Nodes.getNodeAs<ExplicitCastExpr>(OpTag)) {} @@ -737,12 +737,12 @@ class DataInvocationGadget : public WarningGadget { static bool classof(const Gadget *G) { return G->getKind() == Kind::DataInvocation; } - + static Matcher matcher() { - return stmt( - explicitCastExpr(has(cxxMemberCallExpr(callee( - cxxMethodDecl(hasName("data")))))).bind(OpTag)); - } + return stmt(explicitCastExpr(has(cxxMemberCallExpr( + callee(cxxMethodDecl(hasName("data")))))) + .bind(OpTag)); + } const Stmt *getBaseStmt() const override { return Op; } DeclUseList getClaimedVarUseSites() const override { return {}; } @@ -2684,7 +2684,7 @@ void clang::checkUnsafeBufferUsage(const Decl *D, // every problematic operation and consider it done. No need to deal // with fixable gadgets, no need to group operations by variable. for (const auto &G : WarningGadgets) { - Handler.handleUnsafeOperation(G->getBaseStmt(), /*IsRelatedToDecl=*/false, + Handler.handleUnsafeOperation(G->getBaseStmt(), /*IsRelatedToDecl=*/false, D->getASTContext()); } @@ -2920,8 +2920,8 @@ void clang::checkUnsafeBufferUsage(const Decl *D, Tracker, Handler, VarGrpMgr); for (const auto &G : UnsafeOps.noVar) { - Handler.handleUnsafeOperation(G->getBaseStmt(), /*IsRelatedToDecl=*/false - , D->getASTContext()); + Handler.handleUnsafeOperation(G->getBaseStmt(), /*IsRelatedToDecl=*/false, + D->getASTContext()); } for (const auto &[VD, WarningGadgets] : UnsafeOps.byVar) { @@ -2932,8 +2932,8 @@ void clang::checkUnsafeBufferUsage(const Decl *D, : FixItList{}, D); for (const auto &G : WarningGadgets) { - Handler.handleUnsafeOperation(G->getBaseStmt(), /*IsRelatedToDecl=*/true - , D->getASTContext()); + Handler.handleUnsafeOperation(G->getBaseStmt(), /*IsRelatedToDecl=*/true, + D->getASTContext()); } } } diff --git a/clang/lib/Sema/AnalysisBasedWarnings.cpp b/clang/lib/Sema/AnalysisBasedWarnings.cpp index 4f8e181806..bcf3241514 100644 --- a/clang/lib/Sema/AnalysisBasedWarnings.cpp +++ b/clang/lib/Sema/AnalysisBasedWarnings.cpp @@ -2226,7 +2226,7 @@ public: UnsafeBufferUsageReporter(Sema &S, bool SuggestSuggestions) : S(S), SuggestSuggestions(SuggestSuggestions) {} - void handleUnsafeOperation(const Stmt *Operation, bool IsRelatedToDecl, + void handleUnsafeOperation(const Stmt *Operation, bool IsRelatedToDecl, ASTContext &Ctx) override { SourceLocation Loc; SourceRange Range; @@ -2263,19 +2263,21 @@ public: MsgParam = 3; } else if (const auto *ECE = dyn_cast<ExplicitCastExpr>(Operation)) { QualType destType = ECE->getType(); - const uint64_t dSize = Ctx.getTypeSize(destType.getTypePtr()->getPointeeType()); - if(const auto *CE =dyn_cast<CXXMemberCallExpr>(ECE->getSubExpr())) { + const uint64_t dSize = + Ctx.getTypeSize(destType.getTypePtr()->getPointeeType()); + if (const auto *CE = dyn_cast<CXXMemberCallExpr>(ECE->getSubExpr())) { + + if (CE->getRecordDecl()->getQualifiedNameAsString().compare( + "std::span")) + return; - if(CE->getRecordDecl()->getQualifiedNameAsString().compare("std::span")) - return; - QualType srcType = CE->getType(); - const uint64_t sSize = Ctx.getTypeSize(srcType.getTypePtr()->getPointeeType()); - if(sSize >= dSize) + const uint64_t sSize = + Ctx.getTypeSize(srcType.getTypePtr()->getPointeeType()); + if (sSize >= dSize) return; } MsgParam = 4; - } Loc = Operation->getBeginLoc(); Range = Operation->getSourceRange(); `````````` </details> https://github.com/llvm/llvm-project/pull/75650 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits