On Sat, May 24, 2014 at 8:28 AM, Aaron Ballman <[email protected]>wrote:
>
> > My first idea is to add a tablegen property like "HasPrettyPrinter = 0
> or 1"
> > that supresses emission of the default printPretty method.  Then again,
> we
> > kind of want the default version when the GNU and C++11 spellings of the
> > attribute are used.
>
> That seems like the wrong way to go about it though, since this is a
> new *spelling*, not a wholly new semantic kind of attribute (which I
> think we really want to avoid). We could possibly attach a custom
> pretty printer to the spelling itself (a la a code block), but that
> seems a bit skeezy because the arguments are rather important and the
> spelling shouldn't have to care about the arguments.
>

How about this: when generating the prettyPrint implementation, if there is
a pragma spelling, call MyAttr::printPrettyPragma(...).  Any attribute with
a pragma spelling will have to provide this method in lib/AST/AttrImpl.cpp.
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to