[clang] [Clang SA]: add support for mismatched ownership_returns+ownership_takes calls for custom allocation classes (PR #98941)

Pavel Skripkin via cfe-commits cfe-commits at lists.llvm.org
Wed Jul 17 01:08:19 PDT 2024


================
@@ -103,14 +103,46 @@ using namespace std::placeholders;
 namespace {
 
 // Used to check correspondence between allocators and deallocators.
-enum AllocationFamily {
+enum AllocationFamilyKind {
   AF_None,
   AF_Malloc,
   AF_CXXNew,
   AF_CXXNewArray,
   AF_IfNameIndex,
   AF_Alloca,
-  AF_InnerBuffer
+  AF_InnerBuffer,
+  AF_Custom,
+};
+
+class AllocationFamily {
+public:
+  AllocationFamily(AllocationFamilyKind kind,
----------------
pskrgag wrote:

Marking with `explicit` would cause compile errors for code like `family == AF_Smth`. We could wrap all `AF_*` with direct constructor call, but, I think, it would be less clean. What do you think?



https://github.com/llvm/llvm-project/pull/98941


More information about the cfe-commits mailing list