summaryrefslogtreecommitdiffstats
path: root/test/clang-rename/Variable.cpp
diff options
context:
space:
mode:
authorAlex Lorenz <arphaman@gmail.com>2017-06-30 16:36:09 +0000
committerAlex Lorenz <arphaman@gmail.com>2017-06-30 16:36:09 +0000
commit4803aff743e866df42dd12fd37093bf2b4af42ac (patch)
tree3444ad9cff30fbdde5ea2d2f7b30a33a3bb69b33 /test/clang-rename/Variable.cpp
parentfc0baba7f6ae7a67b39c2375bfbbb7948a10b026 (diff)
[refactor] Move clang-rename into the clang repository
The core engine of clang-rename will be used for local and global renames in the new refactoring engine, as mentioned in http://lists.llvm.org/pipermail/cfe-dev/2017-June/054286.html. The clang-rename tool is still supported but might get deprecated in the future. Differential Revision: https://reviews.llvm.org/D34696 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@306840 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/clang-rename/Variable.cpp')
-rw-r--r--test/clang-rename/Variable.cpp33
1 files changed, 33 insertions, 0 deletions
diff --git a/test/clang-rename/Variable.cpp b/test/clang-rename/Variable.cpp
new file mode 100644
index 0000000000..d7e670fb43
--- /dev/null
+++ b/test/clang-rename/Variable.cpp
@@ -0,0 +1,33 @@
+#define NAMESPACE namespace A
+NAMESPACE {
+int Foo; /* Test 1 */ // CHECK: int Bar;
+}
+int Foo; // CHECK: int Foo;
+int Qux = Foo; // CHECK: int Qux = Foo;
+int Baz = A::Foo; /* Test 2 */ // CHECK: Baz = A::Bar;
+void fun() {
+ struct {
+ int Foo; // CHECK: int Foo;
+ } b = {100};
+ int Foo = 100; // CHECK: int Foo = 100;
+ Baz = Foo; // CHECK: Baz = Foo;
+ {
+ extern int Foo; // CHECK: extern int Foo;
+ Baz = Foo; // CHECK: Baz = Foo;
+ Foo = A::Foo /* Test 3 */ + Baz; // CHECK: Foo = A::Bar /* Test 3 */ + Baz;
+ A::Foo /* Test 4 */ = b.Foo; // CHECK: A::Bar /* Test 4 */ = b.Foo;
+ }
+ Foo = b.Foo; // Foo = b.Foo;
+}
+
+// Test 1.
+// RUN: clang-rename -offset=46 -new-name=Bar %s -- | sed 's,//.*,,' | FileCheck %s
+// Test 2.
+// RUN: clang-rename -offset=234 -new-name=Bar %s -- | sed 's,//.*,,' | FileCheck %s
+// Test 3.
+// RUN: clang-rename -offset=641 -new-name=Bar %s -- | sed 's,//.*,,' | FileCheck %s
+// Test 4.
+// RUN: clang-rename -offset=716 -new-name=Bar %s -- | sed 's,//.*,,' | FileCheck %s
+
+// To find offsets after modifying the file, use:
+// grep -Ubo 'Foo.*' <file>