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

    <tr>
        <th>Summary</th>
        <td>
            clang-cl does not truncate overflowing wchar_t literals 
        </td>
    </tr>

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

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

    <tr>
      <th>Reporter</th>
      <td>
          Neumann-A
      </td>
    </tr>
</table>

<pre>
    Simply said `clang-cl` cannot compile the following:

`static_assert(L'\U0001d538'==L"\U0001d538"[0]);`

while `cl` will do it. 

`clang-cl` will emit an error for `L'\U0001d538'` (`error: character too large for enclosing character literal type`) while `cl` will truncate the result as documented https://learn.microsoft.com/en-us/cpp/cpp/string-and-character-literals-cpp?view=msvc-170#microsoft-specific.

clang-cl should match cl behavior here and downgrade the error to a truncation warning. 
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJxsk0-PwyYQxT8NvoxsEfDfgw-7jXJa9VL1vBrDxKbCYAGOtd--srNJs9VesCyGx4_3ZjBGMzqinlXvrDpnuKbJh_5PWmd0Ln_LBq-_-r_MvNgviGg0sJori27MlWU1B4XO-QTKz4uxBGkiuHpr_WbcyOQb42fGH2vNY8Jk1CfGSCEx0X4w0bDqj7855yddyXb_lWcmzx9MiJ8bglXvnFVnJjom31nNX6W3ab_8QNuhNmMtaA8mFfA_glf2o4xmkwAdUAg-wNWHXeY3rpoDEy2r-VHJ5BuoCQOqRAGS92AxjHQIkFPWR-PGlwprEgW0kL4W2uFFB79Bp7A6heluZKC42gQYQXu1zuQSaZhSWuLurLgwcbGEwRWzUcFHf02F8jMTF3L5Gpm4qGV5rjEF48Ycnc6fVPk3Vcz3Gnm5GdqYPM_xpvJTw5mQT-U8LqTM1aji1dCHmxAnv1oNMyY1gbIw0IQ34wNMFAjQadB-c2NAfX_a3e3kAR9PNt7BhsEZNxaQ6V7qTnaYUX-q26YuRcubbOo76krVnHh31UOJ-lqfhrYUDZeyGVTV6Mz0ggvJa1GKU8l5UyBXSEOrVFtz3VUNKznNaGxh7W0ufBgzE-NKfS3LrswsDmTjMQ1CONrg2Dy675yFfj-TD-sYWcmtiSn-p5JMstQ_DdGeIuyT8UzU3yhc74MB2x7BZ3p0RYRsDbb_Ge1o0rQO34nu13x_8iX4f0glJi4H3B70Af9vAAAA__8PCza-">