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

    <tr>
        <th>Summary</th>
        <td>
            Clean up C++20 warnings in LLVM source
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            code-cleanup
      </td>
    </tr>

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

    <tr>
      <th>Reporter</th>
      <td>
          ilya-biryukov
      </td>
    </tr>
</table>

<pre>
    There are some warnings that frequently show up when LLVM is built with `-DCMAKE_CXX_STANDARD=20`:
- `-Wdeprecated-enum-enum-conversion`
```
/vol/worker/clang-debian-cpp20/clang-debian-cpp20/build/tools/clang/include/clang/Driver/Options.inc:6266:177: warning: bitwise operation between different enumeration types ('clang::driver::options::ClangFlags' and 'llvm::opt::DriverFlag') is deprecated [-Wdeprecated-enum-enum-conversion]
```
- `-Wdeprecated-declarations`
```
[stdout] /vol/worker/clang-debian-cpp20/clang-debian-cpp20/llvm-project/llvm/include/llvm/Demangle/ItaniumDemangle.h:35:22: warning: 'is_pod<const llvm::itanium_demangle::Node *>' is deprecated: use is_standard_layout && is_trivial instead [-Wdeprecated-declarations]
[stdout] static_assert(std::is_pod<T>::value,
```

I will temporarily disable those in the buildbot, but we should clean them up and re-enable the buildbot.
Examples taken from: https://lab.llvm.org/staging/#/builders/237/builds/831.


</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJykVF2v4jYQ_TXDiwVKbJLAQx5yYZFW3d1K7VW7b8iJB-JeY6f2GMq_r5zA5d79UB8qRZF9PJ6PczwjQ9BHi1hD8QTFdiYj9c7X2lzlvNX-Gl_cedY6da2fe_TIpEcW3AnZRXqr7TEw6iWxg8e_I1oyVxZ6d2FxYJceLfv06Y_PTAfWRm2IXTT1DMpsvt18bn75sN98_br__bn5sm1-24LY8gzKDEQD2RayZj5a_qlw8NhJQjVHG0_Tr3P2jD5oZ9ON0Twtpm_a8t3ZGeC7i_Mv6IHvOiPtca6w1dLOu2Hg2c_AlKwCviPnTLgbAd9p25mo8A2y9fo8Ov91IO1sWGjbgWhKXpYgmryqQDR3ptKy1XTRAZkb0Mt0g7VIF0TLlD4c0KMllgq8n9J1wMCAr4BXU0zRgGjUFHZcuynytNkkm52RxwC8YtIqBrwy5nx6tZ0WU97JEHgFfJ0kehDNoHj6b-KL7Q-J_142hZ2RU0Hhp3IVT4GUiwTFlv0f7VKx88G7v7Cj2_adcjdgiydpjyYhH0laHU93ZNGDaEQBouH8G_WAVzrsB6dAbDpnA7EHtXrysld3xyP6xSlkwBsQH5Ig71hOHmNApsM-kLRKerU38uoiMeAl8DKdkNdnLQ3TNhDK75V5x-2rIm_JDCRJd3sZAnoCvgqkbhnfS3lO2Y3QWZqIwDc_lmj8f2QXbQwjPA3OS6_NlSkdZGuQUe9SOZZRj2PDq9YR8A1rI7ELpsEQjWKdQTnanNKUSG_U4xztzcXj5mIK-OEfeRoMBkbyBS07eJcYZz3RMD56vkuqynaRtFg4n9oykDzqsUGBi3tDo0-9zEV1B9J2JfLF2_JmqhZqLdZyhnVeVmJdVMtCzPp6nbe5zBQidngoDzwrytUyk4d8VbTrpTrMdM0zLrI8r3KeZ4VYiIzLbsVF3q5Wh2XWwTLDk9TmNdGZDiFiXWZ5ls-MbNGEcQpz3jmF85GnOADnaS77enzZbTwGWGZGBwoPR6TJYL0ZiY0D2wB_Av7Es8eQ1rdRHFz0Hc6iN_V7Bo-a-tguOnd6NMk3vTSmm0gbM_43AAD__3eX_RQ">