aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorKadir Cetinkaya <kadircet@google.com>2020-06-16 21:21:45 +0200
committerKadir Cetinkaya <kadircet@google.com>2020-06-17 18:32:59 +0200
commit4317ee27bd64759b922438659f5b6883c0fbe404 (patch)
treef685c31a0bf2144493ab47b1a26468fa906d2151 /clang/lib/Frontend/CompilerInvocation.cpp
parent2e28009981f91acc3d14268f3d9ded84963e972b (diff)
downloadllvm-4317ee27bd64759b922438659f5b6883c0fbe404.zip
llvm-4317ee27bd64759b922438659f5b6883c0fbe404.tar.gz
llvm-4317ee27bd64759b922438659f5b6883c0fbe404.tar.bz2
[clangd] Make use of preamble bounds from the patch inside ReplayPreamble
Summary: Clangd was using bounds from the stale preamble, which might result in crashes. For example: ``` #include "a.h" #include "b.h" // this line is newly inserted #include "c.h" ``` PreambleBounds for the baseline only contains first two lines, but ReplayPreamble logic contains an include from the third line. This would result in a crash as we only lex preamble part of the current file during ReplayPreamble. This patch adds a `preambleBounds` method to PreamblePatch, which can be used to figure out preamble bounds for the current version of the file. Then uses it when attaching ReplayPreamble, so that it can lex the up-to-date preamble region. Reviewers: sammccall Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, usaxena95, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D81964
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions