[cfe-dev] "__device_builtin__" attribute ignored by clang AST matcher

Aaron Ballman via cfe-dev cfe-dev at lists.llvm.org
Wed Jul 29 07:07:56 PDT 2020


On Wed, Jul 29, 2020 at 8:47 AM Oliver Zhang via cfe-dev
<cfe-dev at lists.llvm.org> wrote:
>
> Hi,
>
> I'd like to use the clang AST matcher to match the "__device_builtin__" attribute (ie, "__attribute__((device_builtin))") in pre-processed cuda code, but it seems that the matcher just ignores the attribute. (In clang/Sema/AttrParsedAttrKinds.inc, "AttributeCommonInfo::IgnoredAttribute" is returned upon __device_builtin__.)
>
> Can anyone please provide any information on how to customize the matcher to match the ignored attribute?

I suspect you cannot match against the ignored attribute because
ignored attributes are not typically retained by the AST:
https://godbolt.org/z/4v574o

Or are you finding that the AST has the attribute but it's not
matching (perhaps because of handling  __device_builtin__ vs
device_builtin differently in the AST matchers)?

~Aaron

>
> Thanks,
> Oliver
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev


More information about the cfe-dev mailing list