[clang] [clang][frontend] Add support for attribute plugins for statement attributes (PR #110334)

Erich Keane via cfe-commits cfe-commits at lists.llvm.org
Wed Oct 2 08:07:03 PDT 2024


erichkeane wrote:

> > So the problem with statement attributes is that we don't really have a good way to do instantiation of them on a template, which is why we held off on this in the first place. The infrastructure for instantiation DOES happen on decl attributes automatically anyway, so that made it easier to do.
> > So please ensure there is some sort of hooks in the statement attributes to ensure that they get a chance to instantatiate themselves (and add tests with templates in them!).
> 
> This is a fair point... how are standard statement attributes handled inside of templates? (Assuming clang supports that.)

All our handling of attributes is pretty manual for anything with arguments.  We have a bit of an automatic handling for many attributes, but arguments aren't.  I think there is a section in `SemaInstantiateDecl.cpp` that handles a lot of it (`InstantiateAttrs`) and you can see there is a LOT of manual handling there

https://github.com/llvm/llvm-project/pull/110334


More information about the cfe-commits mailing list