[clang-tools-extra] r275545 - [clang-rename] add few tests
Kirill Bobyrev via cfe-commits
cfe-commits at lists.llvm.org
Fri Jul 15 03:21:33 PDT 2016
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.
More information about the cfe-commits
mailing list