<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/61737>61737</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[clang] initializer element is not a compile-time constant error when trying to initialize static array with elemment of type static const struct
</td>
</tr>
<tr>
<th>Labels</th>
<td>
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
listout
</td>
</tr>
</table>
<pre>
I came across this on while building gnome-remote-desktop on Gentoo with clang 16. Relevant error https://bugs.gentoo.org/885875.
Minimal reproducible code:
```c
struct AUDIO_FORMAT
{
char* data;
};
typedef struct AUDIO_FORMAT AUDIO_FORMAT;
static const AUDIO_FORMAT audio_format_aac = { 0 };
static AUDIO_FORMAT server_formats[] =
{
audio_format_aac,
};
```
With clang I get the following output
```
test.c:12:3: error: initializer element is not a compile-time constant
audio_format_aac,
^~~~~~~~~~~~~~~~
1 error generated.
```
While with GCC I get the following output:
```
/usr/lib/gcc/x86_64-pc-linux-gnu/12/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/12/../../../../lib64/Scrt1.o: in function `_start':
(.text+0x17): undefined reference to `main'
collect2: error: ld returned 1 exit status
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJysVMFu4zYQ_Rr6MrAgkbYlH3RwkmqRw2KBbYseDYoaSWwp0iCHidNDv72gZCNxkm5RoIZBk9a8N5qZxydD0INFrNn2jm0fVjLS6HxtdCAXadW67qV-BCUnBKm8CwFo1AGchedRG4Q2atNpO8Bg3YRrj5MjXHcY_iB3SmFf0JJz8KxpBGWkHaDYZfAdDT5JS4DeOw8j0SkwcWC8Ybxp4xCyYcZlzg-MN1W1rcptxvIHlh-W9au2epIGPJ6866LSrUFQrsNE8yaO7fLlq5ZzIB8VweHXh8dvx-bb96-HXy6B5d0Vt1ej9IwfoJMkmbj-Xz687ueVXk7YYQ-fcN4muIUFkqQVKGfDO5CMnXbH3vlJ0lFKBUw8ACvvIIeP2S80NwQB_RP6C0NYZppI3pUIHzIxfv9JldfevU372-skH2FAAhoRemeMe046cJFOkT6dwKVpGChTTBwKzsRBMHFYRJA22mrS0ug_0QManNAS6ADWEUhQbjppg2vSEy7Nk5b-tR5g25_-uv0sD4qL9ga06CVhl_2o6Fnss4i_3N__qPB_UN_lyJsYPOON0S3jzaAU48252h13m_VJrY228bwebGS8KTjjTZZ9XD4Pb7VNtF3q4v-Rxeh2t2G8-Vl5KjK3DAf6aBVpZ4Ht8mMg6Ynx8rVkXmWEZ2L8Lj8XJeP7BIu2w15b7MBjjx6tQiCXGCaZXrpcwMoZg4r4jR5MAlH0CV0AnjVBUn0M77q76mrR7cVerrAuduV-vxE8L1djLbio2nwrlNx3hdiWpaxK0au2VVuJspcrXfOci1zwsqi2gpdZy1XR9tWmL3lfFfsd2-Q4SW0yY56mZEcrHULEeleUolwZ2aIJV_P0dQpaJ_9imzx5aHiFkSYz2-x8d9K9_O9qv0j2eUQL5F-S7Mi94YGLJ0jv5csi10Q8M7sekl_BjfsszrWK3tS3HjxoGmObKTclMZin68_65N3vqIjxZu5DYLyZW_F3AAAA__9iQ-5H">