mirror of https://github.com/microsoft/clang.git
[Tooling] Clear the PreambleSrcLocCache when preamble is discarded during reparsing
This ensures that diagnostics are not remapped to incorrect preamble locations after the second reparse with a remapped header file occurs. rdar://37502480 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@327322 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
ed0ca152fb
commit
07fe671aaa
|
@ -1259,6 +1259,7 @@ ASTUnit::getMainBufferWithPrecompiledPreamble(
|
|||
Preamble.reset();
|
||||
PreambleDiagnostics.clear();
|
||||
TopLevelDeclsInPreamble.clear();
|
||||
PreambleSrcLocCache.clear();
|
||||
PreambleRebuildCounter = 1;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,3 @@
|
|||
|
||||
asdf;
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
//
|
||||
//
|
||||
asdf;
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
//
|
||||
//
|
||||
//
|
||||
asdf;
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
// RUN: CINDEXTEST_EDITING=1 LIBCLANG_DISABLE_CRASH_RECOVERY=1 c-index-test -test-load-source-reparse 2 none -remap-file-0=%S/Inputs/reparse-issue.h,%S/Inputs/reparse-issue.h-0 -remap-file-1=%S/Inputs/reparse-issue.h,%S/Inputs/reparse-issue.h-1 -- %s 2>&1 | FileCheck %s
|
||||
#include "Inputs/reparse-issue.h"
|
||||
|
||||
// CHECK: reparse-issue.h:4:1:{1:1-1:1}: error: C++ requires a type specifier for all declarations
|
Loading…
Reference in New Issue