diff options
author | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2012-12-22 04:48:08 +0000 |
---|---|---|
committer | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2012-12-22 04:48:08 +0000 |
commit | ac504561cd888455a48bf85d21ada20a932ebd94 (patch) | |
tree | 71aa74c755a476e148dd80477302c55c1b9bcbf7 | |
parent | 772e71310bd06a30b81db981cb5d9cc20120ff83 (diff) |
[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.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170979 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/Frontend/ASTUnit.cpp | 11 | ||||
-rw-r--r-- | test/Index/complete-driver-errors.c | 24 |
2 files changed, 0 insertions, 35 deletions
diff --git a/lib/Frontend/ASTUnit.cpp b/lib/Frontend/ASTUnit.cpp index 807dcc8729..19d274db26 100644 --- a/lib/Frontend/ASTUnit.cpp +++ b/lib/Frontend/ASTUnit.cpp @@ -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) { diff --git a/test/Index/complete-driver-errors.c b/test/Index/complete-driver-errors.c deleted file mode 100644 index 566090c260..0000000000 --- a/test/Index/complete-driver-errors.c +++ /dev/null @@ -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 |