<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">