summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@collabora.co.uk>2017-03-27 18:02:31 +0200
committerMiklos Vajna <vmiklos@collabora.co.uk>2017-03-27 18:02:31 +0200
commitf1dad3652388b49555202627dc5e2b45887f57f8 (patch)
tree5f85bd87cba15db938e20692e42928ae2de7defb
parent1dee6df851174f1722cc618d977cdeaafb13a666 (diff)
testcase
-rw-r--r--clang/qa/data/rename-move-from-global.cxx32
-rw-r--r--clang/qa/data/rename-move-from-global.cxx.expected38
-rwxr-xr-xclang/qa/test-rename.sh4
3 files changed, 74 insertions, 0 deletions
diff --git a/clang/qa/data/rename-move-from-global.cxx b/clang/qa/data/rename-move-from-global.cxx
new file mode 100644
index 0000000..b7d1c1c
--- /dev/null
+++ b/clang/qa/data/rename-move-from-global.cxx
@@ -0,0 +1,32 @@
+class C;
+
+class C {
+public:
+ C();
+ ~C();
+ void foo();
+ inline C bar();
+ inline C& operator += (int x);
+};
+
+C::C() {}
+
+C::~C() {}
+
+void C::foo() {}
+
+inline C C::bar()
+{
+ return C();
+}
+
+inline C& C::operator +=(int /*x*/)
+{
+ return *this;
+}
+
+int main() {
+ C c;
+ c.foo();
+ return 0;
+}
diff --git a/clang/qa/data/rename-move-from-global.cxx.expected b/clang/qa/data/rename-move-from-global.cxx.expected
new file mode 100644
index 0000000..40baa3e
--- /dev/null
+++ b/clang/qa/data/rename-move-from-global.cxx.expected
@@ -0,0 +1,38 @@
+namespace ns
+{
+class C;
+}
+
+namespace ns
+{
+class C {
+public:
+ C();
+ ~C();
+ void foo();
+ inline ns::C bar();
+ inline ns::C& operator += (int x);
+};
+}
+
+ns::C::C() {}
+
+ns::C::~C() {}
+
+void ns::C::foo() {}
+
+inline ns::C ns::C::bar()
+{
+ return C();
+}
+
+inline ns::C& ns::C::operator +=(int /*x*/)
+{
+ return *this;
+}
+
+int main() {
+ ns::C c;
+ c.foo();
+ return 0;
+}
diff --git a/clang/qa/test-rename.sh b/clang/qa/test-rename.sh
index 2814974..b1b9a6d 100755
--- a/clang/qa/test-rename.sh
+++ b/clang/qa/test-rename.sh
@@ -111,6 +111,10 @@ declare_rename_test "testCXXDestructorDecl" "rename-cxx-destructor-decl.cxx"
bin/rename -old-name=C -new-name=D $test_input --
test_assert_equal $test_expected $test_output
+declare_rename_test "testMoveFromGlobal" "rename-move-from-global.cxx"
+bin/rename -old-name=C -new-name=ns::C $test_input --
+test_assert_equal $test_expected $test_output
+
echo "OK ($ok)"
# vi:set shiftwidth=4 expandtab: