aaron.ballman added a reviewer: aaron.ballman.
aaron.ballman added a comment.

In D63845#1559995 <https://reviews.llvm.org/D63845#1559995>, @lebedev.ri wrote:

> What's the target use-case here? What can't be solved with normal attributes?
>  I wonder if this should go to cfe+llvm -dev lists first, it's kinda 
> intrusive.
>  I also wonder if all these should cause a clang diagnostic, at least under 
> `-Wall`.
>  How is versioning expected to be handled? New attribute vs old clang, and 
> vice versa.


Also, we already have the `annotate` attribute for passing information through 
to LLVM. Why do we need four different ways to do this?



================
Comment at: clang/include/clang/Basic/Attr.td:1638
+def LLVMFN : InheritableAttr {
+  let Spellings = [GCC<"LLVMFN">];
+  let Args = [StringArgument<"AttrName">];
----------------
This is not a GCC attribute, so this needs a different spelling. Also, the 
all-caps names are a bit obnoxious, so we may want to pick a different name.

Do you envision these being attributes users will write in production code? 
What kind of guarantees do they have about the stability of the attribute 
interfaces that LLVM provides? For instance, are we promising that LLVM 
attributes will remain backwards compatible (e.g., won't be removed or renamed)?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D63845



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

Reply via email to