summaryrefslogtreecommitdiffstats
path: root/clang-tools-extra/unittests/clang-move/ClangMoveTests.cpp
diff options
context:
space:
mode:
authorHaojian Wu <hokein@google.com>2016-12-13 15:35:47 +0000
committerHaojian Wu <hokein@google.com>2016-12-13 15:35:47 +0000
commitdc4edba5761d89ac86783483ade008a76e503cc4 (patch)
tree31ef23c76ea50b2ddbcefca1a37b294269fbf6a8 /clang-tools-extra/unittests/clang-move/ClangMoveTests.cpp
parent79d1255e26a3ce270e6227a73f1bb549ba496b7e (diff)
downloadbcm5719-llvm-dc4edba5761d89ac86783483ade008a76e503cc4.tar.gz
bcm5719-llvm-dc4edba5761d89ac86783483ade008a76e503cc4.zip
[clang-move] Fix incorrect EndLoc for declarations in macros.
Reviewers: ioeric Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D27713 llvm-svn: 289541
Diffstat (limited to 'clang-tools-extra/unittests/clang-move/ClangMoveTests.cpp')
-rw-r--r--clang-tools-extra/unittests/clang-move/ClangMoveTests.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/clang-tools-extra/unittests/clang-move/ClangMoveTests.cpp b/clang-tools-extra/unittests/clang-move/ClangMoveTests.cpp
index 3c4a9b591dc..11d14eca1de 100644
--- a/clang-tools-extra/unittests/clang-move/ClangMoveTests.cpp
+++ b/clang-tools-extra/unittests/clang-move/ClangMoveTests.cpp
@@ -386,6 +386,24 @@ TEST(ClangMove, MacroInFunction) {
EXPECT_EQ(ExpectedNewCode, Results[Spec.NewCC]);
}
+TEST(ClangMove, DefinitionInMacro) {
+ const char TestHeader[] = "#define DEF(CLASS) void CLASS##_::f() {}\n"
+ "class A_ {\nvoid f();\n};\n"
+ "class B {};\n";
+ const char TestCode[] = "#include \"foo.h\"\n"
+ "DEF(A)\n";
+ const char ExpectedNewCode[] = "#include \"new_foo.h\"\n\n"
+ "DEF(A)\n";
+ move::MoveDefinitionSpec Spec;
+ Spec.Names.push_back("A_");
+ Spec.OldHeader = "foo.h";
+ Spec.OldCC = "foo.cc";
+ Spec.NewHeader = "new_foo.h";
+ Spec.NewCC = "new_foo.cc";
+ auto Results = runClangMoveOnCode(Spec, TestHeader, TestCode);
+ EXPECT_EQ(ExpectedNewCode, Results[Spec.NewCC]);
+}
+
TEST(ClangMove, WellFormattedCode) {
const std::string CommonHeader =
"namespace a {\n"
OpenPOWER on IntegriCloud