================
@@ -1105,16 +1120,16 @@ enum AttributeDeclKind {
 
 inline const StreamingDiagnostic &operator<<(const StreamingDiagnostic &DB,
                                              const ParsedAttr &At) {
-  DB.AddTaggedVal(reinterpret_cast<uint64_t>(At.getAttrName()),
+  const IdentifierInfo *AttrName =
+      At.printAsMacro() ? At.getMacroIdentifier() : At.getAttrName();
+  DB.AddTaggedVal(reinterpret_cast<uint64_t>(AttrName),
----------------
AaronBallman wrote:

I don't feel super comfortable deciding that system headers should drop 
detailed information in the diagnostic by virtue of being a system header. On 
the one hand, system headers often have a pile of implementation details and so 
I get it. On the other hand, the point to the diagnostic is to help the 
developer understand what they did wrong so they can fix it. I suspect any web 
search for `__counted_by` (macro name) will also return results for 
`__counted_by` (attribute name) and so the mapping won't cause problems in your 
use case. But `WINAPI` doesn't immediately help the user to know it means 
`__stdcall` and finding that through a web search isn't as straightforward, as 
an example.

https://github.com/llvm/llvm-project/pull/107619
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to