[libclang] Don't try to translate diagnostics from the precompiled preamble to the

code-completion results, the SourceManager state may be slightly
different when code-completing.

And we don't even care for diagnostics when code-completing, anyway.

llvm-svn: 170979
This commit is contained in:
Argyrios Kyrtzidis 2012-12-22 04:48:08 +00:00
parent 9999f4f88b
commit 430a938fde
2 changed files with 0 additions and 35 deletions

View File

@ -2435,9 +2435,6 @@ void ASTUnit::CodeComplete(StringRef File, unsigned Line, unsigned Column,
// If the main file has been overridden due to the use of a preamble,
// make that override happen and introduce the preamble.
StoredDiagnostics.insert(StoredDiagnostics.end(),
stored_diag_begin(),
stored_diag_afterDriver_begin());
if (OverrideMainBuffer) {
PreprocessorOpts.addRemappedFile(OriginalSourceFile, OverrideMainBuffer);
PreprocessorOpts.PrecompiledPreambleBytes.first = Preamble.size();
@ -2459,17 +2456,9 @@ void ASTUnit::CodeComplete(StringRef File, unsigned Line, unsigned Column,
OwningPtr<SyntaxOnlyAction> Act;
Act.reset(new SyntaxOnlyAction);
if (Act->BeginSourceFile(*Clang.get(), Clang->getFrontendOpts().Inputs[0])) {
if (OverrideMainBuffer) {
std::string ModName = getPreambleFile(this);
TranslateStoredDiagnostics(Clang->getModuleManager(), ModName,
getSourceManager(), PreambleDiagnostics,
StoredDiagnostics);
}
Act->Execute();
Act->EndSourceFile();
}
checkAndSanitizeDiags(StoredDiagnostics, getSourceManager());
}
bool ASTUnit::Save(StringRef File) {

View File

@ -1,24 +0,0 @@
int *blah = 1;
int
// CHECK-RESULTS: NotImplemented:{TypedText const} (40)
// CHECK-RESULTS: NotImplemented:{TypedText restrict} (40)
// CHECK-RESULTS: NotImplemented:{TypedText volatile} (40)
// CHECK-DIAGS: error: invalid value '' in '-std='
// CHECK-DIAGS: complete-driver-errors.c:1:6:{1:13-1:14}: warning: incompatible integer to pointer conversion initializing 'int *' with an expression of type 'int'
// Test driver errors with code completion
// RUN: c-index-test -code-completion-at=%s:4:1 -std= %s 2> %t | FileCheck -check-prefix=CHECK-RESULTS %s
// RUN: FileCheck -check-prefix=CHECK-DIAGS %s < %t
// Test driver errors with parsing
// RUN: c-index-test -test-load-source all -std= %s 2> %t | FileCheck -check-prefix=CHECK-LOAD %s
// RUN: FileCheck -check-prefix=CHECK-DIAGS %s < %t
// CHECK-LOAD: complete-driver-errors.c:1:6: VarDecl=blah:1:6
// Test driver errors with code completion and precompiled preamble
// RUN: env CINDEXTEST_EDITING=1 c-index-test -code-completion-at=%s:4:1 -std= %s 2> %t | FileCheck -check-prefix=CHECK-RESULTS %s
// RUN: FileCheck -check-prefix=CHECK-DIAGS %s < %t
// RUN: env CINDEXTEST_EDITING=1 c-index-test -test-load-source all -std= %s 2> %t | FileCheck -check-prefix=CHECK-LOAD %s
// RUN: FileCheck -check-prefix=CHECK-DIAGS %s < %t