aaron.ballman added a comment.

In D99861#2697449 <https://reviews.llvm.org/D99861#2697449>, @Qix- wrote:

> I'm not sure exactly how to continue after the last few comments - what 
> should the approach be for this patch? Or are these things we can shoot for 
> in later patches?

I don't think they're things we should shoot for in a later patch; the token 
replay approach doesn't seem like it would work for more complicated attribute 
arguments. As a concrete example of what would be super difficult to support 
would be:

  struct S {
    int member;
    void func(int i, int j) [[plugin::attr(i + j + member)]];
  };

because it would be very difficult to recognize that `member` is looked up in 
the context of the declaration of `S::func()` after having left the parsing 
context for the structure.

I think the one way to continue is along the lines of what's described in 
https://bugs.llvm.org/show_bug.cgi?id=46446#c11 so that the plugin handles 
parsing the arguments by invoking calls on the parser.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D99861

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

Reply via email to