summaryrefslogtreecommitdiffstats
path: root/clang/unittests/Rename/RenameFunctionTest.cpp
diff options
context:
space:
mode:
authorHaojian Wu <hokein@google.com>2017-10-23 08:58:50 +0000
committerHaojian Wu <hokein@google.com>2017-10-23 08:58:50 +0000
commit54e84b39669dbdae65cc2f4e33d032784bc41353 (patch)
tree65750b3516ec86ef8bf4fe36c952972a62484152 /clang/unittests/Rename/RenameFunctionTest.cpp
parent487ab869422b1eb7be932eb70445d9d0541fdce1 (diff)
downloadbcm5719-llvm-54e84b39669dbdae65cc2f4e33d032784bc41353.tar.gz
bcm5719-llvm-54e84b39669dbdae65cc2f4e33d032784bc41353.zip
[rename] Don't overwrite the template argument when renaming a template function.
Reviewers: ioeric Reviewed By: ioeric Subscribers: cierpuchaw, cfe-commits, klimek Differential Revision: https://reviews.llvm.org/D39120 llvm-svn: 316314
Diffstat (limited to 'clang/unittests/Rename/RenameFunctionTest.cpp')
-rw-r--r--clang/unittests/Rename/RenameFunctionTest.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/clang/unittests/Rename/RenameFunctionTest.cpp b/clang/unittests/Rename/RenameFunctionTest.cpp
index ef84b4bdb72..b27bbe273af 100644
--- a/clang/unittests/Rename/RenameFunctionTest.cpp
+++ b/clang/unittests/Rename/RenameFunctionTest.cpp
@@ -220,6 +220,25 @@ TEST_F(RenameFunctionTest, RenameFunctionDecls) {
CompareSnippets(Expected, After);
}
+TEST_F(RenameFunctionTest, RenameTemplateFunctions) {
+ std::string Before = R"(
+ namespace na {
+ template<typename T> T X();
+ }
+ namespace na { void f() { X<int>(); } }
+ namespace nb { void g() { na::X <int>(); } }
+ )";
+ std::string Expected = R"(
+ namespace na {
+ template<typename T> T Y();
+ }
+ namespace na { void f() { nb::Y<int>(); } }
+ namespace nb { void g() { Y<int>(); } }
+ )";
+ std::string After = runClangRenameOnCode(Before, "na::X", "nb::Y");
+ CompareSnippets(Expected, After);
+}
+
TEST_F(RenameFunctionTest, RenameOutOfLineFunctionDecls) {
std::string Before = R"(
namespace na {
OpenPOWER on IntegriCloud