Author: omtcyfz Date: Fri Jul 15 05:21:33 2016 New Revision: 275545 URL: http://llvm.org/viewvc/llvm-project?rev=275545&view=rev Log: [clang-rename] add few tests
Thiis patch introduces few additional tests including one case the tool does not handle yet, which should be fixed in the future. Differential Revision: https://reviews.llvm.org/D22102 Added: clang-tools-extra/trunk/test/clang-rename/FunctionMacro.cpp clang-tools-extra/trunk/test/clang-rename/Namespace.cpp clang-tools-extra/trunk/test/clang-rename/TemplateTypename.cpp clang-tools-extra/trunk/test/clang-rename/UserDefinedConversion.cpp clang-tools-extra/trunk/test/clang-rename/VariableMacro.cpp Added: clang-tools-extra/trunk/test/clang-rename/FunctionMacro.cpp URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/test/clang-rename/FunctionMacro.cpp?rev=275545&view=auto ============================================================================== --- clang-tools-extra/trunk/test/clang-rename/FunctionMacro.cpp (added) +++ clang-tools-extra/trunk/test/clang-rename/FunctionMacro.cpp Fri Jul 15 05:21:33 2016 @@ -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;' <file> to get the correct offset of foo when changing +// this file. Added: clang-tools-extra/trunk/test/clang-rename/Namespace.cpp URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/test/clang-rename/Namespace.cpp?rev=275545&view=auto ============================================================================== --- clang-tools-extra/trunk/test/clang-rename/Namespace.cpp (added) +++ clang-tools-extra/trunk/test/clang-rename/Namespace.cpp Fri Jul 15 05:21:33 2016 @@ -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;' <file> to get the correct offset of foo when changing +// this file. Added: clang-tools-extra/trunk/test/clang-rename/TemplateTypename.cpp URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/test/clang-rename/TemplateTypename.cpp?rev=275545&view=auto ============================================================================== --- clang-tools-extra/trunk/test/clang-rename/TemplateTypename.cpp (added) +++ clang-tools-extra/trunk/test/clang-rename/TemplateTypename.cpp Fri Jul 15 05:21:33 2016 @@ -0,0 +1,11 @@ +// Currently unsupported test. +// FIXME: clang-rename should be able to rename template parameters correctly. + +template <typename T> +T foo(T arg, T& ref, T* ptr) { + T value; + int number = 42; + value = (T)number; + value = static_cast<T>(number); + return value; +} Added: clang-tools-extra/trunk/test/clang-rename/UserDefinedConversion.cpp URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/test/clang-rename/UserDefinedConversion.cpp?rev=275545&view=auto ============================================================================== --- clang-tools-extra/trunk/test/clang-rename/UserDefinedConversion.cpp (added) +++ clang-tools-extra/trunk/test/clang-rename/UserDefinedConversion.cpp Fri Jul 15 05:21:33 2016 @@ -0,0 +1,12 @@ +// Currently unsupported test. +// FIXME: clang-rename should handle conversions from a class type to another +// type. + +class Foo {}; // CHECK: class Bar {}; + +class Baz { // CHECK: class Bar { + operator Foo() const { // CHECK: operator Bar() const { + Foo foo; // CHECK: Bar foo; + return foo; + } +}; Added: clang-tools-extra/trunk/test/clang-rename/VariableMacro.cpp URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/test/clang-rename/VariableMacro.cpp?rev=275545&view=auto ============================================================================== --- clang-tools-extra/trunk/test/clang-rename/VariableMacro.cpp (added) +++ clang-tools-extra/trunk/test/clang-rename/VariableMacro.cpp Fri Jul 15 05:21:33 2016 @@ -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;' <file> to get the correct offset of foo when changing +// this file. _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits