[clang] Mark re-injected tokens appropriately during pragma handling
authorKadir Cetinkaya <kadircet@google.com>
Fri, 12 Mar 2021 08:36:06 +0000 (09:36 +0100)
committerKadir Cetinkaya <kadircet@google.com>
Fri, 12 Mar 2021 17:18:17 +0000 (18:18 +0100)
commitf43ff34ae67a6557fe9fd1ba0e992da18bd102f7
tree890f980c09f33b707cb94d41d794cdc57ea1feff
parent0bd9d9aa3ce06268b565369b9e71b636792d35e0
[clang] Mark re-injected tokens appropriately during pragma handling

This hides such tokens from TokenWatcher, preventing crashes in clients
trying to match spelled and expanded tokens.

Fixes https://github.com/clangd/clangd/issues/712

Differential Revision: https://reviews.llvm.org/D98483
clang/lib/Parse/ParsePragma.cpp
clang/unittests/Tooling/Syntax/TokensTest.cpp