<html><head><base href="x-msg://33/"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On Nov 22, 2010, at 11:24 PM, Michael Han wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><span class="Apple-style-span" style="border-collapse: separate; font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "><div lang="EN-US" link="blue" vlink="purple"><div class="WordSection1" style="page: WordSection1; "><div style="margin-top: 0in; margin-right: 0in; margin-bottom: 0.0001pt; margin-left: 0in; font-size: 11pt; font-family: Calibri, sans-serif; ">Hi Doug,<o:p></o:p></div><div style="margin-top: 0in; margin-right: 0in; margin-bottom: 0.0001pt; margin-left: 0in; font-size: 11pt; font-family: Calibri, sans-serif; "><o:p> </o:p></div><div style="margin-top: 0in; margin-right: 0in; margin-bottom: 0.0001pt; margin-left: 0in; font-size: 11pt; font-family: Calibri, sans-serif; ">I have a question on the plan of improving attribute handling in clang. I am aware that the attribute handling has been improved a lot with Sean’s work by using tblgen to generate boilerplate code such that getting attributes from source to AST is almost fully automated.<o:p></o:p></div><div style="margin-top: 0in; margin-right: 0in; margin-bottom: 0.0001pt; margin-left: 0in; font-size: 11pt; font-family: Calibri, sans-serif; "><o:p> </o:p></div><div style="margin-top: 0in; margin-right: 0in; margin-bottom: 0.0001pt; margin-left: 0in; font-size: 11pt; font-family: Calibri, sans-serif; ">My question is, is there any plan and / or work to finish, in order to further improve the attribute handling in clang? For example, I noticed getting attributes from source to Sema still requires manually modifying the AttributeList in Sema (although the modification is quite trivial), which might be another place that can be automated using tblgen.</div></div></div></span></blockquote><div><br></div>I'd love to see further improvements to attribute handling along the lines of what was in Sean's GSoC proposal, but I personally don't plan to work on this. Sean, are you planning to continue working on attributes?<br><br><blockquote type="cite"><span class="Apple-style-span" style="border-collapse: separate; font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "><div lang="EN-US" link="blue" vlink="purple"><div class="WordSection1" style="page: WordSection1; "><div style="margin-top: 0in; margin-right: 0in; margin-bottom: 0.0001pt; margin-left: 0in; font-size: 11pt; font-family: Calibri, sans-serif; ">The motivation is we at Autodesk are developing a static code analyzer that checks function call graph through annotated GNU-style attributes acting as metadata associated with the function types and we are interested in improving attributes handling in clang to make it even more easier for user to add implementation defined attributes. Any suggestions and guidance on potential improvements are appreciated.</div></div></div></span></blockquote><br></div><div>The major improvements I'd still like to see are to automatically generate the parser for attributes (based on the .td file) and to do basic semantic checking + adding attributes to AST nodes (also based on the .td file).</div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre">      </span>- Doug</div></body></html>