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

    <tr>
        <th>Summary</th>
        <td>
            libcxx 15.0.1 fails tests when using clang-16 
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            libc++
      </td>
    </tr>

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

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

<pre>
    When building libcxx 15.0.1 using clang-16, there's a lot of warnings like:

```
[564/565] Building CXX object libcxx/src/CMakeFiles/cxx_static.dir/locale.cpp.o
In file included from /home/mgorny/git/llvm-project/libcxx/src/locale.cpp:16:
In file included from /home/mgorny/git/llvm-project/build-cxx/include/c++/v1/algorithm:1709:
In file included from /home/mgorny/git/llvm-project/build-cxx/include/c++/v1/__debug:16:
In file included from /home/mgorny/git/llvm-project/build-cxx/include/c++/v1/type_traits:421:
In file included from /home/mgorny/git/llvm-project/build-cxx/include/c++/v1/__functional/invoke.h:17:
/home/mgorny/git/llvm-project/build-cxx/include/c++/v1/__type_traits/decay.h:30:8: warning: keyword '__decay' will be made available as an identifier for the remainder of the translation unit [-Wkeyword-compat]
struct __decay {
       ^
In file included from /home/mgorny/git/llvm-project/libcxx/src/locale.cpp:16:
In file included from /home/mgorny/git/llvm-project/build-cxx/include/c++/v1/algorithm:1709:
In file included from /home/mgorny/git/llvm-project/build-cxx/include/c++/v1/__debug:16:
In file included from /home/mgorny/git/llvm-project/build-cxx/include/c++/v1/type_traits:511:
/home/mgorny/git/llvm-project/build-cxx/include/c++/v1/__type_traits/make_signed.h:42:8: warning: keyword '__make_signed' will be made available as an identifier for the remainder of the translation unit [-Wkeyword-compat]
struct __make_signed {};
       ^
In file included from /home/mgorny/git/llvm-project/libcxx/src/locale.cpp:16:
In file included from /home/mgorny/git/llvm-project/build-cxx/include/c++/v1/algorithm:1709:
In file included from /home/mgorny/git/llvm-project/build-cxx/include/c++/v1/__debug:16:
In file included from /home/mgorny/git/llvm-project/build-cxx/include/c++/v1/type_traits:512:
/home/mgorny/git/llvm-project/build-cxx/include/c++/v1/__type_traits/make_unsigned.h:44:8: warning: keyword '__make_unsigned' will be made available as an identifier for the remainder of the translation unit [-Wkeyword-compat]
struct __make_unsigned {};
       ^
3 warnings generated.
```

Since tests use `-Werror` this causes them to fail.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJztVk2L2zAQ_TX2RcTY8ldy8KHZbaCHnnrYvQVZHttqZClIcrL59x3ZCcnSwhZasrBscIQsjfTmzcwzU-vmVD31oEg9CtkI1REpav7yQpI8iqOEjNavcclUt0iKgD4Q14OBgJaWMCK1I7olR2YUmlk8u4Mg_RLEj0F8GYv4_Myv-TovsoBu8iIP8keyvsA-PD8TXf8E7s4eoI01HMeH72wHGyHB4gtubK1jTvCoEQYXpOZMQsT3-0jPEN8UadGaCMXl2EBDWqMHgqa9HtDxzdBpo0446YTzF8jDsNgb7aH962vw6_XICwNwIfdvIFOwFzPO-QbPLaDr6dkcEhyYxDuE6wePXMare2Jvtw3UY3d3zu60h60zTDiLsBlN7ku6HRV3QismJ7uD3kHUT-G_VvX_RbwlTDcNcHaaENMYhyX-L-Ly0x2cjto0yLr0CUJbnJGjkJLUQAbWAGEHJiSrMVAMBaqIaEA50QowpNXGi5cYGJhQDa6gdP0CwisrmSdORiUcQZEuns5gC66HPXOo1Zm_dWZEjZ7xSVCu53Uy_4L866cKP5YK8yS5T_UP-J3fWtEpaCYNZPQtDdyceEcl3Hgx6aF8DNJPVXx4VdA7qmJUt7rI_koXlzPvrYyLH29pI732kR0oMMwh3z83kdP4A0OIjoF1FttUILi9eAJjtMEZOi0s4Qw3rCcwEKdJi7yjEKqkKNJiGcclDZsqbVbpioVOOAnV6-bX29szwtE3ya-7YRKORla9c3tfEJiqOe_9WEcYkHP6f68CYe049bJ5uczysK-KnOWUtzyDmq9SVjZAVywpIFvyOmsyFmKyQNoKQx5Q6l28VAzFkIeiojGl8YrGSUqThEZpDnW64nh9XOctdhJZ7NMpI-9IpE0XmmryCVVkcVMKJHjdZHbKF0x4eD8bXa9NNZd2OHlfTa7_AoNx77Q">