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

    <tr>
        <th>Summary</th>
        <td>
            clangd 17.0.3 gets wrong marco `__cpp_impl_coroutine` while clangd 16.0.2 is good
        </td>
    </tr>

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

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

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

<pre>
    I'm using clang12 building with folly, vscode with clangd 16.0.2 works fine,
but vscode with clangd 17.0.3 shows `#define __cpp_impl_coroutine 201902L`,
thus it will include `<coroutine>`, and define some tools about coroutine, which will fail on parse.

Since there is no `__cpp_impl_coroutine` defined on clang12, clangd gets a wrong macro.


</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJx8ks2OnTwMhq8mbKxBweHnsGAx35nvSJW66wUchcRA2kBQfgZNr76CQzuaatRNIjl-38d2LEMw40LUseo_Vr1kMsXJ-e7nm4qeKOudfuu-MGxmSMEsIygrl7FA6JOxeg9sJk4wOGvfGF7hNSin6RE8UjUUdc5zhM35HwEGsxDDK-MvjD_3KX4qaHKeCwiT2wKwmjMUmnYh3O9qXe9mXu1dOe9S3IPIi5bj1yPxNI5TCmAibMZaMIuySdPhJK5_dEz8_5CAXDScgOBmguicDSB7lyK8p-MVtsmo6WE6SGPBLbBKHyh_UB_nN7MogjiRJzABFreDPyuc1fzE6t3pHOzOOecwUgwgYfNuGWGWyrsPoEx3QreilRl1RcOLuimKSmRTp3BotSzpwlu8iIbKgqRuNFGPraCqykyHHEWBvOQ1VpXIB9LYa2ywlpeqLwZWcpqlsbm1r3Pu_JiZEBJ1TYkXkVnZkw3HwiAutMHxyBD3_fHdrnnq0xhYya0JMby7RBMtdR-_-ejyd49e_XNc22Qs_bVXJsDonM6St90U4xqYeGZ4Y3gbTZxSnys3M7ztNZzX0-rdd1KR4e2oPDC8HZ39CgAA__-BTPyY">