aaronpuchert added a comment.

I'm wondering why you chose this over a direct equivalent to `this`, say 
`__builtin_instance()`, such that instead of `__builtin_instance_member(M)` one 
would write `__builtin_instance().M` or `__builtin_instance()->M`? While 
allowing to reference the same fields, it would additionally allow referencing 
the object itself. That's not so interesting for Thread Safety Analysis, 
because many attributes refer to `this` if no argument is given, but it might 
be helpful for other analyses.

It also seems cleaner C/C++ to me, as you can read the expression in the usual 
way, whereas in `__builtin_instance_member(M)`, `M` is not a `DeclRefExpr`. And 
you could do `#define THIS __builtin_instance()`.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D153001

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

Reply via email to