summaryrefslogtreecommitdiff
path: root/src/tools/clangpchmanagerbackend
diff options
context:
space:
mode:
authorIvan Donchevskii <ivan.donchevskii@qt.io>2019-01-31 10:30:58 +0100
committerIvan Donchevskii <ivan.donchevskii@qt.io>2019-02-07 15:03:39 +0000
commitdd778bcb2388bdc643e1d5eb5ce60c03cee2719b (patch)
tree99f53071034dd48b3ad6df63750f0dc2f72cdf37 /src/tools/clangpchmanagerbackend
parent874dde6863129ce5b236a8c7b08e75aec2d5f5dc (diff)
downloadqt-creator-dd778bcb2388bdc643e1d5eb5ce60c03cee2719b.tar.gz
Clang: Use full paths in compilation database for symbol collector
We we FilePath and NativeFilePath so that compiler warns us if we mix them up. Change-Id: I33d7abc7e4e724dff2a9b2b9b23deea8b358ccfd Reviewed-by: Marco Bubke <marco.bubke@qt.io>
Diffstat (limited to 'src/tools/clangpchmanagerbackend')
-rw-r--r--src/tools/clangpchmanagerbackend/source/pchcreator.cpp17
-rw-r--r--src/tools/clangpchmanagerbackend/source/pchcreator.h2
2 files changed, 10 insertions, 9 deletions
diff --git a/src/tools/clangpchmanagerbackend/source/pchcreator.cpp b/src/tools/clangpchmanagerbackend/source/pchcreator.cpp
index 777252dece..4333d5706a 100644
--- a/src/tools/clangpchmanagerbackend/source/pchcreator.cpp
+++ b/src/tools/clangpchmanagerbackend/source/pchcreator.cpp
@@ -94,10 +94,9 @@ FilePath PchCreator::generatePchFilePath() const
".pch"}};
}
-std::vector<std::string> PchCreator::generateClangCompilerArguments(
- const PchTask &pchTask,
- FilePathView sourceFilePath,
- FilePathView pchOutputPath)
+Utils::SmallStringVector PchCreator::generateClangCompilerArguments(const PchTask &pchTask,
+ FilePathView sourceFilePath,
+ FilePathView pchOutputPath)
{
CommandLineBuilder<PchTask> builder{pchTask,
pchTask.toolChainArguments,
@@ -114,10 +113,12 @@ void PchCreator::generatePch(PchTask &&pchTask)
auto content = generatePchIncludeFileContent(pchTask.includes);
auto pchOutputPath = generatePchFilePath();
- m_clangTool.addFile(m_environment.pchBuildDirectory().toStdString(),
- "dummy.h",
- Utils::SmallStringView(content),
- generateClangCompilerArguments(pchTask, "dummy.h", pchOutputPath));
+ FilePath headerFilePath{m_environment.pchBuildDirectory().toStdString(), "dummy.h"};
+ Utils::SmallStringVector commandLine = generateClangCompilerArguments(pchTask,
+ headerFilePath,
+ pchOutputPath);
+
+ m_clangTool.addFile(std::move(headerFilePath), std::move(content), std::move(commandLine));
bool success = generatePch();
diff --git a/src/tools/clangpchmanagerbackend/source/pchcreator.h b/src/tools/clangpchmanagerbackend/source/pchcreator.h
index 1e36e18b6e..37d0c7c8a1 100644
--- a/src/tools/clangpchmanagerbackend/source/pchcreator.h
+++ b/src/tools/clangpchmanagerbackend/source/pchcreator.h
@@ -84,7 +84,7 @@ public:
bool generatePch();
FilePath generatePchFilePath() const;
- static std::vector<std::string> generateClangCompilerArguments(const PchTask &pchTask,
+ static Utils::SmallStringVector generateClangCompilerArguments(const PchTask &pchTask,
FilePathView includePchHeaderPath,
FilePathView pchPath);