<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/149633>149633</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Pre-C23 check in for declaration is incorrect
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
Halalaluyafail3
</td>
</tr>
</table>
<pre>
Clang incorrectly rejects the following program pre-C23 with -pedantic-errors:
```c
for(_Static_assert(1,"");0;);
```
This is valid, yet Clang rejects it anyways. Additionally, Clang incorrectly allows the following:
```c
for (enum fred { jim, sheila = 10 } i = jim; i < sheila; i++);
```
This is invalid and is mentioned specifically in [DR277](https://www.open-std.org/jtc1/sc22/wg14/issues/c99/issue0277.html).
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJx8Uk2PozgU_DWPixVkbAjhwCEkQntc7e699WIe4F5jkG0a8e9HJmlNz4dGPMmUbIqqcqH3erBENRQNFPcE1zDOrv4LTXzWHXvURiaPudvrm0E7MG3V7BypYHbm6J1U8CyMxPrZmHnTdmCLmweHE1scnW5Csk2HkZ0W6tAGrU7k3Ow8yCvwK5z5cxTwaz87EJe3fwMGrd7Qe3IBxCUDcQMhjqlANhxk83z7SgD8-t-oPdOefaDRHYgb2ymwp-hPoTowtPuGu0_Ztet00LNFY_Z4-ld7GB395O73uhmIC9l1Yr2jjkHZsHc9RVI_kjbIQN5ZxhmUd6YPELdlc4DPQwcG0RzzB3vaHgYZ2i7CiWx0QR3zCyndaxUNMW0ZFM39H1GWUNxBXMYQliN10YJot21L54XsyYcund0Aon0PKgPRehWDbrchy0G02vuVPIhWVdUn5KIs0zFMBkSVJl0tu0pWmFCdlYW4VDLPeDLWVZ9zwjxHQpFJQuxQqlLxXJZVzyUluhZcFLzMqrhkPK3Ol_LcF_jozyqrHmfIOU2oTWrMxxRFJsfv6yyvzlImBh9k_FFcISxt7NiNNSnuiavjR6fHOnjIudE--O80QQdD9d-veqqR1P8xr3iPHSmDDmOiz6xfbUhWZ-ofIxx0GNdHquYJRBu5X8tpcXNs29f0XpI_avEtAAD__8h3Exk">