<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">