<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/56062>56062</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            wrong code on valid code at O2+ (clang 14)
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          ecatmur
      </td>
    </tr>
</table>

<pre>
    ```c++
int main() {
    struct D { struct P { int x, y; } a[2] = {}; } d;
    if (d.a[0].y != 0)
        throw &d.a[0].y;
}
```
```sh
$ clang++ --version
clang version 14.0.0
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /opt/clang-14.0.0/bin
$ clang++ -O2 a.cpp && ./a.out
terminate called after throwing an instance of 'int*'
Aborted
```
clang 13 is not affected. According to godbolt it doesn't miscompile in clang trunk 15.0.0, but the bug is pretty fragile so I'm not sure that it's genuinely fixed. I'll try to bisect to find where it was introduced/removed.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJx1U0uPmzAQ_jXmMgKBIZAcOGQ3WmlP20PvlV8Bd42NbJPHv-8Ykm5VtZYFnuf3eWbMnbz3pC23LQh9Sbs8kfKobYSJaUvontADkO6hB1wh-kVEOCXtU_i2CinqRugr3En9gpoTMLJ7oWSHvvXqj7qnSeLhK6k-A2LJIgWUGFDcUa5SVIkEvvzSiqN3VzS3f7r_zpYgtsPzZn-JYXwoaAPCMDtsF4c8vygftLObeTXBQwVVU5TFI9N35gcVSX2E27790Tb5Yj-tu9rcaLvc8sEuD7_RKyZhclKZ5D27oG-b6d2GyIxR8qR9MhH65uaI3xU1f6DRN67tf8h-UGCFmOdUB9xQoDcr3BI3_6j8pC2LCsSKA-yMqq10Gu_FLHYLOVihwKXad9g8QhGn2xIcufNRyX-WcitNVYMOYF3E3Gcl0LmAoxDOywQQHQxOcmci6AjSqYDD1OFU6SDcNGujkMB2JcAZsp9Q7bZLvwJfIjJV-B8SxOxVjHc4ezaksODgHVNNK3RYvEJfllBQGWBQdtFWGfTXt0Qp-RqDGPfEieuAVNPprK2E66gwHgleWUjj651cBN6avnk1uQvGZ7Kv5aE-sCzqaFR_9Q4ZC-wp4FhcmNFyk5DCB02twTl-FKjB0c0Wb_oxxjlgnzEv7kHHceEFlgEFYy7PXz579xPZoahDWFTAw64tW5qNPRcl4y0VYl_VHVeVrBueFpW1aJumygzjyoQe3wOh1KorrCnwjK8j0z0tKS3bqq3orqto0WKequGtOuzPnHcdaUqF790UiUfh_JD5fqWELQhoNDrE8GVkIejBKrXCYX62xNH5XgkWp8VnK3S_Uv8FuGdQTQ">