<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/145250>145250</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[Clang] `int(...)` not parsed as variadic function type
</td>
</tr>
<tr>
<th>Labels</th>
<td>
clang
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
fuhsnn
</td>
</tr>
</table>
<pre>
Variadic functions can be declared without named parameter since C23, so `int(...)` should be a valid type-name that represent such a function. Clang rejects the following code, GCC accepts.
```
int va_fn(...);
// As typeof() argument
typeof(int(...))*fn_ptr = &va_fn;
// As _Generic association type
int i = _Generic(typeof(va_fn), int(...):1);
```
https://godbolt.org/z/zsc6Yf3GP
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJxsks1upDgQx5_GXEpBpsCkOXDodNS57mmlPUWFKcArt41s01H26VdmmGSSGakQEjL_j_KPYjSzY-6FehLquaAtLT7007ZE54rBj-_93xQMjUbDtDmdjHcRNDkYGEbWlgKP8GbS4rcEjm48wkqBbpw4QDROM1ywFniB6EG00rgk8FSWpcBOtBLi4jc7ZjWCO1kzQnpf-SErQVooQeA1cGSXIG56AfqIUcLFkpsh8L-sU4S0MEzeWv9m3Azaj5xdXy4XIK15TbEU8pynlcfIs3EJ7vQ6uc9M9dNxDK8Cr3COeyA_CTwJ7IDCvN3YJSHPH9-_dMpzntzrmgKI-hkEtj8cfhd-fWHHwWigGL02lFvtbkcyswv8PCXw9OF4ZO5ywy_u9bn6LPFL0SWlNYr6MJ_9OHibSh9mgdf_8hN1-89Uv_xVjH09dnVHBffVo5JtLdVjVSz9SUucTlNd1ayauuGmQVYV8dQqRU2HhelRopItImLVVlV5ko0ibFrS9Ni2QycayTcytrT2fsvehYlx475qFCpZWBrYxh1ERJ2vViBmJkOff3gYtjmKRloTU_yUSCbZnd4dBqGe_wSZ8ylTGXkEinD_DvS-82ILtv-2JpOWbSi1vwm8Zsfj9bAGn5kTeN0bRIHXo8S9x_8DAAD__33GBho">