[Syntax] Merge overlapping top-level macros in TokenBuffer
authorSam McCall <sam.mccall@gmail.com>
Tue, 7 Apr 2020 00:49:51 +0000 (02:49 +0200)
committerSam McCall <sam.mccall@gmail.com>
Tue, 7 Apr 2020 13:06:04 +0000 (15:06 +0200)
commitd66afd6dde542dc373f87e07fe764c071fe20d76
treeb01f4206cb6e3666470133394254aedb05d4ae4a
parent338be9c59527c3d172f64e8861bcbb472297d52d
[Syntax] Merge overlapping top-level macros in TokenBuffer

Summary:
Our previous definition of "top-level" was too informal, and didn't
allow for overlapping macros that each directly produce expanded tokens.
See D77507 for previous discussion.

Fixes http://bugs.llvm.org/show_bug.cgi?id=45428

Reviewers: kadircet, vabridgers

Subscribers: cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D77615
clang/lib/Tooling/Syntax/Tokens.cpp
clang/unittests/Tooling/Syntax/TokensTest.cpp