<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On Oct 6, 2009, at 3:44 PM, Tanya Lattner wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On Oct 5, 2009, at 2:58 PM, Douglas Gregor wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On Oct 5, 2009, at 2:37 PM, Tanya Lattner wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Hello,<div><br></div><div>I want to do a check on function parameters similar to the "<span class="Apple-style-span" style="color: rgb(51, 89, 93); font-family: Menlo; font-size: 11px; ">err_arg_with_address_space" </span><font class="Apple-style-span" size="3"><span class="Apple-style-span" style="font-size: 12px;">check that I added in</span></font><span class="Apple-style-span" style="color: rgb(51, 89, 93); font-family: Menlo; font-size: 11px; "> <span class="Apple-style-span" style="">ActOnParamDeclarator<span class="Apple-style-span" style="font-family: Helvetica; font-size: medium; "> (r83165)<span class="Apple-style-span" style="font-family: Menlo; font-size: 11px; ">. <font class="Apple-style-span" face="Helvetica" size="3"><span class="Apple-style-span" style="font-size: 12px;">However, this time, I only want to perform the check if the function has a specific attribute. Is ActOnParamDeclarator the right place? I'm not seeing a way to get the function attribute there. Or, any suggestion on where to add this?</span></font></span></span></span></span></div></div></blockquote></div><div><br></div>ActOnParamDeclarator won't work, since that gets can get called by the parser before we've seen the function attributes. I suggest putting this check into ActOnFunctionDeclarator (e.g., where we check for parameters of "void" type).<div><br></div></div></blockquote><div><br></div><div>Awesome, thanks! At this point in ActOnFunctionDeclarator, do parameters know about their attributes? Specifically addr space qualifiers. I'm thinking no because it always seems to think the param's in addr space 0, but when I dump the QualType I can clearly see the addr space attribute and its non zero, but I assume it just hasn't been processed yet.</div></div></div></blockquote></div><div><br></div><div>The address-space qualifier has probably migrated to the type of the parameter, rather than sitting on the parameter itself. You can use QualType::getAddressSpace() to figure out the address space of the parameter.</div><br><div><span class="Apple-tab-span" style="white-space:pre">  </span>- Doug</div></body></html>