<div dir="ltr">Indeed. I filed <a href="http://llvm.org/bugs/show_bug.cgi?id=12828">http://llvm.org/bugs/show_bug.cgi?id=12828</a> ages ago but it got lost in the slipstream.<div><br></div><div style>-Joe</div></div><div class="gmail_extra">
<br><br><div class="gmail_quote">On Fri, Feb 22, 2013 at 3:40 PM, Richard Smith <span dir="ltr"><<a href="mailto:richard@metafoo.co.uk" target="_blank">richard@metafoo.co.uk</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="HOEnZb"><div class="h5">On Fri, Feb 22, 2013 at 3:35 PM, Joe Groff <span dir="ltr"><<a href="mailto:arcata@gmail.com" target="_blank">arcata@gmail.com</a>></span> wrote:<br></div></div><div class="gmail_quote">
<div><div class="h5"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr"><div><span style="color:rgb(80,0,80)">On Thu, Feb 21, 2013 at 7:24 PM, Hoon Hwangbo </span><span dir="ltr" style="color:rgb(80,0,80)"><<a href="mailto:drawtree@me.com" target="_blank">drawtree@me.com</a>></span><span style="color:rgb(80,0,80)"> wrote:</span><br>


</div><div class="gmail_quote"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div><div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hello.<br>
<br>
I am testing `goto` with Objective-C (ARC enabled).<br>
And I discovered Objective-C object cannot be exist under `goto` label.<br>
<br>
                        {<br>
                                AA*     a1;                     //      Fine.<br>
<br>
                        LABEL3:<br>
                                AA*     a2;                     //      Compiler error: "Expected expression".<br>
                        }<br></blockquote><div><br></div></div></div><div>This is a quirk of standard C99 grammar that isn't Objective-C specific—a label must be followed by a *statement*, not a declaration. This code is invalid C, for instance:</div>



<div><br></div><div>void foo() {</div><div>foo:</div><div>  int x;</div><div>}</div><div><br></div><div>Putting an empty statement after the label works around it:</div><div>
<br></div><div>void foo() {</div><div>foo:;</div><div>  int x;</div><div>}</div></div></div></div></div></div></blockquote><div><br></div></div></div><div>Ick. We should give a better diagnostic for this. </div></div>
</blockquote></div><br></div>