<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/154331>154331</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Building LLVM and MLIR with LLVM_REQUIRED_CXX_STANDARD c++23
</td>
</tr>
<tr>
<th>Labels</th>
<td>
mlir
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
kykrueger
</td>
</tr>
</table>
<pre>
Building llvm with c++23 seems to not yet be supported.
I'm keen on building it anyways to use 'import std;' in [NebulaStream](https://github.com/nebulastream/nebulastream) which uses LLVM with MLIR as a dependency.
I'm making patches to get the build working based on the llvmorg-20.1.8 release, and many of them seem to still be relevant when building against the release candidates for 21 and 22.
When switching the LLVM_REQUIRED_CXX_STANDARD variable to 23 on the 20.1.8 release many errors are encountered.
Most of the issues relate to the constexpr changes of unique_ptr in c++23.
I'd like to make a PR to share the changes I am making to get this working and see if any of them could be useful for the next 20.x.x release or other major releases.
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJx8U01v4zYQ_TXUZRBBoiLLOugQr9dAgGTRevuxt4ASxxLXFKlyyDj-9wVpx5v2kJNhavj4PuYJIjUaxI7VG1ZvMxH8ZF13PB9dwBFd1lt57jZBaanMCFq_znBSfoKB8Q3jG14BIc4E3oKxHs7ooUegsCzWeZQ5Kx4eGW9mOCIasAb6dyzlQZjzSZzT5UAIjDdqjveAvGTVhvEGlAFWb75hH7T47h2KmdVbxteT9wux6oHxHeO7Ufkp9PlgZ8Z3Jg3TZfj_f1s4TWqY4nsET09_PV_kPD897kEQCJC4oJFohnPkfqM_i2MkvQg_TJgYj-jBT3gRBCfr0kAvCGXUGT9Fu6wb73iRl_kaHGoUhIx_AWEkzMKcwR7i5JxcjKjkldbRwjj8KoyH04QfXBOjUIYuL1_xYBBGKik8EhysA14meM6vAv6OAHRSfpgiQrwZhb_sv_7-5-P-6_bly48fL9__ePi2fdhv4VU4JXqNkQyv3pX8V8GFOjpnHYFwCGgGG4xHd0n82ZK_KgNFFJDiTeETaDwcrCGPb4uDYRJmRIrTwah_Ar4s3sXUbwv2IQYJWh0TyCyOCAJ-2yfPpsgh4V7RHkHcIrtFpeiWUvSHEEEd4GMIgw1aRvMD4SHo5GaENfjmowVv-dvNAuvA-gkdzOKnde_HlEMmu0q2VSsy7MqmrldFW9WrbOq4LJqmLPpiJftDI5s1H3BVc8R2Xd-3Bc9UxwteF-uyLauyrlf5ird9Ww1NXa1X7boe2H2Bs1A6j4uVWzdmyd2urO-rqsy06FFTqjLns1aOcR5L7bo4f9eHkdh9oRV5-oXgldf4q-GpEtGe1IjUjU-W5RZSFpzuPulkfO76c7c4-xMHz_jushuM764CXjv-bwAAAP__YueEAg">