<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/87556>87556</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[Clang] MSVC compatibility, token paste with non-tokens
</td>
</tr>
<tr>
<th>Labels</th>
<td>
clang
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
wasabii
</td>
</tr>
</table>
<pre>
```
DebugPrintD3DError(res, " " ## #EXPR ## " failed in " ## THIS_FILE); \
```
Found this guy in the wild. Win32 related code. Works in MSVC. In a macro. Works fine if you take off the token-pasting, since "" "" is string concat. I think the idea here is MSVC allows token pasting when the left andor right aren't actual tokens, and just continues. So effectively they are ignored.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJxcklFvqzgQhX-NeRkFgYGQPPDQJkUbaVeqtqvtfbsyeIBpHDuyh0b591eGXLW6EjBCHn9z5uioEGi0iI2onkV1TNTMk_PNTQXVESWd0_dGbLPHkx1F9gRH7Obx1ZPlY3F88d55IXceg5AHEFI-3kLIIpaXH6__fv1KGBQZ1ED2e99_f53efranv1-E3IviGUR1WIf9MXv9tm62GniiAON8jyieEG5kdArwTraQ4NEoRg2905jCu_PnEPv-efv_kMLJgoKL6r37fTSQRaAB7m4GVmcENwwLlN0Z7eaqApMd44KBbI9R-mPTWChAYE92hN7ZXnEKp6jOnhcEaVQwocfYFwWAMsbdwsqGBxtuE657GBwYlNXOg6dxYlAerZA1g-p5Vma9t7itrIaPOXCcy2RnDCm8OcBhwJ7pE809Eu-RADRa51Gn341MdFPofbFXCTZ5ncu83u6yMpmarhxqVfb5XstiUGUuh6Iua13WtVSY631CjcxkmZVZIbMyy8q026uqqLd5X5fFrt5qUWZ4UWRSYz4vqfNjQiHM2OzqqtomRnVowhI6KXujorcy5s83sX_TzWMQZWYocPgiMLFZknpYblTH1c7eXa6KqSNDfI-2fBkbU8ETWGc3q2vJ7E0zMV-DKJ6EbIVsR-Jp7tLeXYRs46xH2Vy9-8CehWwX6UHIdlH_KwAA__-Dkv_O">