(bug?) ParsedAttr::getNumArgs() always return zero

Dear colleguaes, it seems i have met the bug for processing of C++11 custom language attributes.

  1. I took example from https://github.com/llvm/llvm-project/blob/main/clang/examples/Attribute/Attribute.cpp
  2. And make a short sample which reproduce the bug https://github.com/FROL256/clang_parse_ast_example

The problem in that getNumArgs() is always zero, nevermind how many arguments we actually have in the attribute.
I have tested this with clang 12. I think i could test it under clang 14 if build sample as a part of llvm.
But probably i just did some-thing wrong … ?

Anyway it would be nice to have this issue working with clang 12 because usually i work with prebuild packages of clang and libtooling on Linux Mint.
Could you please look prepared sample and suggest sms if possible … thanks! )

I’m /guessing/ this API doesn’t respond with attributes clang doesn’t recognize (CC’d Aaron Ballman who would likely know the details better than I do). Does the API correctly respond with a non-zero number of attributes for any clang-supported attribute (listed here: https://clang.llvm.org/docs/AttributeReference.html )

I'm /guessing/ this API doesn't respond with attributes clang doesn't recognize (CC'd Aaron Ballman who would likely know the details better than I do). Does the API correctly respond with a non-zero number of attributes for any clang-supported attribute (listed here: https://clang.llvm.org/docs/AttributeReference.html )

I think this is https://bugs.llvm.org/show_bug.cgi?id=46446, which has
more details about the issues and plausible ways forward.

~Aaron

Thank you very much!
I can use “attribute((size(“w”, “h”)))” instead of [[mynamespace::size(w,h)]] for a while )