<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/90348>90348</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Asterisk array size should be supported in typeof and _Atomic type specifiers which are part of a parameter declaration
</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 rejects the following declarations:
```c
void foo(typeof(int(*)[*])(*)[*]);
void bar(_Atomic(int(*)[*])(*)[*]);
```
> If the size is * instead of being an expression, the array type is a variable length array type of unspecified size, which can only be used as part of the nested sequence of declarators or abstract declarators for a parameter declaration, not including anything inside an array size expression in one of those declarators; (footnote) such arrays are nonetheless complete types.
>
> (foonote) They can be used only in function declarations that are not definitions (see 6.7.7.4 and 6.9.2).
These types should be accepted since the array type `[*]` is part of the nested sequence of declarators and abstract declarators for a parameter declaration.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJycVM2SozYQfhpx6VoKBMZw4ODZiSu57z3ViJZRIktELWbiPH1Kwp7xppLDpuyyAVV__f00jczm4ohGcXgRh9cCt7j4MP6MNn22G2o0tikmP9_GrxbdBQL9RioyxIVAe2v9u3EXmElZDBiNdyyak6heRXUSXbV_1X7_5s0M2nsh-3hbyWshe-OikL2QJyGHxEGexOE1Xf_rw-blCWnCIGT_6yn6q1H_G-qD5P22-Ql-0Vkdm78IDIOQJzCOI-EMXsNESTA6oD_XQMzGOyG_5goMAW-QtKU6hDcMBidLYMld4vJ87jVsjldSRhuac6-E8r4YtYBCB97ZG0wEG9MMyLBiiKkq9XHEMRXRHxs5lcEeAfjA4APgxDGgit891-kgAeGVIoXn0FJv5yMYp-w27wJvcUkXxrGZKQne6WdbPrWDSVxpp-aZnjuK5gWE7LX30flIQg7Am7r7wICBwHlHcSFLzKD8dbUUKTvE5Ucgn8nsYA-sbwvdslcPm7JnxoHenEqqvhtLiAvGe8_kizbO7AdC9kwEXXksj2UL6GboyqGUQg4PEvn320J8Jwe8-M3OqTMqRWuOw6Qs_jEHabA-xq6r0lz8QJKJyo9GWRbz2MxDM2BBY32sW9k0Xd8UyygnJGpQdjOpduiaw3A81JPu9bEdqrqpCzPKSrZVK491V9V1XepK191xanEeOl2rRrQVXdHY0tq3a-nDpTDMG41D1bR9YXEiy3mVSOnoHfKhkDJtljCmmi_TdmHRVtZw5E-UaKKl8cSRguHfnwft02fe1tWH5JZxsO-P7M99Aex2P96owPdXKeX9MPw_DCu2YMclxjVvLnkW8nwxcdmmUvmrkOfE8v73ZQ0-rT8hz1kbC3nO2v8OAAD___vhvdA">