erik.pilkington added inline comments.

================
Comment at: clang/test/SemaObjC/externally-retained.m:14
+
+  EXT_RET int (^d)() = ^{return 0;};
+  EXT_RET ObjCTy *e = 0;
----------------
aaron.ballman wrote:
> Should this be useful for function pointer parameters as well? e.g.,
> ```
> typedef void (*fp)(EXT_RET __strong ObjCTy *);
> 
> void f(__strong ObjCTy *);
> 
> void g(EXT_RET ObjCTy *Ptr) {
>   fp Fn = f; // Good idea? Bad idea?
>   Fn(Ptr); // Which behavior "wins" in this call?
> }
> ```
The attribute doesn't have any effect on the caller side, so when used with a 
function pointer type the attribute doesn't really do anything (the function 
definition always "wins").


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

https://reviews.llvm.org/D55865



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

Reply via email to