[PATCH] D55662: [Sema][ObjC] Do not warn about repeated uses of weak variables when the variables are accessed in an unevaluated context.

John McCall via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Fri Dec 21 00:22:08 PST 2018


rjmccall added a comment.

In D55662#1338766 <https://reviews.llvm.org/D55662#1338766>, @ahatanak wrote:

> In D55662#1337141 <https://reviews.llvm.org/D55662#1337141>, @rjmccall wrote:
>
> > In D55662#1336835 <https://reviews.llvm.org/D55662#1336835>, @ahatanak wrote:
> >
> > > In D55662#1335773 <https://reviews.llvm.org/D55662#1335773>, @rjmccall wrote:
> > >
> > > > Okay.  You may need to push an unevaluated context when doing that.
> > >
> > >
> > > Since I'm just moving the call to `CheckPlaceholderExpr` to the call site, I don't think I have to push an unevaluated context there?
> >
> >
> > Hmm.  Right, for the `auto` inference specifically it's fine because the expression is in fact evaluated: we're not just eliminating placeholders in order to resolve `decltype`, we're eliminating placeholders to actually figure out what's going on with the initialization.
>
>
> clang currently diagnose the repeated use of weak in the following case (with or without this patch):
>
>   auto __weak wp = b.weakProp; 
>
>
> I find this counterintuitive, but I guess this is the expected behavior?


No, that's not right. it's not a repeated use of the same weak entity.


Repository:
  rC Clang

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

https://reviews.llvm.org/D55662





More information about the cfe-commits mailing list