================
@@ -14,6 +14,13 @@
 void free(void *);
 void __attribute((ownership_takes(malloc, 1))) my_free(void *);
 
+void __attribute((ownership_returns(malloc1))) *my_malloc1(size_t);
+void __attribute((ownership_takes(malloc1, 1))) my_free1(void *);
+
+void __attribute((ownership_returns(malloc2))) *my_malloc2(size_t);
+void __attribute((ownership_returns(malloc2))) *my_malloc3(size_t);
+void __attribute((ownership_takes(malloc2, 1))) 
__attribute((ownership_takes(malloc3, 1))) my_free23(void *);
----------------
steakhal wrote:

I'm surprised to see that a function can have two different `ownership_takes` 
attributes.
Are you sure that this is the case? If so, why is that?

Have you considered adding some documentation to the attributes page, and to 
the Malloc checker to highlight this attribute?

https://github.com/llvm/llvm-project/pull/98941
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to