<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/95895>95895</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            Unexpected controlflow in `ParseTentative.cpp`
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            good first issue,
            clang:frontend,
            objective-c
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          tbaederr
      </td>
    </tr>
</table>

<pre>
    This code looks weird:

https://github.com/llvm/llvm-project/blob/6b4b29f85900995b2a3b817548be4a534d46763b/clang/lib/Parse/ParseTentative.cpp#L1960-L1980


The `continue` is the same as a `break` here, because of the `while(false)`. Since this is parsing an "identifier-list", I suppose the code is trying to parse a list of identifiers followed by optional commas?
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyUUsuO3CoQ_Rq8KXULl7HbLLyYe0eWrjSLK2XyAWDKNhkaLMDdmb-PcGcyWWSTDSXqcepxjkrJLp5oYO0_rH2u1J7XEIesFRmKsdLBvA-vq00wBUPgQnhLcCcbDWueGH9m_Oe75ryl4sOR4bjYvO76PIUrw9G524c5bTF8oykzHLULmuHYaaFRzn0rOZey1aga3deXVvSahGobYUR36ZqSOjnllwJky-9_FRN92FfyWWV7o_O0bQybl1p2_PRSy57_PuTjfV0JWMen4LP1O7GOg02QV4KkrgQqgSpxHUm9leBKkRj-C5omtSeCMB_JrOP31Tpi2M_KlVkk6_gZvlg_EeRyM5tgUzFZv4DywBCtIZ_tbCmenE2ZIRbg_yDt2xYSHbjHoctA8b0U5nBgECgoJaX7J0qCOTgX7mRAv0PYsg1eOZjC9aoSa8bKDI2RjVQVDfWl7i-cty2v1gH7S69NM2vUuhaEppnnRs511wuFRtSVHZCj4F3d817Imp91L8ylE7qhtmsNV0xwuirrzoXXc4hLZVPaaZBtL9vKKU0uHapCXEIwMNuYMhw5j7UZ4oPR5mmOwWfy5lcg6KISe6PTVHztcxWHQz96XxITvFwifXbONjsavnr6vtGUyUDhNgY3u3AH6wtVf5BJx6s9uuGvlXvskBiOj1VvA_4IAAD__4HsCtY">