]> git.pld-linux.org Git - packages/qt-creator.git/blame - llvm10.patch
- release 3 (by relup.sh)
[packages/qt-creator.git] / llvm10.patch
CommitLineData
87fcbcc4
JP
1From 44023c8f43fd8daf8b7be305ea6d99b8b56fa551 Mon Sep 17 00:00:00 2001
2From: Orgad Shaneh <orgad.shaneh@audiocodes.com>
3Date: Mon, 17 Feb 2020 23:21:17 +0200
4Subject: [PATCH] Clang: Fix build with Clang/LLVM 10
5
6Change-Id: I740286c9dcfd325b1c31ab863fb5c91bf9c6ec70
7Reviewed-by: hjk <hjk@qt.io>
8---
9 src/plugins/clangformat/clangformatutils.cpp | 8 ++++++
10 .../source/collectbuilddependencytoolaction.h | 17 ++++++++++-
11 .../source/collectusedmacroactionfactory.h | 12 ++++++++
12 .../source/generatepchactionfactory.h | 7 +++++
13 .../source/clangquery.cpp | 3 +-
14 .../source/collectsymbolsaction.h | 6 +++-
15 .../source/indexdataconsumer.cpp | 28 +++++++++++++------
16 .../source/indexdataconsumer.h | 28 +++++++++++++------
17 .../source/symbolscollector.cpp | 4 +++
18 9 files changed, 92 insertions(+), 21 deletions(-)
19
20diff --git a/src/plugins/clangformat/clangformatutils.cpp b/src/plugins/clangformat/clangformatutils.cpp
21index f087f77a948..0a32d3a9297 100644
22--- a/src/plugins/clangformat/clangformatutils.cpp
23+++ b/src/plugins/clangformat/clangformatutils.cpp
24@@ -57,7 +57,11 @@ static clang::format::FormatStyle qtcStyle()
25 style.AlignOperands = true;
26 style.AlignTrailingComments = true;
27 style.AllowAllParametersOfDeclarationOnNextLine = true;
28+#if LLVM_VERSION_MAJOR >= 10
29+ style.AllowShortBlocksOnASingleLine = FormatStyle::SBS_Never;
30+#else
31 style.AllowShortBlocksOnASingleLine = false;
32+#endif
33 style.AllowShortCaseLabelsOnASingleLine = false;
34 style.AllowShortFunctionsOnASingleLine = FormatStyle::SFS_Inline;
35 #if LLVM_VERSION_MAJOR >= 9
36@@ -72,7 +76,11 @@ static clang::format::FormatStyle qtcStyle()
37 style.BinPackArguments = false;
38 style.BinPackParameters = false;
39 style.BraceWrapping.AfterClass = true;
40+#if LLVM_VERSION_MAJOR >= 10
41+ style.BraceWrapping.AfterControlStatement = FormatStyle::BWACS_Never;
42+#else
43 style.BraceWrapping.AfterControlStatement = false;
44+#endif
45 style.BraceWrapping.AfterEnum = false;
46 style.BraceWrapping.AfterFunction = true;
47 style.BraceWrapping.AfterNamespace = false;
48diff --git a/src/tools/clangpchmanagerbackend/source/collectbuilddependencytoolaction.h b/src/tools/clangpchmanagerbackend/source/collectbuilddependencytoolaction.h
49index 538f2c7d3fa..88ed3d23448 100644
50--- a/src/tools/clangpchmanagerbackend/source/collectbuilddependencytoolaction.h
51+++ b/src/tools/clangpchmanagerbackend/source/collectbuilddependencytoolaction.h
52@@ -60,6 +60,16 @@ class CollectBuildDependencyToolAction final : public clang::tooling::FrontendAc
53 diagnosticConsumer);
54 }
55
56+#if LLVM_VERSION_MAJOR >= 10
57+ std::unique_ptr<clang::FrontendAction> create() override
58+ {
59+ return std::make_unique<CollectBuildDependencyAction>(
60+ m_buildDependency,
61+ m_filePathCache,
62+ m_excludedIncludeUIDs,
63+ m_alreadyIncludedFileUIDs);
64+ }
65+#else
66 clang::FrontendAction *create() override
67 {
68 return new CollectBuildDependencyAction(m_buildDependency,
69@@ -67,6 +77,7 @@ class CollectBuildDependencyToolAction final : public clang::tooling::FrontendAc
70 m_excludedIncludeUIDs,
71 m_alreadyIncludedFileUIDs);
72 }
73+#endif
74
75 std::vector<uint> generateExcludedIncludeFileUIDs(clang::FileManager &fileManager) const
76 {
77@@ -77,7 +88,11 @@ class CollectBuildDependencyToolAction final : public clang::tooling::FrontendAc
78 NativeFilePath nativeFilePath{filePath};
79 const clang::FileEntry *file = fileManager.getFile({nativeFilePath.path().data(),
80 nativeFilePath.path().size()},
81- true);
82+ true)
83+#if LLVM_VERSION_MAJOR >= 10
84+ .get()
85+#endif
86+ ;
87
88 if (file)
89 fileUIDs.push_back(file->getUID());
90diff --git a/src/tools/clangpchmanagerbackend/source/collectusedmacroactionfactory.h b/src/tools/clangpchmanagerbackend/source/collectusedmacroactionfactory.h
91index 423d5f88764..473b8e7df8a 100644
92--- a/src/tools/clangpchmanagerbackend/source/collectusedmacroactionfactory.h
93+++ b/src/tools/clangpchmanagerbackend/source/collectusedmacroactionfactory.h
94@@ -61,6 +61,17 @@ class CollectUsedMacrosToolActionFactory final : public clang::tooling::Frontend
95 diagnosticConsumer);
96 }
97
98+#if LLVM_VERSION_MAJOR >= 10
99+ std::unique_ptr<clang::FrontendAction> create() override
100+ {
101+ return std::make_unique<CollectUsedMacrosAction>(
102+ m_usedMacros,
103+ m_filePathCache,
104+ m_sourceDependencies,
105+ m_sourceFiles,
106+ m_fileStatuses);
107+ }
108+#else
109 clang::FrontendAction *create() override
110 {
111 return new CollectUsedMacrosAction(m_usedMacros,
112@@ -69,6 +80,7 @@ class CollectUsedMacrosToolActionFactory final : public clang::tooling::Frontend
113 m_sourceFiles,
114 m_fileStatuses);
115 }
116+#endif
117
118 private:
119 UsedMacros &m_usedMacros;
120diff --git a/src/tools/clangpchmanagerbackend/source/generatepchactionfactory.h b/src/tools/clangpchmanagerbackend/source/generatepchactionfactory.h
121index c4a8cae0286..f1e4c74457e 100644
122--- a/src/tools/clangpchmanagerbackend/source/generatepchactionfactory.h
123+++ b/src/tools/clangpchmanagerbackend/source/generatepchactionfactory.h
124@@ -68,10 +68,17 @@ class GeneratePCHActionFactory final : public clang::tooling::FrontendActionFact
125 , m_fileContent(fileContent)
126 {}
127
128+#if LLVM_VERSION_MAJOR >= 10
129+ std::unique_ptr<clang::FrontendAction> create() override
130+ {
131+ return std::make_unique<GeneratePCHAction>(m_filePath, m_fileContent);
132+ }
133+#else
134 clang::FrontendAction *create() override
135 {
136 return new GeneratePCHAction{m_filePath, m_fileContent};
137 }
138+#endif
139
140 private:
141 llvm::StringRef m_filePath;
142diff --git a/src/tools/clangrefactoringbackend/source/clangquery.cpp b/src/tools/clangrefactoringbackend/source/clangquery.cpp
143index 21ebeb83674..78f2350d8de 100644
144--- a/src/tools/clangrefactoringbackend/source/clangquery.cpp
145+++ b/src/tools/clangrefactoringbackend/source/clangquery.cpp
146@@ -78,7 +78,8 @@ void ClangQuery::findLocations()
147 std::make_move_iterator(asts.end()),
148 [&] (std::unique_ptr<clang::ASTUnit> &&ast) {
149 Diagnostics diagnostics;
150- auto optionalMatcher = Parser::parseMatcherExpression({m_query.data(), m_query.size()},
151+ llvm::StringRef query{m_query.data(), m_query.size()};
152+ auto optionalMatcher = Parser::parseMatcherExpression(query,
153 nullptr,
154 &diagnostics);
155 parseDiagnostics(diagnostics);
156diff --git a/src/tools/clangrefactoringbackend/source/collectsymbolsaction.h b/src/tools/clangrefactoringbackend/source/collectsymbolsaction.h
157index a38f1c4f879..4f36adadf5f 100644
158--- a/src/tools/clangrefactoringbackend/source/collectsymbolsaction.h
159+++ b/src/tools/clangrefactoringbackend/source/collectsymbolsaction.h
160@@ -48,7 +48,11 @@ class CollectSymbolsAction : public clang::WrapperFrontendAction
161 public:
162 CollectSymbolsAction(std::shared_ptr<IndexDataConsumer> indexDataConsumer)
163 : clang::WrapperFrontendAction(
164- clang::index::createIndexingAction(indexDataConsumer, createIndexingOptions(), nullptr))
165+ clang::index::createIndexingAction(indexDataConsumer, createIndexingOptions()
166+#if LLVM_VERSION_MAJOR < 10
167+ , nullptr
168+#endif
169+ ))
170 , m_indexDataConsumer(indexDataConsumer)
171 {}
172
173diff --git a/src/tools/clangrefactoringbackend/source/indexdataconsumer.cpp b/src/tools/clangrefactoringbackend/source/indexdataconsumer.cpp
174index e2871444625..5d21b30b9c2 100644
175--- a/src/tools/clangrefactoringbackend/source/indexdataconsumer.cpp
176+++ b/src/tools/clangrefactoringbackend/source/indexdataconsumer.cpp
177@@ -118,11 +118,16 @@ bool IndexDataConsumer::isAlreadyParsed(clang::FileID fileId, SourcesManager &so
178 return sourcesManager.alreadyParsed(filePathId(fileEntry), fileEntry->getModificationTime());
179 }
180
181-bool IndexDataConsumer::handleDeclOccurence(const clang::Decl *declaration,
182- clang::index::SymbolRoleSet symbolRoles,
183- llvm::ArrayRef<clang::index::SymbolRelation> /*symbolRelations*/,
184- clang::SourceLocation sourceLocation,
185- IndexDataConsumer::ASTNodeInfo /*astNodeInfo*/)
186+#if LLVM_VERSION_MAJOR >= 10
187+ bool IndexDataConsumer::handleDeclOccurrence(
188+#else
189+ bool IndexDataConsumer::handleDeclOccurence(
190+#endif
191+ const clang::Decl *declaration,
192+ clang::index::SymbolRoleSet symbolRoles,
193+ llvm::ArrayRef<clang::index::SymbolRelation> /*symbolRelations*/,
194+ clang::SourceLocation sourceLocation,
195+ IndexDataConsumer::ASTNodeInfo /*astNodeInfo*/)
196 {
197 const auto *namedDeclaration = clang::dyn_cast<clang::NamedDecl>(declaration);
198 if (namedDeclaration) {
199@@ -175,10 +180,15 @@ SourceLocationKind macroSymbolType(clang::index::SymbolRoleSet roles)
200
201 } // namespace
202
203-bool IndexDataConsumer::handleMacroOccurence(const clang::IdentifierInfo *identifierInfo,
204- const clang::MacroInfo *macroInfo,
205- clang::index::SymbolRoleSet roles,
206- clang::SourceLocation sourceLocation)
207+#if LLVM_VERSION_MAJOR >= 10
208+bool IndexDataConsumer::handleMacroOccurrence(
209+#else
210+bool IndexDataConsumer::handleMacroOccurence(
211+#endif
212+ const clang::IdentifierInfo *identifierInfo,
213+ const clang::MacroInfo *macroInfo,
214+ clang::index::SymbolRoleSet roles,
215+ clang::SourceLocation sourceLocation)
216 {
217 if (macroInfo && sourceLocation.isFileID()
218 && !isAlreadyParsed(m_sourceManager->getFileID(sourceLocation), m_macroSourcesManager)
219diff --git a/src/tools/clangrefactoringbackend/source/indexdataconsumer.h b/src/tools/clangrefactoringbackend/source/indexdataconsumer.h
220index c80e066b6c1..e1d3529806e 100644
221--- a/src/tools/clangrefactoringbackend/source/indexdataconsumer.h
222+++ b/src/tools/clangrefactoringbackend/source/indexdataconsumer.h
223@@ -57,16 +57,26 @@ class IndexDataConsumer : public clang::index::IndexDataConsumer,
224 IndexDataConsumer(const IndexDataConsumer &) = delete;
225 IndexDataConsumer &operator=(const IndexDataConsumer &) = delete;
226
227- bool handleDeclOccurence(const clang::Decl *declaration,
228- clang::index::SymbolRoleSet symbolRoles,
229- llvm::ArrayRef<clang::index::SymbolRelation> symbolRelations,
230- clang::SourceLocation sourceLocation,
231- ASTNodeInfo astNodeInfo) override;
232+#if LLVM_VERSION_MAJOR >= 10
233+ bool handleDeclOccurrence(
234+#else
235+ bool handleDeclOccurence(
236+#endif
237+ const clang::Decl *declaration,
238+ clang::index::SymbolRoleSet symbolRoles,
239+ llvm::ArrayRef<clang::index::SymbolRelation> symbolRelations,
240+ clang::SourceLocation sourceLocation,
241+ ASTNodeInfo astNodeInfo) override;
242
243- bool handleMacroOccurence(const clang::IdentifierInfo *identifierInfo,
244- const clang::MacroInfo *macroInfo,
245- clang::index::SymbolRoleSet roles,
246- clang::SourceLocation sourceLocation) override;
247+#if LLVM_VERSION_MAJOR >= 10
248+ bool handleMacroOccurrence(
249+#else
250+ bool handleMacroOccurence(
251+#endif
252+ const clang::IdentifierInfo *identifierInfo,
253+ const clang::MacroInfo *macroInfo,
254+ clang::index::SymbolRoleSet roles,
255+ clang::SourceLocation sourceLocation) override;
256
257 void finish() override;
258
259diff --git a/src/tools/clangrefactoringbackend/source/symbolscollector.cpp b/src/tools/clangrefactoringbackend/source/symbolscollector.cpp
260index a233f6d8fe5..dffd5838944 100644
261--- a/src/tools/clangrefactoringbackend/source/symbolscollector.cpp
262+++ b/src/tools/clangrefactoringbackend/source/symbolscollector.cpp
263@@ -74,7 +74,11 @@ std::unique_ptr<clang::tooling::FrontendActionFactory> newFrontendActionFactory(
264 : m_action(consumerFactory)
265 {}
266
267+#if LLVM_VERSION_MAJOR >= 10
268+ std::unique_ptr<clang::FrontendAction> create() override { return std::make_unique<AdaptorAction>(m_action); }
269+#else
270 clang::FrontendAction *create() override { return new AdaptorAction(m_action); }
271+#endif
272
273 private:
274 class AdaptorAction : public clang::ASTFrontendAction
This page took 0.089821 seconds and 4 git commands to generate.