Index: test/clang-rename/FunctionMacro.cpp =================================================================== --- /dev/null +++ test/clang-rename/FunctionMacro.cpp @@ -0,0 +1,21 @@ +// RUN: cat %s > %t.cpp +// RUN: clang-rename -offset=199 -new-name=macro_function %t.cpp -i -- +// RUN: sed 's,//.*,,' %t.cpp | FileCheck %s + +#define moo foo // CHECK: #define moo macro_function + +int foo() { // CHECK: int macro_function() { + return 42; +} + +void boo(int value) {} + +void qoo() { + foo(); // CHECK: macro_function(); + boo(foo()); // CHECK: boo(macro_function()); + moo(); + boo(moo()); +} + +// Use grep -FUbo 'foo;' to get the correct offset of foo when changing +// this file. Index: test/clang-rename/Namespace.cpp =================================================================== --- /dev/null +++ test/clang-rename/Namespace.cpp @@ -0,0 +1,14 @@ +// RUN: cat %s > %t.cpp +// RUN: clang-rename -offset=143 -new-name=llvm %t.cpp -i -- +// RUN: sed 's,//.*,,' %t.cpp | FileCheck %s + +namespace foo { // CHECK: namespace llvm { + int x; +} + +void boo() { + foo::x = 42; // CHECK: llvm::x = 42; +} + +// Use grep -FUbo 'foo;' to get the correct offset of foo when changing +// this file. Index: test/clang-rename/TemplateTypename.cpp =================================================================== --- /dev/null +++ test/clang-rename/TemplateTypename.cpp @@ -0,0 +1,16 @@ +// RUN: cat %s > %t.cpp +// RUN: clang-rename -offset=152 -new-name=U %t.cpp -i -- +// RUN: sed 's,//.*,,' %t.cpp | FileCheck %s +// XFAIL: * + +template // CHECK: template +T foo(T arg, T& ref, T* ptr) { // CHECK: U foo(U arg, U& ref, U* ptr) { + T value; // CHECK: U value; + int number = 42; + value = (T)number; // CHECK: value = (U)number; + value = static_cast(number); // CHECK: value = static_cast(number); + return value; +} + +// Use grep -FUbo 'foo;' to get the correct offset of foo when changing +// this file. Index: test/clang-rename/VariableMacro.cpp =================================================================== --- /dev/null +++ test/clang-rename/VariableMacro.cpp @@ -0,0 +1,18 @@ +// RUN: cat %s > %t.cpp +// RUN: clang-rename -offset=208 -new-name=Z %t.cpp -i -- +// RUN: sed 's,//.*,,' %t.cpp | FileCheck %s + +#define Y X // CHECK: #define Y Z + +void foo(int value) {} + +void macro() { + int X; // CHECK: int Z; + X = 42; // CHECK: Z = 42; + Y -= 0; + foo(X); // CHECK: foo(Z); + foo(Y); +} + +// Use grep -FUbo 'foo;' to get the correct offset of foo when changing +// this file. Index: test/clang-rename/VirtualFunction.cpp =================================================================== --- /dev/null +++ test/clang-rename/VirtualFunction.cpp @@ -0,0 +1,17 @@ +// RUN: cat %s > %t.cpp +// RUN: clang-rename -offset=175 -new-name=boo %t.cpp -i -- +// RUN: sed 's,//.*,,' %t.cpp | FileCheck %s +// XFAIL: * + +class A { +public: + virtual void foo(); // CHECK: virtual void boo(); +}; + +class B : public A { +public: + void foo(); // CHECK: void boo(); +}; + +// Use grep -FUbo 'Cla' to get the correct offset of foo when changing +// this file.