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
+}