<div dir="ltr"><span style="font-family:arial,sans-serif;font-size:13px">Done in r195846.</span><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Nov 27, 2013 at 4:05 PM, Alexander Kornienko <span dir="ltr"><<a href="mailto:alexfh@google.com" target="_blank">alexfh@google.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div class="im">On Wed, Nov 27, 2013 at 2:27 PM, Aaron Ballman <span dir="ltr"><<a href="mailto:aaron@aaronballman.com" target="_blank">aaron@aaronballman.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Author: aaronballman<br>
Date: Wed Nov 27 07:27:02 2013<br>
New Revision: 195841<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=195841&view=rev" target="_blank">http://llvm.org/viewvc/llvm-project?rev=195841&view=rev</a><br>
Log:<br>
Laying the basic groundwork for table generating the diagnostics for attribute subjects. This makes some modifications to the way subjects are listed in Attr.td, and updates the attr emitter to handle the new constructs.<br>


<br>
I have disabled some attribute subject lines on purpose in Attr.td;<br>
this part is a WIP with the goal being to restore those subjects<br>
incrementally. By commenting them out, it leaves the original behavior<br>
the same as before for those attributes and so those are not<br>
functionality changes.<br></blockquote></div><div>... </div><div class="im"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">@@ -4286,13 +3956,8 @@ static void handleObjCReturnsInnerPointe<br>


 static void handleObjCRequiresSuperAttr(Sema &S, Decl *D,<br>
                                         const AttributeList &attr) {<br>
   SourceLocation loc = attr.getLoc();<br></blockquote><div><br></div></div><div>This variable is unused. I'm going to remove it to fix the build, if you don't mind.</div><div class="im"><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


-  ObjCMethodDecl *method = dyn_cast<ObjCMethodDecl>(D);<br>
+  ObjCMethodDecl *method = cast<ObjCMethodDecl>(D);<br>
<br>
-  if (!method) {<br>
-   S.Diag(D->getLocStart(), diag::err_attribute_wrong_decl_type)<br>
-   << SourceRange(loc, loc) << attr.getName() << ExpectedMethod;<br>
-    return;<br>
-  }<br>
   DeclContext *DC = method->getDeclContext();<br>
   if (const ObjCProtocolDecl *PDecl = dyn_cast_or_null<ObjCProtocolDecl>(DC)) {<br>
     S.Diag(D->getLocStart(), diag::warn_objc_requires_super_protocol)<br><br></blockquote></div></div>
</div></div>
</blockquote></div><br>
</div></div>