<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/57133>57133</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Clang doesn't generate a function when using __array_rank
</td>
</tr>
<tr>
<th>Labels</th>
<td>
clang:codegen
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
philnik777
</td>
</tr>
</table>
<pre>
The code [(Godbolt)](https://godbolt.org/z/3qe4Gqqvx)
```c++
#include <__type_traits/integral_constant.h>
template <class T>
struct rank : std::integral_constant<int, __array_rank(T)> {};
template <class T>
void test_rank() {
static_assert(rank<T>::value == 0);
}
void func() {
test_rank<void>();
}
```
generates `func()`, but doesn't generate `test_rank<void>()`.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyNU9uOmzAQ_RrzYhWBTYA88JDLdn8g78gYB9x17MQe0qZf37HTNKvuVqpkQHM75wyeGdx46w6zotKNipLVlrD21Y2DM0DYmqz2aM8A50D4hrCveKZ7NHd-QusnPvyiqtfL5fojVhR7UmxIXdyPJGwbz93LuLbSLJGI7_oebmfVgxcaAqJoC2rywvTS2QDCQj4T_vK7Mr1Bnc5GQKqWRoRAD38yAvhFAvXCvmF4QwOMUTHffIDFYvQRtqN9L7wXtz4WYZuHKJ-_UNJsSbMnfPu_3FenRwoqwAMJgRJKilLUIkDLHouUR-I2ZfFdAkgar8IsERlJ97RIMh7kKOSdisR0XKz8SPLk57uYFsFT0idYj9u5m5OyymNrgaLrCR7j-JOGBejoVLCENUAfuTH134x1kd-hM9WVdV3wtq2qKhs7Pq75WmSgwahuZ4SdPsMWqUXQztLvs7J0CRoT399WtnjT_TWWGuZlyKU7oWHM9fH5cvbum5IQJyyERcVRWzUl59nctVUp2mFYt2smjqPirByG1aocyrpsFGubzIhBmdCltWAy6kW-uCmoFT24HpnuWMFY0Za8LIui4jljbcGFPNZ1PPJIqkKdhDZ5VBO3JvNdEjYsU8Cg0QHCM4hToierVCJFfLHA7Hx3nrWx-q1pmiy10aUefgFkKh4a">