[PATCH] D99861: [Clang] Record tokens in attribute arguments for user-defined C++/C2x attributes
Josh Junon via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Fri Apr 9 13:23:35 PDT 2021
Qix- marked an inline comment as not done.
Qix- added inline comments.
================
Comment at: clang/lib/Parse/ParseDeclCXX.cpp:4100-4102
+ // directly. The recording happens here because this is the only place
+ // where user-defined (via plugins) attributes are parsed, and thus
+ // they care about the token stream directly.
----------------
Qix- wrote:
> aaron.ballman wrote:
> > I think plugins will expect these tokens to be available regardless of which attribute syntax is used, so you may need to look into also doing work for GNU and declspec attribute argument lists.
> As far as I understand (and perhaps poorly communicated in the comment) is that plugin-defined attributes will always hit this codepath as opposed to the built-in attribute parsers.
>
> I could be wrong here, though. Are arbitrary tokens even allowed in GNU/Declspec attributes? I thought it was just the C2x/C++ attributes syntax that allowed non-identifier tokens in the first place.
>
> Either way, from what I could tell (trying a few different implementations of this change), this is the only place where user-defined attributes are parsed. I certainly could be missing something though.
See my latest top-level comment.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D99861/new/
https://reviews.llvm.org/D99861
More information about the cfe-commits
mailing list