pmatos marked an inline comment as done.
pmatos added inline comments.

================
Comment at: clang/include/clang/Basic/Attr.td:4129
+  let Documentation = [WebAssemblyExportNameDocs];
+  let Subjects = SubjectList<[TypedefName], ErrorDiag>;
+}
----------------
aaron.ballman wrote:
> erichkeane wrote:
> > pmatos wrote:
> > > erichkeane wrote:
> > > > pmatos wrote:
> > > > > erichkeane wrote:
> > > > > > Note that it seems this is likely not going to work correctly on 
> > > > > > template type aliases!  You probably want to make sure that is 
> > > > > > acceptable to you.
> > > > > Documentation says about Subject:
> > > > > 
> > > > > ```
> > > > >   // The things to which an attribute can appertain
> > > > >   SubjectList Subjects;
> > > > > ```
> > > > > 
> > > > > Given this can be attached to function pointer types, is the subject 
> > > > > then just Type ?
> > > > IIRC, the list of subjects are the Decls and Stmt types that are 
> > > > possibly allowed.  I don't thnk it would be just 'Type' there.
> > > > 
> > > > As you have it, it is only allowed on TypedefNameDecl.
> > > > 
> > > > See the SubsetSubject's at the top of this file for some examples on 
> > > > how you could constrain a special matcher to only work on function 
> > > > pointer decls.
> > > Good point @erichkeane . What do you think of FunctionPointer 
> > > implementation here?
> > That seems acceptable to me.
> That makes sense to me as well, but FWIW, type attributes don't currently 
> have much of any tablegen automation (unlike decl and stmt attributes), so 
> the subject list isn't strictly necessary here. But it's still appreciated 
> because 1) it's documentation, and 2) we want to tablegen more and this helps 
> us with that goal.
@erichkeane Yes, you're right. Something like 

```
using IntIntFuncref = int(*)(int) __funcref;
```

doesn't work. Why is this not accepted? Is it due to the Subjects listed?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D128440

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

Reply via email to