[clang] Optimize -Wunsafe-buffer-usage. (PR #124554)
via cfe-commits
cfe-commits at lists.llvm.org
Wed Jan 29 02:17:37 PST 2025
================
@@ -31,27 +35,34 @@
#define FIXABLE_GADGET(name) GADGET(name)
#endif
+/// A subset of the safe gadgets that may return multiple results.
+#ifndef FIXABLE_GADGET_MULTY_RES
+#define FIXABLE_GADGET_MULTY_RES(name) GADGET(name)
+#endif
+
WARNING_GADGET(Increment)
WARNING_GADGET(Decrement)
-WARNING_GADGET(ArraySubscript)
WARNING_GADGET(PointerArithmetic)
WARNING_GADGET(UnsafeBufferUsageAttr)
-WARNING_GADGET(UnsafeBufferUsageCtorAttr)
WARNING_GADGET(DataInvocation)
-WARNING_OPTIONAL_GADGET(UnsafeLibcFunctionCall)
-WARNING_OPTIONAL_GADGET(SpanTwoParamConstructor) // Uses of `std::span(arg0, arg1)`
+WARNING_OPTIONAL_GADGET_CTX(ArraySubscript)
+WARNING_OPTIONAL_GADGET_CTX(UnsafeBufferUsageCtorAttr)
+WARNING_OPTIONAL_GADGET_HANDLER(UnsafeLibcFunctionCall)
+WARNING_OPTIONAL_GADGET_HANDLER(SpanTwoParamConstructor) // Uses of `std::span(arg0, arg1)`
FIXABLE_GADGET(ULCArraySubscript) // `DRE[any]` in an Unspecified Lvalue Context
FIXABLE_GADGET(DerefSimplePtrArithFixable)
FIXABLE_GADGET(PointerDereference)
-FIXABLE_GADGET(UPCAddressofArraySubscript) // '&DRE[any]' in an Unspecified Pointer Context
-FIXABLE_GADGET(UPCStandalonePointer)
-FIXABLE_GADGET(UPCPreIncrement) // '++Ptr' in an Unspecified Pointer Context
-FIXABLE_GADGET(UUCAddAssign) // 'Ptr += n' in an Unspecified Untyped Context
-FIXABLE_GADGET(PtrToPtrAssignment)
-FIXABLE_GADGET(CArrayToPtrAssignment)
+FIXABLE_GADGET_MULTY_RES(UPCAddressofArraySubscript) // '&DRE[any]' in an Unspecified Pointer Context
----------------
ivanaivanovska wrote:
Done.
https://github.com/llvm/llvm-project/pull/124554
More information about the cfe-commits
mailing list