summaryrefslogtreecommitdiff
path: root/test/clang-rename/UserDefinedConversion.cpp
diff options
context:
space:
mode:
authorDimitry Andric <dim@FreeBSD.org>2017-07-01 13:24:05 +0000
committerDimitry Andric <dim@FreeBSD.org>2017-07-01 13:24:05 +0000
commitcf1b401909b5e54edfd80656b1a18eaa31f9f6f1 (patch)
treeedb0ffff2a43d84ba9b4c862b394cfeeebb36ddc /test/clang-rename/UserDefinedConversion.cpp
parentef915aab0ac566c55bfb0d7a9f6635bb5d94d4af (diff)
Notes
Diffstat (limited to 'test/clang-rename/UserDefinedConversion.cpp')
-rw-r--r--test/clang-rename/UserDefinedConversion.cpp26
1 files changed, 26 insertions, 0 deletions
diff --git a/test/clang-rename/UserDefinedConversion.cpp b/test/clang-rename/UserDefinedConversion.cpp
new file mode 100644
index 0000000000000..60f251ab44835
--- /dev/null
+++ b/test/clang-rename/UserDefinedConversion.cpp
@@ -0,0 +1,26 @@
+class Foo { /* Test 1 */ // CHECK: class Bar {
+public:
+ Foo() {} // CHECK: Bar() {}
+};
+
+class Baz {
+public:
+ operator Foo() /* Test 2 */ const { // CHECK: operator Bar() /* Test 2 */ const {
+ Foo foo; // CHECK: Bar foo;
+ return foo;
+ }
+};
+
+int main() {
+ Baz boo;
+ Foo foo = static_cast<Foo>(boo); // CHECK: Bar foo = static_cast<Bar>(boo);
+ return 0;
+}
+
+// Test 1.
+// RUN: clang-rename -offset=7 -new-name=Bar %s -- | sed 's,//.*,,' | FileCheck %s
+// Test 2.
+// RUN: clang-rename -offset=164 -new-name=Bar %s -- | sed 's,//.*,,' | FileCheck %s
+
+// To find offsets after modifying the file, use:
+// grep -Ubo 'Foo.*' <file>