Replace the -code-completion-dump option with 

  -code-completion-at=filename:line:column

which performs code completion at the specified location by truncating
the file at that position and enabling code completion. This approach
makes it possible to run multiple tests from a single test file, and
gives a more natural command-line interface.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82571 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/test/CodeCompletion/call.cpp b/test/CodeCompletion/call.cpp
index 4faff15..dd90083 100644
--- a/test/CodeCompletion/call.cpp
+++ b/test/CodeCompletion/call.cpp
@@ -1,5 +1,5 @@
-// RUN: clang-cc -fsyntax-only -code-completion-dump=1 %s -o - | FileCheck -check-prefix=CC1 %s &&
-// RUN: true
+// Note: the run lines follow their respective tests, since line/column
+// matter in this test.
 void f(float x, float y);
 void f(int i, int j, int k);
 struct X { };
@@ -10,13 +10,20 @@
     
     operator int() const;
   };
-  void f(Y y);
+  void f(Y y, int);
 }
 typedef N::Y Y;
 void f();
 
 void test() {
-  // CHECK-CC1: f : 0 : f(<#struct N::Y y#>)
+  f(Y(), 0, 0);
+  // RUN: clang-cc -fsyntax-only -code-completion-at=%s:19:9 %s -o - | FileCheck -check-prefix=CC1 %s &&
+  // CHECK-CC1: f : 0 : f(<#struct N::Y y#>, <#int#>)
   // CHECK-NEXT-CC1: f : 0 : f(<#int i#>, <#int j#>, <#int k#>)
   // CHECK-NEXT-CC1: f : 0 : f(<#float x#>, <#float y#>)
-  f(Y(),
+  // RUN: clang-cc -fsyntax-only -code-completion-at=%s:19:13 %s -o - | FileCheck -check-prefix=CC2 %s &&
+  // CHECK-NOT-CC2: f : 0 : f(<#struct N::Y y#>, <#int#>)
+  // CHECK-CC2: f : 0 : f(<#int i#>, <#int j#>, <#int k#>)
+  // CHECK-NEXT-CC2: f : 0 : f(<#float x#>, <#float y#>)
+  // RUN: true
+}