Jasmin added a comment.

Hello John!

I was encouraged by Erich after a talk I had with him and Aaron on IRC to 
contact you about an use case for this plugin.

I wanted to use user-specified/unknown attributes to annotate code and was told 
that they are not propagated through
the AST and therefore it is not possible at the moment to use them for that 
purpose. Aaron's and Erich's idea was to
allow kind of no-op attributes in the plugin so that the compiler would not 
issue a warning about the unknown attribute.
This would be helpful for the user being able to define a list of attributes 
the user knows and expects, so that a compilation
would not be spammed unnecessarily and misspelled attributes would still stand 
out.

Being able to get the cursor or displayName of the attribute would essentially 
be enough to use it in tooling.

We can use __attribute__((annotate(smth))) at the time being to achieve the 
same goal, but it is much more writing to do
and also vendor specific. Being able to do the same with attributes would give 
them a real purpose, other than having
to be accepted and not causing an error. Also they have to be supported by the 
language and we don't have to use
macros to annotate the code.

To summarize it would be nice to have:

- user supplied unknown attributes to suppress a warning
- unknown attributes propagated in the AST

I hope I summarized this correctly and could get through the gist of this idea.

Looking forward to hearing from you.

Best regards, Jasmin


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

https://reviews.llvm.org/D31343



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

Reply via email to