<div class="gmail_extra"><br><div class="gmail_quote">On Fri, Jul 6, 2012 at 11:54 AM, Dmitri Gribenko <span dir="ltr"><<a href="mailto:gribozavr@gmail.com" target="_blank">gribozavr@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi Alexander,<br>
<div class="im"><br>
On Fri, Jul 6, 2012 at 7:16 AM, Alexander Kornienko <<a href="mailto:alexfh@google.com">alexfh@google.com</a>> wrote:<br>
> 4. do we need common code for checking attribute subjects? (currently,<br>
> subjects are checked in handle.*Attr functions)<br>
<br>
</div>It would be awesome if we could automatically generate with TableGen<br>
most of subject checking and argument checking.  It seems like we can<br>
because SemaDeclAttr.cpp is mostly boring copy-pasted code.  I think<br>
that we could describe attribute arguments declaratively in Attr.td<br>
and remove most argument checks in SemaDeclAttr.cpp (like, is this an<br>
ICE?  is this an ICE that is a valid function argument number?  is<br>
that a string literal? etc), thus leaving only important<br>
attribute-specific checks to be manually written.<br>
<span class="HOEnZb"><font color="#888888"><br>
Dmitri</font></span></blockquote><div><br></div><div>This was always the goal. I wanted to unify parsing of arguments first, but there's no reason in principle that handle*Attr couldn't go first, I think.</div><div>
<br></div><div>Sean </div></div></div>