Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 649676 Details for
Bug 711788
dev-qt/qt-creator-4.10.1[clang] fails to link with sys-devel/clang:10
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
qt-creator-4.10.1-llvm10.patch
qt-creator-4.10.1-llvm10.patch (text/plain), 12.64 KB, created by
Fabio Rossi
on 2020-07-17 09:14:50 UTC
(
hide
)
Description:
qt-creator-4.10.1-llvm10.patch
Filename:
MIME Type:
Creator:
Fabio Rossi
Created:
2020-07-17 09:14:50 UTC
Size:
12.64 KB
patch
obsolete
>From 44023c8f43fd8daf8b7be305ea6d99b8b56fa551 Mon Sep 17 00:00:00 2001 >From: Orgad Shaneh <orgad.shaneh@audiocodes.com> >Date: Mon, 17 Feb 2020 23:21:17 +0200 >Subject: Clang: Fix build with Clang/LLVM 10 > >Change-Id: I740286c9dcfd325b1c31ab863fb5c91bf9c6ec70 >Reviewed-by: hjk <hjk@qt.io> >--- > src/plugins/clangformat/clangformatutils.cpp | 8 +++++++ > .../source/collectbuilddependencytoolaction.h | 17 ++++++++++++- > .../source/collectusedmacroactionfactory.h | 12 ++++++++++ > .../source/generatepchactionfactory.h | 7 ++++++ > .../clangrefactoringbackend/source/clangquery.cpp | 3 ++- > .../source/collectsymbolsaction.h | 6 ++++- > .../source/indexdataconsumer.cpp | 28 +++++++++++++++------- > .../source/indexdataconsumer.h | 28 +++++++++++++++------- > .../source/symbolscollector.cpp | 4 ++++ > 9 files changed, 92 insertions(+), 21 deletions(-) > >diff --git a/src/plugins/clangformat/clangformatutils.cpp b/src/plugins/clangformat/clangformatutils.cpp >index f087f77a94..0a32d3a929 100644 >--- a/src/plugins/clangformat/clangformatutils.cpp >+++ b/src/plugins/clangformat/clangformatutils.cpp >@@ -57,7 +57,11 @@ static clang::format::FormatStyle qtcStyle() > style.AlignOperands = true; > style.AlignTrailingComments = true; > style.AllowAllParametersOfDeclarationOnNextLine = true; >+#if LLVM_VERSION_MAJOR >= 10 >+ style.AllowShortBlocksOnASingleLine = FormatStyle::SBS_Never; >+#else > style.AllowShortBlocksOnASingleLine = false; >+#endif > style.AllowShortCaseLabelsOnASingleLine = false; > style.AllowShortFunctionsOnASingleLine = FormatStyle::SFS_Inline; > #if LLVM_VERSION_MAJOR >= 9 >@@ -72,7 +76,11 @@ static clang::format::FormatStyle qtcStyle() > style.BinPackArguments = false; > style.BinPackParameters = false; > style.BraceWrapping.AfterClass = true; >+#if LLVM_VERSION_MAJOR >= 10 >+ style.BraceWrapping.AfterControlStatement = FormatStyle::BWACS_Never; >+#else > style.BraceWrapping.AfterControlStatement = false; >+#endif > style.BraceWrapping.AfterEnum = false; > style.BraceWrapping.AfterFunction = true; > style.BraceWrapping.AfterNamespace = false; >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 >-- >cgit v1.2.1 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 711788
:
617402
|
649674
| 649676