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

    <tr>
        <th>Summary</th>
        <td>
            Token paste operator `, b ## __VA_ARGS__` incorrectly delete the `,` if `b` and `__VA_ARGS__` are both empty
        </td>
    </tr>

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

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

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

<pre>
    ```
void g(int) {}
#define f(a, b, ...) g(a, b##__VA_ARGS__)

int main() {
    f(1,);
}
```

not sure if this is intentional, but it's at least inconsistent with gcc behavior. https://godbolt.org/z/MczT69ax9
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJxcUcGOnDAM_RpzsRYFMwxw4MDuanrqpV31OgpgIG0mGSVmtrtfX4VO1dVKFjjO87Pzno7RLI65g-oRqudMb7L60G2RAymqqc0GP711cFT3UP3NmwkXoMY4AWoR6keon0H1QOXEs3GMM1CjgZ5wSJ88zxNu-VAsgcrz-Ud_7r99-X4-A7WpX_XGCV60cUDNP2rVI-LOWAA9JWSZiveRH_YC1TsvGLfAaGaU1URM4YSdGO-03YdvgkaA6oha0LKOgsaN3kUTExBfjay4jCMOvOqb8SHHVeQaoeyBTkCnxU-Dt5L7sACd3oFOX8f3l2Orf7fZ1JVTW7Y6466oq1qVraqabO0O9ZGqikrdkFLtQIdxrqqhnA9t0Qw0HTPTkaJKtapSRIeiyduiKQpVls1xHnnkFg6KL9rY3NrbJc3OTIwbd0VVK6Uyqwe2cXeRyPEr7rdAlEwNXWp6GLYlwkFZEyX-pxEjlrsX_4sdXnUURn_loMUHTLomyfCvYfjRsaPaZQuBR7FvOLFlYZSV7107YE6HIaXaTSn_xKAD4-BlRb5c5S3bgu0-aW1k3YZ89BegU1r5_nu4Bv-TRwE67Q-NQKe7EreO_gQAAP__h2fWRQ">