@@ -179,10 +179,10 @@ class ErrorReporter {
179
179
180
180
class ClangTidyASTConsumer : public MultiplexConsumer {
181
181
public:
182
- ClangTidyASTConsumer (const SmallVectorImpl< ASTConsumer *> & Consumers,
182
+ ClangTidyASTConsumer (std::vector<std::unique_ptr< ASTConsumer>> Consumers,
183
183
std::unique_ptr<ast_matchers::MatchFinder> Finder,
184
184
std::vector<std::unique_ptr<ClangTidyCheck>> Checks)
185
- : MultiplexConsumer(Consumers), Finder(std::move(Finder)),
185
+ : MultiplexConsumer(std::move( Consumers) ), Finder(std::move(Finder)),
186
186
Checks (std::move(Checks)) {}
187
187
188
188
private:
@@ -203,8 +203,8 @@ ClangTidyASTConsumerFactory::ClangTidyASTConsumerFactory(
203
203
}
204
204
}
205
205
206
-
207
- clang::ASTConsumer * ClangTidyASTConsumerFactory::CreateASTConsumer (
206
+ std::unique_ptr<clang::ASTConsumer>
207
+ ClangTidyASTConsumerFactory::CreateASTConsumer (
208
208
clang::CompilerInstance &Compiler, StringRef File) {
209
209
// FIXME: Move this to a separate method, so that CreateASTConsumer doesn't
210
210
// modify Compiler.
@@ -224,7 +224,7 @@ clang::ASTConsumer *ClangTidyASTConsumerFactory::CreateASTConsumer(
224
224
Check->registerPPCallbacks (Compiler);
225
225
}
226
226
227
- SmallVector< ASTConsumer *, 2 > Consumers;
227
+ std::vector<std::unique_ptr< ASTConsumer> > Consumers;
228
228
if (!Checks.empty ())
229
229
Consumers.push_back (Finder->newASTConsumer ());
230
230
@@ -240,15 +240,16 @@ clang::ASTConsumer *ClangTidyASTConsumerFactory::CreateASTConsumer(
240
240
AnalyzerOptions->AnalysisDiagOpt = PD_NONE;
241
241
AnalyzerOptions->AnalyzeNestedBlocks = true ;
242
242
AnalyzerOptions->eagerlyAssumeBinOpBifurcation = true ;
243
- ento::AnalysisASTConsumer *AnalysisConsumer = ento::CreateAnalysisConsumer (
244
- Compiler.getPreprocessor (), Compiler.getFrontendOpts ().OutputFile ,
245
- AnalyzerOptions, Compiler.getFrontendOpts ().Plugins );
243
+ std::unique_ptr<ento::AnalysisASTConsumer> AnalysisConsumer =
244
+ ento::CreateAnalysisConsumer (
245
+ Compiler.getPreprocessor (), Compiler.getFrontendOpts ().OutputFile ,
246
+ AnalyzerOptions, Compiler.getFrontendOpts ().Plugins );
246
247
AnalysisConsumer->AddDiagnosticConsumer (
247
248
new AnalyzerDiagnosticConsumer (Context));
248
- Consumers.push_back (AnalysisConsumer);
249
+ Consumers.push_back (std::move ( AnalysisConsumer) );
249
250
}
250
- return new ClangTidyASTConsumer (Consumers, std::move (Finder),
251
- std::move (Checks));
251
+ return llvm::make_unique<ClangTidyASTConsumer>(
252
+ std::move (Consumers), std::move (Finder), std::move (Checks));
252
253
}
253
254
254
255
std::vector<std::string>
@@ -339,8 +340,8 @@ ClangTidyStats runClangTidy(ClangTidyOptionsProvider *OptionsProvider,
339
340
class Action : public ASTFrontendAction {
340
341
public:
341
342
Action (ClangTidyASTConsumerFactory *Factory) : Factory(Factory) {}
342
- ASTConsumer * CreateASTConsumer (CompilerInstance &Compiler,
343
- StringRef File) override {
343
+ std::unique_ptr< ASTConsumer> CreateASTConsumer (CompilerInstance &Compiler,
344
+ StringRef File) override {
344
345
return Factory->CreateASTConsumer (Compiler, File);
345
346
}
346
347
0 commit comments