-// RUN: clang-cc -emit-pch %S/cxx-operator-overload-input.cpp -o %t.ast &&
-// RUN: index-test %t.ast -point-at %S/cxx-operator-overload-input.cpp:8:17 -print-decls | count 2 &&
-// RUN: index-test %t.ast -point-at %S/cxx-operator-overload-input.cpp:8:17 -print-decls | grep ':3:9,' &&
-// RUN: index-test %t.ast -point-at %S/cxx-operator-overload-input.cpp:8:17 -print-decls | grep ':11:10,' &&
+class Cls {
+public:
+ Cls operator +(const Cls &RHS);
+};
+
+static void bar() {
+ Cls x1, x2, x3;
+ Cls x4 = x1 + x2 + x3;
+}
+
+Cls Cls::operator +(const Cls &RHS) {
+}
+
+// RUN: clang-cc -emit-pch %s -o %t.ast &&
+// RUN: index-test %t.ast -point-at %s:8:17 -print-decls | count 2 &&
+// RUN: index-test %t.ast -point-at %s:8:17 -print-decls | grep ':3:9,' &&
+// RUN: index-test %t.ast -point-at %s:8:17 -print-decls | grep ':11:10,' &&
// Yep, we can show references of '+' plus signs that are overloaded, w00t!
-// RUN: index-test %t.ast -point-at %S/cxx-operator-overload-input.cpp:3:15 -print-refs | count 2 &&
-// RUN: index-test %t.ast -point-at %S/cxx-operator-overload-input.cpp:3:15 -print-refs | grep ':8:17,' &&
-// RUN: index-test %t.ast -point-at %S/cxx-operator-overload-input.cpp:3:15 -print-refs | grep ':8:22,'
+// RUN: index-test %t.ast -point-at %s:3:15 -print-refs | count 2 &&
+// RUN: index-test %t.ast -point-at %s:3:15 -print-refs | grep ':8:17,' &&
+// RUN: index-test %t.ast -point-at %s:3:15 -print-refs | grep ':8:22,'
-// RUN: clang-cc -emit-pch %S/resolve-loc-input.c -o %t.ast &&
-// RUN: index-test %t.ast -point-at %S/resolve-loc-input.c:1:8 | grep top_var &&
-// RUN: index-test %t.ast -point-at %S/resolve-loc-input.c:3:15 | grep top_func_decl &&
-// RUN: index-test %t.ast -point-at %S/resolve-loc-input.c:3:25 | grep param1 &&
-// RUN: index-test %t.ast -point-at %S/resolve-loc-input.c:5:17 | grep top_func_def &&
-// RUN: index-test %t.ast -point-at %S/resolve-loc-input.c:5:23 | grep param2 &&
-// RUN: index-test %t.ast -point-at %S/resolve-loc-input.c:6:10 | grep local_var1 &&
-// RUN: index-test %t.ast -point-at %S/resolve-loc-input.c:7:15 | grep for_var &&
-// RUN: index-test %t.ast -point-at %S/resolve-loc-input.c:7:43 | grep top_func_def &&
-// RUN: index-test %t.ast -point-at %S/resolve-loc-input.c:7:43 | grep '++for_var' &&
-// RUN: index-test %t.ast -point-at %S/resolve-loc-input.c:8:9 | grep local_var2 &&
-// RUN: index-test %t.ast -point-at %S/resolve-loc-input.c:8:30 | grep local_var2 &&
-// RUN: index-test %t.ast -point-at %S/resolve-loc-input.c:8:30 | grep 'for_var + 1' &&
+int top_var;
+
+void top_func_decl(int param1);
+
+void top_func_def(int param2) {
+ int local_var1;
+ for (int for_var = 100; for_var < 500; ++for_var) {
+ int local_var2 = for_var + 1;
+ }
+}
+
+struct S {
+ int field_var;
+};
+
+
+// RUN: clang-cc -emit-pch %s -o %t.ast &&
+// RUN: index-test %t.ast -point-at %s:1:8 | grep top_var &&
+// RUN: index-test %t.ast -point-at %s:3:15 | grep top_func_decl &&
+// RUN: index-test %t.ast -point-at %s:3:25 | grep param1 &&
+// RUN: index-test %t.ast -point-at %s:5:17 | grep top_func_def &&
+// RUN: index-test %t.ast -point-at %s:5:23 | grep param2 &&
+// RUN: index-test %t.ast -point-at %s:6:10 | grep local_var1 &&
+// RUN: index-test %t.ast -point-at %s:7:15 | grep for_var &&
+// RUN: index-test %t.ast -point-at %s:7:43 | grep top_func_def &&
+// RUN: index-test %t.ast -point-at %s:7:43 | grep '++for_var' &&
+// RUN: index-test %t.ast -point-at %s:8:9 | grep local_var2 &&
+// RUN: index-test %t.ast -point-at %s:8:30 | grep local_var2 &&
+// RUN: index-test %t.ast -point-at %s:8:30 | grep 'for_var + 1' &&
// fields test.
-// RUN: index-test %t.ast -point-at %S/resolve-loc-input.c:13:10 | grep field_var
+// RUN: index-test %t.ast -point-at %s:13:10 | grep field_var