================
@@ -493,9 +500,11 @@ class ParsedAttr final
   /// Set the macro identifier info object that this parsed attribute was
   /// declared in if it was declared in a macro. Also set the expansion 
location
   /// of the macro.
-  void setMacroIdentifier(IdentifierInfo *MacroName, SourceLocation Loc) {
+  void setMacroIdentifier(IdentifierInfo *MacroName, SourceLocation Loc,
+                          bool PrintAsMac) {
----------------
AaronBallman wrote:

On the one hand, this seems like a natural thing to do -- if the user 
associated the attribute with a macro name, then defaulting to wanting to print 
it as the macro name makes sense. On the other hand, this feels like a layering 
violation -- the printing policy for the attribute really should be what 
determines whether it should or should not be printed as a macro because the 
use case may be for printing the expanded attribute name. e.g., `conflicting 
attribute 'MACRO_FOO' (aka 'foo')`, or when manually printing AST nodes as 
tools sometimes do.

CC @erichkeane for more opinions.

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