summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--clang-tools-extra/include-fixer/find-all-symbols/PathConfig.cpp2
-rw-r--r--clang-tools-extra/include-fixer/find-all-symbols/tool/FindAllSymbolsMain.cpp3
-rw-r--r--clang-tools-extra/test/include-fixer/include_path.cpp14
-rw-r--r--clang-tools-extra/unittests/include-fixer/find-all-symbols/FindAllSymbolsTests.cpp2
4 files changed, 13 insertions, 8 deletions
diff --git a/clang-tools-extra/include-fixer/find-all-symbols/PathConfig.cpp b/clang-tools-extra/include-fixer/find-all-symbols/PathConfig.cpp
index 73d1581d4ac..de799b99904 100644
--- a/clang-tools-extra/include-fixer/find-all-symbols/PathConfig.cpp
+++ b/clang-tools-extra/include-fixer/find-all-symbols/PathConfig.cpp
@@ -33,7 +33,7 @@ std::string getIncludePath(const SourceManager &SM, SourceLocation Loc,
if (Collector)
FilePath = Collector->getMappedHeader(FilePath);
SmallString<256> CleanedFilePath = FilePath;
- llvm::sys::path::remove_dots(CleanedFilePath, /*remove_dot_dot=*/true);
+ llvm::sys::path::remove_dots(CleanedFilePath, /*remove_dot_dot=*/false);
return CleanedFilePath.str();
}
diff --git a/clang-tools-extra/include-fixer/find-all-symbols/tool/FindAllSymbolsMain.cpp b/clang-tools-extra/include-fixer/find-all-symbols/tool/FindAllSymbolsMain.cpp
index 08a869fc062..28c621a02ca 100644
--- a/clang-tools-extra/include-fixer/find-all-symbols/tool/FindAllSymbolsMain.cpp
+++ b/clang-tools-extra/include-fixer/find-all-symbols/tool/FindAllSymbolsMain.cpp
@@ -158,6 +158,5 @@ int main(int argc, const char **argv) {
auto Factory =
llvm::make_unique<clang::find_all_symbols::FindAllSymbolsActionFactory>(
&Reporter, clang::find_all_symbols::getSTLPostfixHeaderMap());
- Tool.run(Factory.get());
- return 0;
+ return Tool.run(Factory.get());
}
diff --git a/clang-tools-extra/test/include-fixer/include_path.cpp b/clang-tools-extra/test/include-fixer/include_path.cpp
index b1b6329b961..31ae52eb122 100644
--- a/clang-tools-extra/test/include-fixer/include_path.cpp
+++ b/clang-tools-extra/test/include-fixer/include_path.cpp
@@ -1,14 +1,20 @@
// REQUIRES: shell
// RUN: mkdir -p %T/include-fixer/include
+// RUN: mkdir -p %T/include-fixer/symbols
// RUN: mkdir -p %T/include-fixer/build
// RUN: mkdir -p %T/include-fixer/src
// RUN: sed 's|test_dir|%T/include-fixer|g' %S/Inputs/database_template.json > %T/include-fixer/build/compile_commands.json
-// RUN: cp %S/Inputs/fake_yaml_db.yaml %T/include-fixer/build/fake_yaml_db.yaml
-// RUN: echo 'b::a::bar f;' > %T/include-fixer/src/bar.cpp
-// RUN: touch %T/include-fixer/include/bar.h
+// RUN: echo -e '#include "bar.h"\nb::a::bar f;' > %T/include-fixer/src/bar.cpp
+// RUN: echo 'namespace b { namespace a { class bar {}; } }' > %T/include-fixer/include/bar.h
// RUN: cd %T/include-fixer/build
-// RUN: clang-include-fixer -db=yaml -input=fake_yaml_db.yaml -minimize-paths=true -p=. %T/include-fixer/src/bar.cpp
+// RUN: find-all-symbols -output-dir=%T/include-fixer/symbols -p=. %T/include-fixer/src/bar.cpp
+// RUN: find-all-symbols -merge-dir=%T/include-fixer/symbols %T/include-fixer/build/find_all_symbols.yaml
+// RUN: FileCheck -input-file=%T/include-fixer/build/find_all_symbols.yaml -check-prefix=CHECK-YAML %s
+//
+// RUN: echo 'b::a::bar f;' > %T/include-fixer/src/bar.cpp
+// RUN: clang-include-fixer -db=yaml -input=%T/include-fixer/build/find_all_symbols.yaml -minimize-paths=true -p=. %T/include-fixer/src/bar.cpp
// RUN: FileCheck -input-file=%T/include-fixer/src/bar.cpp %s
+// CHECK-YAML: ../include/bar.h
// CHECK: #include "bar.h"
// CHECK: b::a::bar f;
diff --git a/clang-tools-extra/unittests/include-fixer/find-all-symbols/FindAllSymbolsTests.cpp b/clang-tools-extra/unittests/include-fixer/find-all-symbols/FindAllSymbolsTests.cpp
index 4a78f20650b..a034088d2b2 100644
--- a/clang-tools-extra/unittests/include-fixer/find-all-symbols/FindAllSymbolsTests.cpp
+++ b/clang-tools-extra/unittests/include-fixer/find-all-symbols/FindAllSymbolsTests.cpp
@@ -105,7 +105,7 @@ public:
"#include \"internal/internal.h\"";
#if !defined(_MSC_VER) && !defined(__MINGW32__)
// Test path cleaning for both decls and macros.
- const std::string DirtyHeader = "./internal/../internal/./a/b.h";
+ const std::string DirtyHeader = "./internal/./a/b.h";
Content += "\n#include \"" + DirtyHeader + "\"";
const std::string CleanHeader = "internal/a/b.h";
const std::string DirtyHeaderContent =
OpenPOWER on IntegriCloud