diff options
| author | Haojian Wu <hokein@google.com> | 2016-12-13 15:35:47 +0000 |
|---|---|---|
| committer | Haojian Wu <hokein@google.com> | 2016-12-13 15:35:47 +0000 |
| commit | dc4edba5761d89ac86783483ade008a76e503cc4 (patch) | |
| tree | 31ef23c76ea50b2ddbcefca1a37b294269fbf6a8 /clang-tools-extra/unittests/clang-move/ClangMoveTests.cpp | |
| parent | 79d1255e26a3ce270e6227a73f1bb549ba496b7e (diff) | |
| download | bcm5719-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.cpp | 18 |
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" |

