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