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

    <tr>
        <th>Summary</th>
        <td>
            Miscompile with C++23 constexpr-unknown constant evaluation
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            clang:codegen,
            miscompilation,
            c++23
      </td>
    </tr>

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

    <tr>
      <th>Reporter</th>
      <td>
          efriedma-quic
      </td>
    </tr>
</table>

<pre>
    Testcase:

```
int &ff();
int &x = ff();
struct A { int& x; };
struct B { A x[20]; };
B f() { return {x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x}; }
```

This is synthetic; I have no idea how likely it is for anyone to actually run into this.  Filing as a followup to discussion on #128409.
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJysks2O6ygQhZ-mvCklwoWdxAsv4o4izWJ2_QKYlO2aJpAxkJ-3v3Ju-rayv1Ih0OGjjg4qE6OMnrmFuoP6UJicpjC3PMzCp7NZ_Z_FFn04PdpPjsmayKD3oJ61Ua9Se_EJgTbDALQDakB3P-IdQR_w_SqmOduEe4Rth-IT0AbvoDuE7eGN6J7EHu9Qd6SgPrxBHb66PqmZU579crwDffy9tf1j-h4a1P5zkogSMT58mjiJXch_cDJXRh9QTmxwCjd08sXugZIWeAgzGv8InjEFNDZl49wD5-yXrwiYJolrxKM48SOaiAaH4Fy45cvy4CTR5hgleAwegXRJu0o16-LU6lOjG1NwW26rstwoUk0xtaWlcqhV2Vc90WAqU1VDxYp1vzW7ftgV0pKiWmlVq63eVM1a15u6VgPXjepZ6R1Uis9G3Nq563kd5rGQGDO3JTW7qiqc6dnF5wgRWWf8CHpvw4lH9kAE9AFEZ4k2nC_iTJLwI1ugDqgjvSj1oZjbxWPV5zFCpZzEFH9ckyTH7b_fnRhvkib8-G6BNviY-H6ZV9l_-XDzvxXjE_LVuPy0LvLs2imlS1xGmY5Ax1HSlPu1DWeg4-L22laXOfzHNgEdn4Ej0PGV-drSrwAAAP__bCv38w">