aaron.ballman added a comment.

In D70469#1776523 <https://reviews.llvm.org/D70469#1776523>, @NoQ wrote:

> It still mildly worries me that the attributes aren't truly reusable, as the 
> exact meaning of the attribute depends on the domain. In particular, every 
> domain is expected to have different approaches to error handling, i.e. a 
> function that creates or destroys a handle may fail to, respectively, create 
> or destroy the handle, but instead indicate the failure in a domain-specific 
> manner, eg. through magical return values or null handle or errno or whatever.
>
> @aaron.ballman, do you think this is a problem? Should we rather go for an 
> attribute name that's obviously domain-specific (eg., 
> `__attribute__((fuchsia_acquire_handle))`), or is it ok to re-use attributes 
> without re-using their exact meaning?


That may be part of why I keep pushing back on this addition -- it seems like 
these are general purpose attributes that can be used to identify what a handle 
is and where a handle is obtained/released. Or these could be specific to a 
particular coding guideline's definition of a handle and associated semantics. 
If the goal is to only support a limited set of use cases, then I think 
something like `[[clang::fucschia_acquire_handle]]` makes more sense. If the 
goal is to provided general utilities for the static analyzer to reason about 
handles, then I think we want the more generalized names.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D70469/new/

https://reviews.llvm.org/D70469



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to