Synchronize globally-cached code completion results with the results
provided when the optimization is disabled. In particular, split
the completion context CCC_Other into two contexts: CCC_Other, which
means that it's an undisclosed context for which any other results are
unwelcome, and CCC_Recovery, which is used in recovery cases.

Since we're now using the completion context within the completion
results builder, make sure that it's always set to something.

Fixes <rdar://problem/8470644>.

llvm-svn: 114704
diff --git a/clang/test/Index/complete-declarators.cpp b/clang/test/Index/complete-declarators.cpp
index 2c218c4..fd2f338 100644
--- a/clang/test/Index/complete-declarators.cpp
+++ b/clang/test/Index/complete-declarators.cpp
@@ -15,25 +15,29 @@
 };
 
 // RUN: c-index-test -code-completion-at=%s:8:5 %s | FileCheck -check-prefix=CHECK-CC1 %s
+// RUN: env CINDEXTEST_EDITING=1 CINDEXTEST_COMPLETION_CACHING=1 c-index-test -code-completion-at=%s:8:5 %s | FileCheck -check-prefix=CHECK-CC1 %s
 // CHECK-CC1: NotImplemented:{TypedText const} (30)
 // CHECK-CC1: Namespace:{TypedText N}{Text ::} (75)
 // CHECK-CC1: NotImplemented:{TypedText operator} (30)
 // CHECK-CC1: NotImplemented:{TypedText volatile} (30)
 // RUN: c-index-test -code-completion-at=%s:8:11 %s | FileCheck -check-prefix=CHECK-CC2 %s
+// RUN: env CINDEXTEST_EDITING=1 CINDEXTEST_COMPLETION_CACHING=1 c-index-test -code-completion-at=%s:8:11 %s | FileCheck -check-prefix=CHECK-CC2 %s
 // CHECK-CC2: NotImplemented:{TypedText const} (30)
 // CHECK-CC2-NOT: Namespace:{TypedText N}{Text ::} (75)
 // CHECK-CC2-NOT: NotImplemented:{TypedText operator} (30)
 // CHECK-CC2: NotImplemented:{TypedText volatile} (30)
 // RUN: c-index-test -code-completion-at=%s:13:7 %s | FileCheck -check-prefix=CHECK-CC3 %s
+// RUN: env CINDEXTEST_EDITING=1 CINDEXTEST_COMPLETION_CACHING=1 c-index-test -code-completion-at=%s:13:7 %s | FileCheck -check-prefix=CHECK-CC3 %s
 // CHECK-CC3: NotImplemented:{TypedText const} (30)
 // CHECK-CC3-NOT: Namespace:{TypedText N}{Text ::} (75)
 // CHECK-CC3: NotImplemented:{TypedText operator} (30)
 // CHECK-CC3: NotImplemented:{TypedText volatile} (30)
 // RUN: c-index-test -code-completion-at=%s:14:14 %s | FileCheck -check-prefix=CHECK-CC4 %s
+// RUN: env CINDEXTEST_EDITING=1 CINDEXTEST_COMPLETION_CACHING=1 c-index-test -code-completion-at=%s:14:14 %s | FileCheck -check-prefix=CHECK-CC4 %s
 // CHECK-CC4: NotImplemented:{TypedText const} (30)
 // CHECK-CC4: Namespace:{TypedText N}{Text ::} (75)
 // CHECK-CC4: NotImplemented:{TypedText operator} (30)
 // CHECK-CC4: NotImplemented:{TypedText volatile} (30)
-// CHECK-CC4: StructDecl:{TypedText Y} (50)
-// CHECK-CC4: StructDecl:{TypedText Z} (20)
+// CHECK-CC4: StructDecl:{TypedText Y}{Text ::} (75)
+// CHECK-CC4: StructDecl:{TypedText Z}{Text ::} (75)