https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94527
Bug ID: 94527 Summary: RFE: Add an __attribute__ that marks a function as freeing an object Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: dhowells at redhat dot com Target Milestone: --- Would it be possible to add a function attribute to indicate that the function is going to destroy the object a the parameter points to (ie. a free()-like function)? Perhaps something like: void free(const volatile void *ptr) __attribute__((free(1))); where the free(N) attribute indicates the parameter number[*]. [*] Note that it's possible that a free()-like function might also take additional parameters to provide context and that context won't be destroyed. The compiler could then warn upon future access through the pointer.