<div dir="ltr"><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 class="gmail_quote"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div class="im"><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>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><span class="HOEnZb"><font color="#888888"><div><br></div><div>-Joe </div></font></span></div></div></div>
</div><br></div>