[clang] [Clang] Optimize -Wunsafe-buffer-usage. (PR #125492)
Ilya Biryukov via cfe-commits
cfe-commits at lists.llvm.org
Thu Feb 27 03:52:05 PST 2025
================
@@ -1460,30 +1694,32 @@ class UnsafeBufferUsageAttrGadget : public WarningGadget {
DeclUseList getClaimedVarUseSites() const override { return {}; }
};
-/// A call of a constructor that performs unchecked buffer operations
-/// over one of its pointer parameters, or constructs a class object that will
-/// perform buffer operations that depend on the correctness of the parameters.
+// A call of a constructor that performs unchecked buffer operations
+// over one of its pointer parameters, or constructs a class object that will
+// perform buffer operations that depend on the correctness of the parameters.
class UnsafeBufferUsageCtorAttrGadget : public WarningGadget {
constexpr static const char *const OpTag = "cxx_construct_expr";
const CXXConstructExpr *Op;
public:
- UnsafeBufferUsageCtorAttrGadget(const MatchFinder::MatchResult &Result)
+ UnsafeBufferUsageCtorAttrGadget(const MatchResult &Result)
: WarningGadget(Kind::UnsafeBufferUsageCtorAttr),
- Op(Result.Nodes.getNodeAs<CXXConstructExpr>(OpTag)) {}
+ Op(Result.getNodeAs<CXXConstructExpr>(OpTag)) {}
static bool classof(const Gadget *G) {
return G->getKind() == Kind::UnsafeBufferUsageCtorAttr;
}
- static Matcher matcher() {
- auto HasUnsafeCtorDecl =
- hasDeclaration(cxxConstructorDecl(hasAttr(attr::UnsafeBufferUsage)));
- // std::span(ptr, size) ctor is handled by SpanTwoParamConstructorGadget.
----------------
ilya-biryukov wrote:
Could you keep this comment?
https://github.com/llvm/llvm-project/pull/125492
More information about the cfe-commits
mailing list