diff options
author | Haojian Wu <hokein@google.com> | 2017-10-23 08:58:50 +0000 |
---|---|---|
committer | Haojian Wu <hokein@google.com> | 2017-10-23 08:58:50 +0000 |
commit | 54e84b39669dbdae65cc2f4e33d032784bc41353 (patch) | |
tree | 65750b3516ec86ef8bf4fe36c952972a62484152 /clang/unittests/Rename/RenameFunctionTest.cpp | |
parent | 487ab869422b1eb7be932eb70445d9d0541fdce1 (diff) | |
download | bcm5719-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.cpp | 19 |
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 { |