<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/64713>64713</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Clang hangs up for an obscure though valid function declaration
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
tstanisl
</td>
</tr>
</table>
<pre>
The compilation of the C code below hangs forever for clang's version >= 15. See [godbolt](https://godbolt.org/z/GvdqoEKjG).
```
typeof(int(int)) x, y;
```
The code is equivalent to:
```
int x(int);
int y(int);
```
When compiled in C23 mode (`-std=c2x`) where `typeof` is a keyword then a following error message is produced.
```
error: expected function body after function declarator
```
The error message is incorrect because AFAIK the code is strictly compliant to C23 standard.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyEU09v6ygQ_zT4MmqEh9iJDz6kSV2tetyV9oxhbNMlkAJOmv30K9xE-9T2vSdZgzxomJnfHxmjGR1Ry6pHVh0KOafJhzbFJJ2Jtui9vrZ_TQTKH0_GymS8Az9Amgj2oLwm6Mn6C0zSjREGH-hMIZ-grHQjw02EM4WY65h4YuIAZbWCP4mAVY-j1723iVUHhtsppVNkYsewY9jdrlY-jAy7fxl2z2f95p9eXp8ZNivGD4zvbrHmt2_5TdcT-YHh1rh0jw3DBt4Z7uHKxOO3ZR_xY1dNYCLQ22zO0pJLkHwe7Oc9jUv5-Xuze4ucvn5Nf9v574ncDWbSYBzsUcAxj8Jwy2r-EJNm4qDwPRdiA5eJAgGr-W3hmuehJfxD14sPOnPkQMLgrfUX40agEHyAI8Uox2XBU_B6VqR_heZSxMQO6P1EKpGGYXZq0UEWB8ghZcLvOU3KyiCTD78B-cswxikfAqkEPSk5R4Jdt_vjZZHanZGYglHJXhecrJELMwtQWbBahk-r_BAL3QrdiEYW1JZ1g6UoUYhiahtel6LBAWut1qquNuW61Jtho-pyPagNL0yLHAXflhVy3JRipcuKqpIjKs0rLjlbczpKY1fWno9ZsIWJcaa2Xm9KUVjZk42LwRAdXWC5ZIjZb6HNNQ_9PEa25tbEFP9_JZlkqd1nH938NZ8Wa0kHvo9qDgRp8vM4wVlao7-yYLwr5mDbT9YyaZr7lfJHhl3udjseTsG_kkoMu2XGyLBbdvgvAAD__9VZRNU">