[Clang] Fix __VA_OPT__ implementation so that it treats the concatenation of a non...
authorShafik Yaghmour <shafik.yaghmour@intel.com>
Fri, 17 Feb 2023 22:56:02 +0000 (14:56 -0800)
committerShafik Yaghmour <shafik.yaghmour@intel.com>
Fri, 17 Feb 2023 22:57:32 +0000 (14:57 -0800)
commitd6d59e660bc75d14f423fb3817834f832bbf4543
tree1b629989e7bf342857da7efd033ed14dc28164c8
parent34aff47521c3e0cbac58b0d5793197f76a304295
[Clang] Fix __VA_OPT__ implementation so that it treats the concatenation of a non-placemaker token and placemaker token as a non-placemaker token

Currently the implementation of __VA_OPT__ will treat the concatenation of a
non-placemaker token and placemaker token as a placemaker token which is not
correct. This will fix the implementation and treat the result as a
non-placemaker token.

This fixes: https://github.com/llvm/llvm-project/issues/60268

Differential Revision: https://reviews.llvm.org/D142604
clang/docs/ReleaseNotes.rst
clang/lib/Lex/TokenLexer.cpp
clang/test/Preprocessor/macro_vaopt_p1042r1.cpp