<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/78034>78034</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
c23 aggregate initialization
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
uecker
</td>
</tr>
</table>
<pre>
It seems clang recently started to miscompile aggregate initialization.
union foo {
char x;
int y;
long z;
} x = { 0 };
would only initialize x, which is OK (although a questionable decision). But my understanding is that
for C23 x = { } zero-filling is required, and this also does not happen anymore.
https://godbolt.org/z/68q9bY5cT
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJx0kkFv2zAMhX-NfCEa2FKcxAcf2gYGhh122WVHWWJtbrKYStTa5NcPToulHbALBTyKjx-IZ3OmKSL2qn1Q7bGyRWZOfUH3C1M1sj_3XwQy4pLBBRsnSOgwSjhDFpsEPQjDQtnxcqKAYKcp4WQFgSIJ2UAXK8Rxo-qjqu_faonEEZ6YQe0f3iQAADfbBK_KfJAoCpw_KYHjBJe_ktof4RWUOa5WUIPaH2-9a33hEjxwDOcbEsKr0o_wMpObgTJ8-wpKH2yQmcs0g4XngnnFtmNA8OgoE0eluw08FIHlDCV6TFls9BSn1UJmK28LnzjBozYfsFbICya-e6IQ3v8nfC6U0K8cNnqQmTLYkBk8Y4bIArM9nTCCjeeFE3664CxyysrcKz0oPUzsRw6y4TQpPVyUHnaH52780brvle-N70xnK-ybfd027dY0ppr7saubnR6xs9o0bncYcau9tt2uczvfYFtRr2u9rZvGNKY9GLMxjfUedx3qvW90jWpb42IpbEL4vay7K8q5YL8_1GZbBTtiyNdcaR3xBa5NpfUas9SvM3djmbLa1oGy5JuLkATsnTb_DVNVUuj_OQHJXMaN40XpYbV6f-5OiX-iE6WHK0BWergC_gkAAP__wlLwkQ">