From 222e2a7620e6520ffaf4fc4e69d79c18da31542e Mon Sep 17 00:00:00 2001 From: "Zancanaro; Carlo" Date: Mon, 24 Sep 2012 09:58:17 +1000 Subject: Add the clang library to the repo (with some of my changes, too). --- clang/test/Index/cxx-operator-overload.cpp | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 clang/test/Index/cxx-operator-overload.cpp (limited to 'clang/test/Index/cxx-operator-overload.cpp') diff --git a/clang/test/Index/cxx-operator-overload.cpp b/clang/test/Index/cxx-operator-overload.cpp new file mode 100644 index 0000000..8647448 --- /dev/null +++ b/clang/test/Index/cxx-operator-overload.cpp @@ -0,0 +1,28 @@ +// Run lines are sensitive to line numbers and come below the code. +// FIXME: re-enable this when we can serialize more C++ ASTs +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) { while (1) {} } + +// RUN: %clang_cc1 -emit-pch %s -o %t.ast + +// RUNx: index-test %t.ast -point-at %s:10:17 -print-decls > %t && +// RUNx: cat %t | count 2 && +// RUNx: grep ':5:9,' %t && +// RUNx: grep ':13:10,' %t && + +// Yep, we can show references of '+' plus signs that are overloaded, w00t! +// RUNx: index-test %t.ast -point-at %s:5:15 -print-refs > %t && +// RUNx: cat %t | count 2 && +// RUNx: grep ':10:17,' %t && +// RUNx: grep ':10:22,' %t && + +// RUNx: index-test %t.ast -point-at %s:10:14 | grep 'DeclRefExpr x1' -- cgit v1.2.3