aboutsummaryrefslogtreecommitdiffstats
path: root/src/tools
diff options
context:
space:
mode:
authorOrgad Shaneh <orgad.shaneh@audiocodes.com>2020-02-17 23:21:17 +0200
committerOrgad Shaneh <orgads@gmail.com>2020-02-20 17:30:27 +0000
commit44023c8f43fd8daf8b7be305ea6d99b8b56fa551 (patch)
treee07d1da59a5eccbb8821b3b72ef9dc72c2f2d99b /src/tools
parent79612417e33335cdfcdb91694c929d92211c6a16 (diff)
Clang: Fix build with Clang/LLVM 10
Change-Id: I740286c9dcfd325b1c31ab863fb5c91bf9c6ec70 Reviewed-by: hjk <hjk@qt.io>
Diffstat (limited to 'src/tools')
-rw-r--r--src/tools/clangpchmanagerbackend/source/collectbuilddependencytoolaction.h17
-rw-r--r--src/tools/clangpchmanagerbackend/source/collectusedmacroactionfactory.h12
-rw-r--r--src/tools/clangpchmanagerbackend/source/generatepchactionfactory.h7
-rw-r--r--src/tools/clangrefactoringbackend/source/clangquery.cpp3
-rw-r--r--src/tools/clangrefactoringbackend/source/collectsymbolsaction.h6
-rw-r--r--src/tools/clangrefactoringbackend/source/indexdataconsumer.cpp28
-rw-r--r--src/tools/clangrefactoringbackend/source/indexdataconsumer.h28
-rw-r--r--src/tools/clangrefactoringbackend/source/symbolscollector.cpp4
8 files changed, 84 insertions, 21 deletions
diff --git a/src/tools/clangpchmanagerbackend/source/collectbuilddependencytoolaction.h b/src/tools/clangpchmanagerbackend/source/collectbuilddependencytoolaction.h
index 538f2c7d3f..88ed3d2344 100644
--- a/src/tools/clangpchmanagerbackend/source/collectbuilddependencytoolaction.h
+++ b/src/tools/clangpchmanagerbackend/source/collectbuilddependencytoolaction.h
@@ -60,6 +60,16 @@ public:
diagnosticConsumer);
}
+#if LLVM_VERSION_MAJOR >= 10
+ std::unique_ptr<clang::FrontendAction> create() override
+ {
+ return std::make_unique<CollectBuildDependencyAction>(
+ m_buildDependency,
+ m_filePathCache,
+ m_excludedIncludeUIDs,
+ m_alreadyIncludedFileUIDs);
+ }
+#else
clang::FrontendAction *create() override
{
return new CollectBuildDependencyAction(m_buildDependency,
@@ -67,6 +77,7 @@ public:
m_excludedIncludeUIDs,
m_alreadyIncludedFileUIDs);
}
+#endif
std::vector<uint> generateExcludedIncludeFileUIDs(clang::FileManager &fileManager) const
{
@@ -77,7 +88,11 @@ public:
NativeFilePath nativeFilePath{filePath};
const clang::FileEntry *file = fileManager.getFile({nativeFilePath.path().data(),
nativeFilePath.path().size()},
- true);
+ true)
+#if LLVM_VERSION_MAJOR >= 10
+ .get()
+#endif
+ ;
if (file)
fileUIDs.push_back(file->getUID());
diff --git a/src/tools/clangpchmanagerbackend/source/collectusedmacroactionfactory.h b/src/tools/clangpchmanagerbackend/source/collectusedmacroactionfactory.h
index 423d5f8876..473b8e7df8 100644
--- a/src/tools/clangpchmanagerbackend/source/collectusedmacroactionfactory.h
+++ b/src/tools/clangpchmanagerbackend/source/collectusedmacroactionfactory.h
@@ -61,6 +61,17 @@ public:
diagnosticConsumer);
}
+#if LLVM_VERSION_MAJOR >= 10
+ std::unique_ptr<clang::FrontendAction> create() override
+ {
+ return std::make_unique<CollectUsedMacrosAction>(
+ m_usedMacros,
+ m_filePathCache,
+ m_sourceDependencies,
+ m_sourceFiles,
+ m_fileStatuses);
+ }
+#else
clang::FrontendAction *create() override
{
return new CollectUsedMacrosAction(m_usedMacros,
@@ -69,6 +80,7 @@ public:
m_sourceFiles,
m_fileStatuses);
}
+#endif
private:
UsedMacros &m_usedMacros;
diff --git a/src/tools/clangpchmanagerbackend/source/generatepchactionfactory.h b/src/tools/clangpchmanagerbackend/source/generatepchactionfactory.h
index c4a8cae028..f1e4c74457 100644
--- a/src/tools/clangpchmanagerbackend/source/generatepchactionfactory.h
+++ b/src/tools/clangpchmanagerbackend/source/generatepchactionfactory.h
@@ -68,10 +68,17 @@ public:
, m_fileContent(fileContent)
{}
+#if LLVM_VERSION_MAJOR >= 10
+ std::unique_ptr<clang::FrontendAction> create() override
+ {
+ return std::make_unique<GeneratePCHAction>(m_filePath, m_fileContent);
+ }
+#else
clang::FrontendAction *create() override
{
return new GeneratePCHAction{m_filePath, m_fileContent};
}
+#endif
private:
llvm::StringRef m_filePath;
diff --git a/src/tools/clangrefactoringbackend/source/clangquery.cpp b/src/tools/clangrefactoringbackend/source/clangquery.cpp
index 21ebeb8367..78f2350d8d 100644
--- a/src/tools/clangrefactoringbackend/source/clangquery.cpp
+++ b/src/tools/clangrefactoringbackend/source/clangquery.cpp
@@ -78,7 +78,8 @@ void ClangQuery::findLocations()
std::make_move_iterator(asts.end()),
[&] (std::unique_ptr<clang::ASTUnit> &&ast) {
Diagnostics diagnostics;
- auto optionalMatcher = Parser::parseMatcherExpression({m_query.data(), m_query.size()},
+ llvm::StringRef query{m_query.data(), m_query.size()};
+ auto optionalMatcher = Parser::parseMatcherExpression(query,
nullptr,
&diagnostics);
parseDiagnostics(diagnostics);
diff --git a/src/tools/clangrefactoringbackend/source/collectsymbolsaction.h b/src/tools/clangrefactoringbackend/source/collectsymbolsaction.h
index a38f1c4f87..4f36adadf5 100644
--- a/src/tools/clangrefactoringbackend/source/collectsymbolsaction.h
+++ b/src/tools/clangrefactoringbackend/source/collectsymbolsaction.h
@@ -48,7 +48,11 @@ class CollectSymbolsAction : public clang::WrapperFrontendAction
public:
CollectSymbolsAction(std::shared_ptr<IndexDataConsumer> indexDataConsumer)
: clang::WrapperFrontendAction(
- clang::index::createIndexingAction(indexDataConsumer, createIndexingOptions(), nullptr))
+ clang::index::createIndexingAction(indexDataConsumer, createIndexingOptions()
+#if LLVM_VERSION_MAJOR < 10
+ , nullptr
+#endif
+ ))
, m_indexDataConsumer(indexDataConsumer)
{}
diff --git a/src/tools/clangrefactoringbackend/source/indexdataconsumer.cpp b/src/tools/clangrefactoringbackend/source/indexdataconsumer.cpp
index e287144462..5d21b30b9c 100644
--- a/src/tools/clangrefactoringbackend/source/indexdataconsumer.cpp
+++ b/src/tools/clangrefactoringbackend/source/indexdataconsumer.cpp
@@ -118,11 +118,16 @@ bool IndexDataConsumer::isAlreadyParsed(clang::FileID fileId, SourcesManager &so
return sourcesManager.alreadyParsed(filePathId(fileEntry), fileEntry->getModificationTime());
}
-bool IndexDataConsumer::handleDeclOccurence(const clang::Decl *declaration,
- clang::index::SymbolRoleSet symbolRoles,
- llvm::ArrayRef<clang::index::SymbolRelation> /*symbolRelations*/,
- clang::SourceLocation sourceLocation,
- IndexDataConsumer::ASTNodeInfo /*astNodeInfo*/)
+#if LLVM_VERSION_MAJOR >= 10
+ bool IndexDataConsumer::handleDeclOccurrence(
+#else
+ bool IndexDataConsumer::handleDeclOccurence(
+#endif
+ const clang::Decl *declaration,
+ clang::index::SymbolRoleSet symbolRoles,
+ llvm::ArrayRef<clang::index::SymbolRelation> /*symbolRelations*/,
+ clang::SourceLocation sourceLocation,
+ IndexDataConsumer::ASTNodeInfo /*astNodeInfo*/)
{
const auto *namedDeclaration = clang::dyn_cast<clang::NamedDecl>(declaration);
if (namedDeclaration) {
@@ -175,10 +180,15 @@ SourceLocationKind macroSymbolType(clang::index::SymbolRoleSet roles)
} // namespace
-bool IndexDataConsumer::handleMacroOccurence(const clang::IdentifierInfo *identifierInfo,
- const clang::MacroInfo *macroInfo,
- clang::index::SymbolRoleSet roles,
- clang::SourceLocation sourceLocation)
+#if LLVM_VERSION_MAJOR >= 10
+bool IndexDataConsumer::handleMacroOccurrence(
+#else
+bool IndexDataConsumer::handleMacroOccurence(
+#endif
+ const clang::IdentifierInfo *identifierInfo,
+ const clang::MacroInfo *macroInfo,
+ clang::index::SymbolRoleSet roles,
+ clang::SourceLocation sourceLocation)
{
if (macroInfo && sourceLocation.isFileID()
&& !isAlreadyParsed(m_sourceManager->getFileID(sourceLocation), m_macroSourcesManager)
diff --git a/src/tools/clangrefactoringbackend/source/indexdataconsumer.h b/src/tools/clangrefactoringbackend/source/indexdataconsumer.h
index c80e066b6c..e1d3529806 100644
--- a/src/tools/clangrefactoringbackend/source/indexdataconsumer.h
+++ b/src/tools/clangrefactoringbackend/source/indexdataconsumer.h
@@ -57,16 +57,26 @@ public:
IndexDataConsumer(const IndexDataConsumer &) = delete;
IndexDataConsumer &operator=(const IndexDataConsumer &) = delete;
- bool handleDeclOccurence(const clang::Decl *declaration,
- clang::index::SymbolRoleSet symbolRoles,
- llvm::ArrayRef<clang::index::SymbolRelation> symbolRelations,
- clang::SourceLocation sourceLocation,
- ASTNodeInfo astNodeInfo) override;
+#if LLVM_VERSION_MAJOR >= 10
+ bool handleDeclOccurrence(
+#else
+ bool handleDeclOccurence(
+#endif
+ const clang::Decl *declaration,
+ clang::index::SymbolRoleSet symbolRoles,
+ llvm::ArrayRef<clang::index::SymbolRelation> symbolRelations,
+ clang::SourceLocation sourceLocation,
+ ASTNodeInfo astNodeInfo) override;
- bool handleMacroOccurence(const clang::IdentifierInfo *identifierInfo,
- const clang::MacroInfo *macroInfo,
- clang::index::SymbolRoleSet roles,
- clang::SourceLocation sourceLocation) override;
+#if LLVM_VERSION_MAJOR >= 10
+ bool handleMacroOccurrence(
+#else
+ bool handleMacroOccurence(
+#endif
+ const clang::IdentifierInfo *identifierInfo,
+ const clang::MacroInfo *macroInfo,
+ clang::index::SymbolRoleSet roles,
+ clang::SourceLocation sourceLocation) override;
void finish() override;
diff --git a/src/tools/clangrefactoringbackend/source/symbolscollector.cpp b/src/tools/clangrefactoringbackend/source/symbolscollector.cpp
index a233f6d8fe..dffd583894 100644
--- a/src/tools/clangrefactoringbackend/source/symbolscollector.cpp
+++ b/src/tools/clangrefactoringbackend/source/symbolscollector.cpp
@@ -74,7 +74,11 @@ std::unique_ptr<clang::tooling::FrontendActionFactory> newFrontendActionFactory(
: m_action(consumerFactory)
{}
+#if LLVM_VERSION_MAJOR >= 10
+ std::unique_ptr<clang::FrontendAction> create() override { return std::make_unique<AdaptorAction>(m_action); }
+#else
clang::FrontendAction *create() override { return new AdaptorAction(m_action); }
+#endif
private:
class AdaptorAction : public clang::ASTFrontendAction