Skip to content

Commit fcca395

Browse files
committed
[clang] NFCI: Change returned AnalyzerOptions smart pointer to reference
1 parent 4aa3377 commit fcca395

File tree

14 files changed

+66
-68
lines changed

14 files changed

+66
-68
lines changed

clang-tools-extra/clang-tidy/ClangTidy.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -435,13 +435,13 @@ ClangTidyASTConsumerFactory::createASTConsumer(
435435
Consumers.push_back(Finder->newASTConsumer());
436436

437437
#if CLANG_TIDY_ENABLE_STATIC_ANALYZER
438-
AnalyzerOptionsRef AnalyzerOptions = Compiler.getAnalyzerOpts();
439-
AnalyzerOptions->CheckersAndPackages = getAnalyzerCheckersAndPackages(
438+
AnalyzerOptions &AnalyzerOptions = Compiler.getAnalyzerOpts();
439+
AnalyzerOptions.CheckersAndPackages = getAnalyzerCheckersAndPackages(
440440
Context, Context.canEnableAnalyzerAlphaCheckers());
441-
if (!AnalyzerOptions->CheckersAndPackages.empty()) {
442-
setStaticAnalyzerCheckerOpts(Context.getOptions(), *AnalyzerOptions);
443-
AnalyzerOptions->AnalysisDiagOpt = PD_NONE;
444-
AnalyzerOptions->eagerlyAssumeBinOpBifurcation = true;
441+
if (!AnalyzerOptions.CheckersAndPackages.empty()) {
442+
setStaticAnalyzerCheckerOpts(Context.getOptions(), AnalyzerOptions);
443+
AnalyzerOptions.AnalysisDiagOpt = PD_NONE;
444+
AnalyzerOptions.eagerlyAssumeBinOpBifurcation = true;
445445
std::unique_ptr<ento::AnalysisASTConsumer> AnalysisConsumer =
446446
ento::CreateAnalysisConsumer(Compiler);
447447
AnalysisConsumer->AddDiagnosticConsumer(

clang/include/clang/Frontend/CompilerInstance.h

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -270,9 +270,7 @@ class CompilerInstance : public ModuleLoader {
270270
/// @name Forwarding Methods
271271
/// {
272272

273-
AnalyzerOptionsRef getAnalyzerOpts() {
274-
return Invocation->getAnalyzerOpts();
275-
}
273+
AnalyzerOptions &getAnalyzerOpts() { return Invocation->getAnalyzerOpts(); }
276274

277275
CodeGenOptions &getCodeGenOpts() {
278276
return Invocation->getCodeGenOpts();

clang/include/clang/Frontend/CompilerInvocation.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,8 @@ class CompilerInvocationRefBase {
136136
return *PreprocessorOpts;
137137
}
138138

139-
AnalyzerOptionsRef getAnalyzerOpts() const { return AnalyzerOpts; }
139+
AnalyzerOptions &getAnalyzerOpts() { return *AnalyzerOpts; }
140+
const AnalyzerOptions &getAnalyzerOpts() const { return *AnalyzerOpts; }
140141
};
141142

142143
/// The base class of CompilerInvocation with value semantics.

clang/lib/CrossTU/CrossTranslationUnit.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -392,11 +392,11 @@ void CrossTranslationUnitContext::emitCrossTUDiagnostics(const IndexError &IE) {
392392

393393
CrossTranslationUnitContext::ASTUnitStorage::ASTUnitStorage(
394394
CompilerInstance &CI)
395-
: Loader(CI, CI.getAnalyzerOpts()->CTUDir,
396-
CI.getAnalyzerOpts()->CTUInvocationList),
395+
: Loader(CI, CI.getAnalyzerOpts().CTUDir,
396+
CI.getAnalyzerOpts().CTUInvocationList),
397397
LoadGuard(CI.getASTContext().getLangOpts().CPlusPlus
398-
? CI.getAnalyzerOpts()->CTUImportCppThreshold
399-
: CI.getAnalyzerOpts()->CTUImportThreshold) {}
398+
? CI.getAnalyzerOpts().CTUImportCppThreshold
399+
: CI.getAnalyzerOpts().CTUImportThreshold) {}
400400

401401
llvm::Expected<ASTUnit *>
402402
CrossTranslationUnitContext::ASTUnitStorage::getASTUnitForFile(

clang/lib/Frontend/CompilerInvocation.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,7 @@ CompilerInvocationRefBase::CompilerInvocationRefBase(
145145
DiagnosticOpts(new DiagnosticOptions(X.getDiagnosticOpts())),
146146
HeaderSearchOpts(new HeaderSearchOptions(X.getHeaderSearchOpts())),
147147
PreprocessorOpts(new PreprocessorOptions(X.getPreprocessorOpts())),
148-
AnalyzerOpts(new AnalyzerOptions(*X.getAnalyzerOpts())) {}
148+
AnalyzerOpts(new AnalyzerOptions(X.getAnalyzerOpts())) {}
149149

150150
CompilerInvocationRefBase::CompilerInvocationRefBase(
151151
CompilerInvocationRefBase &&X) = default;
@@ -4808,7 +4808,7 @@ bool CompilerInvocation::CreateFromArgsImpl(
48084808
ParseCASArgs(Res.getCASOpts(), Args, Diags);
48094809
ParseFileSystemArgs(Res.getFileSystemOpts(), Args, Diags);
48104810
ParseMigratorArgs(Res.getMigratorOpts(), Args, Diags);
4811-
ParseAnalyzerArgs(*Res.getAnalyzerOpts(), Args, Diags);
4811+
ParseAnalyzerArgs(Res.getAnalyzerOpts(), Args, Diags);
48124812
ParseDiagnosticArgs(Res.getDiagnosticOpts(), Args, &Diags,
48134813
/*DefaultDiagColor=*/false);
48144814
ParseFrontendArgs(Res.getFrontendOpts(), Args, Res.getCASOpts(), Diags,

clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -239,7 +239,7 @@ bool ExecuteCompilerInvocation(CompilerInstance *Clang) {
239239
#if CLANG_ENABLE_STATIC_ANALYZER
240240
// These should happen AFTER plugins have been loaded!
241241

242-
AnalyzerOptions &AnOpts = *Clang->getAnalyzerOpts();
242+
AnalyzerOptions &AnOpts = Clang->getAnalyzerOpts();
243243

244244
// Honor -analyzer-checker-help and -analyzer-checker-help-hidden.
245245
if (AnOpts.ShowCheckerHelp || AnOpts.ShowCheckerHelpAlpha ||

clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp

Lines changed: 30 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ class AnalysisConsumer : public AnalysisASTConsumer,
8787
ASTContext *Ctx;
8888
Preprocessor &PP;
8989
const std::string OutDir;
90-
AnalyzerOptionsRef Opts;
90+
AnalyzerOptions &Opts;
9191
ArrayRef<std::string> Plugins;
9292
CodeInjector *Injector;
9393
cross_tu::CrossTranslationUnitContext CTU;
@@ -121,15 +121,15 @@ class AnalysisConsumer : public AnalysisASTConsumer,
121121
FunctionSummariesTy FunctionSummaries;
122122

123123
AnalysisConsumer(CompilerInstance &CI, const std::string &outdir,
124-
AnalyzerOptionsRef opts, ArrayRef<std::string> plugins,
124+
AnalyzerOptions &opts, ArrayRef<std::string> plugins,
125125
CodeInjector *injector)
126126
: RecVisitorMode(0), RecVisitorBR(nullptr), Ctx(nullptr),
127-
PP(CI.getPreprocessor()), OutDir(outdir), Opts(std::move(opts)),
127+
PP(CI.getPreprocessor()), OutDir(outdir), Opts(opts),
128128
Plugins(plugins), Injector(injector), CTU(CI),
129129
MacroExpansions(CI.getLangOpts()) {
130130
DigestAnalyzerOptions();
131-
if (Opts->AnalyzerDisplayProgress || Opts->PrintStats ||
132-
Opts->ShouldSerializeStats) {
131+
if (Opts.AnalyzerDisplayProgress || Opts.PrintStats ||
132+
Opts.ShouldSerializeStats) {
133133
AnalyzerTimers = std::make_unique<llvm::TimerGroup>(
134134
"analyzer", "Analyzer timers");
135135
SyntaxCheckTimer = std::make_unique<llvm::Timer>(
@@ -141,27 +141,27 @@ class AnalysisConsumer : public AnalysisASTConsumer,
141141
*AnalyzerTimers);
142142
}
143143

144-
if (Opts->PrintStats || Opts->ShouldSerializeStats) {
144+
if (Opts.PrintStats || Opts.ShouldSerializeStats) {
145145
llvm::EnableStatistics(/* DoPrintOnExit= */ false);
146146
}
147147

148-
if (Opts->ShouldDisplayMacroExpansions)
148+
if (Opts.ShouldDisplayMacroExpansions)
149149
MacroExpansions.registerForPreprocessor(PP);
150150
}
151151

152152
~AnalysisConsumer() override {
153-
if (Opts->PrintStats) {
153+
if (Opts.PrintStats) {
154154
llvm::PrintStatistics();
155155
}
156156
}
157157

158158
void DigestAnalyzerOptions() {
159-
switch (Opts->AnalysisDiagOpt) {
159+
switch (Opts.AnalysisDiagOpt) {
160160
case PD_NONE:
161161
break;
162162
#define ANALYSIS_DIAGNOSTICS(NAME, CMDFLAG, DESC, CREATEFN) \
163163
case PD_##NAME: \
164-
CREATEFN(Opts->getDiagOpts(), PathConsumers, OutDir, PP, CTU, \
164+
CREATEFN(Opts.getDiagOpts(), PathConsumers, OutDir, PP, CTU, \
165165
MacroExpansions); \
166166
break;
167167
#include "clang/StaticAnalyzer/Core/Analyses.def"
@@ -172,7 +172,7 @@ class AnalysisConsumer : public AnalysisASTConsumer,
172172
// Create the analyzer component creators.
173173
CreateStoreMgr = &CreateRegionStoreManager;
174174

175-
switch (Opts->AnalysisConstraintsOpt) {
175+
switch (Opts.AnalysisConstraintsOpt) {
176176
default:
177177
llvm_unreachable("Unknown constraint manager.");
178178
#define ANALYSIS_CONSTRAINTS(NAME, CMDFLAG, DESC, CREATEFN) \
@@ -182,7 +182,7 @@ class AnalysisConsumer : public AnalysisASTConsumer,
182182
}
183183

184184
void DisplayTime(llvm::TimeRecord &Time) {
185-
if (!Opts->AnalyzerDisplayProgress) {
185+
if (!Opts.AnalyzerDisplayProgress) {
186186
return;
187187
}
188188
llvm::errs() << " : " << llvm::format("%1.1f", Time.getWallTime() * 1000)
@@ -191,7 +191,7 @@ class AnalysisConsumer : public AnalysisASTConsumer,
191191

192192
void DisplayFunction(const Decl *D, AnalysisMode Mode,
193193
ExprEngine::InliningModes IMode) {
194-
if (!Opts->AnalyzerDisplayProgress)
194+
if (!Opts.AnalyzerDisplayProgress)
195195
return;
196196

197197
SourceManager &SM = Mgr->getASTContext().getSourceManager();
@@ -222,12 +222,12 @@ class AnalysisConsumer : public AnalysisASTConsumer,
222222

223223
void Initialize(ASTContext &Context) override {
224224
Ctx = &Context;
225-
checkerMgr = std::make_unique<CheckerManager>(*Ctx, *Opts, PP, Plugins,
225+
checkerMgr = std::make_unique<CheckerManager>(*Ctx, Opts, PP, Plugins,
226226
CheckerRegistrationFns);
227227

228228
Mgr = std::make_unique<AnalysisManager>(*Ctx, PP, PathConsumers,
229229
CreateStoreMgr, CreateConstraintMgr,
230-
checkerMgr.get(), *Opts, Injector);
230+
checkerMgr.get(), Opts, Injector);
231231
}
232232

233233
/// Store the top level decls in the set to be processed later on.
@@ -278,7 +278,7 @@ class AnalysisConsumer : public AnalysisASTConsumer,
278278
}
279279

280280
bool VisitVarDecl(VarDecl *VD) {
281-
if (!Opts->IsNaiveCTUEnabled)
281+
if (!Opts.IsNaiveCTUEnabled)
282282
return true;
283283

284284
if (VD->hasExternalStorage() || VD->isStaticDataMember()) {
@@ -293,8 +293,8 @@ class AnalysisConsumer : public AnalysisASTConsumer,
293293
return true;
294294

295295
llvm::Expected<const VarDecl *> CTUDeclOrError =
296-
CTU.getCrossTUDefinition(VD, Opts->CTUDir, Opts->CTUIndexName,
297-
Opts->DisplayCTUProgress);
296+
CTU.getCrossTUDefinition(VD, Opts.CTUDir, Opts.CTUIndexName,
297+
Opts.DisplayCTUProgress);
298298

299299
if (!CTUDeclOrError) {
300300
handleAllErrors(CTUDeclOrError.takeError(),
@@ -356,7 +356,7 @@ class AnalysisConsumer : public AnalysisASTConsumer,
356356
AnalysisMode getModeForDecl(Decl *D, AnalysisMode Mode);
357357
void runAnalysisOnTranslationUnit(ASTContext &C);
358358

359-
/// Print \p S to stderr if \c Opts->AnalyzerDisplayProgress is set.
359+
/// Print \p S to stderr if \c Opts.AnalyzerDisplayProgress is set.
360360
void reportAnalyzerProgress(StringRef S);
361361
}; // namespace
362362
} // end anonymous namespace
@@ -567,12 +567,12 @@ void AnalysisConsumer::runAnalysisOnTranslationUnit(ASTContext &C) {
567567
// name correctly.
568568
// FIXME: The user might have analyzed the requested function in Syntax mode,
569569
// but we are unaware of that.
570-
if (!Opts->AnalyzeSpecificFunction.empty() && NumFunctionsAnalyzed == 0)
571-
reportAnalyzerFunctionMisuse(*Opts, *Ctx);
570+
if (!Opts.AnalyzeSpecificFunction.empty() && NumFunctionsAnalyzed == 0)
571+
reportAnalyzerFunctionMisuse(Opts, *Ctx);
572572
}
573573

574574
void AnalysisConsumer::reportAnalyzerProgress(StringRef S) {
575-
if (Opts->AnalyzerDisplayProgress)
575+
if (Opts.AnalyzerDisplayProgress)
576576
llvm::errs() << S;
577577
}
578578

@@ -589,21 +589,21 @@ void AnalysisConsumer::HandleTranslationUnit(ASTContext &C) {
589589
const auto DiagFlusherScopeExit =
590590
llvm::make_scope_exit([this] { Mgr.reset(); });
591591

592-
if (Opts->ShouldIgnoreBisonGeneratedFiles &&
592+
if (Opts.ShouldIgnoreBisonGeneratedFiles &&
593593
fileContainsString("/* A Bison parser, made by", C)) {
594594
reportAnalyzerProgress("Skipping bison-generated file\n");
595595
return;
596596
}
597597

598-
if (Opts->ShouldIgnoreFlexGeneratedFiles &&
598+
if (Opts.ShouldIgnoreFlexGeneratedFiles &&
599599
fileContainsString("/* A lexical scanner generated by flex", C)) {
600600
reportAnalyzerProgress("Skipping flex-generated file\n");
601601
return;
602602
}
603603

604604
// Don't analyze if the user explicitly asked for no checks to be performed
605605
// on this file.
606-
if (Opts->DisableAllCheckers) {
606+
if (Opts.DisableAllCheckers) {
607607
reportAnalyzerProgress("All checks are disabled using a supplied option\n");
608608
return;
609609
}
@@ -623,16 +623,16 @@ void AnalysisConsumer::HandleTranslationUnit(ASTContext &C) {
623623

624624
AnalysisConsumer::AnalysisMode
625625
AnalysisConsumer::getModeForDecl(Decl *D, AnalysisMode Mode) {
626-
if (!Opts->AnalyzeSpecificFunction.empty() &&
627-
AnalysisDeclContext::getFunctionName(D) != Opts->AnalyzeSpecificFunction)
626+
if (!Opts.AnalyzeSpecificFunction.empty() &&
627+
AnalysisDeclContext::getFunctionName(D) != Opts.AnalyzeSpecificFunction)
628628
return AM_None;
629629

630630
// Unless -analyze-all is specified, treat decls differently depending on
631631
// where they came from:
632632
// - Main source file: run both path-sensitive and non-path-sensitive checks.
633633
// - Header files: run non-path-sensitive checks only.
634634
// - System headers: don't run any checks.
635-
if (Opts->AnalyzeAll)
635+
if (Opts.AnalyzeAll)
636636
return Mode;
637637

638638
const SourceManager &SM = Ctx->getSourceManager();
@@ -757,8 +757,8 @@ ento::CreateAnalysisConsumer(CompilerInstance &CI) {
757757
// Disable the effects of '-Werror' when using the AnalysisConsumer.
758758
CI.getPreprocessor().getDiagnostics().setWarningsAsErrors(false);
759759

760-
AnalyzerOptionsRef analyzerOpts = CI.getAnalyzerOpts();
761-
bool hasModelPath = analyzerOpts->Config.count("model-path") > 0;
760+
AnalyzerOptions &analyzerOpts = CI.getAnalyzerOpts();
761+
bool hasModelPath = analyzerOpts.Config.count("model-path") > 0;
762762

763763
return std::make_unique<AnalysisConsumer>(
764764
CI, CI.getFrontendOpts().OutputFile, analyzerOpts,

clang/lib/StaticAnalyzer/Frontend/AnalyzerHelpFlags.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,18 +30,18 @@ void ento::printCheckerHelp(raw_ostream &out, CompilerInstance &CI) {
3030
out << "USAGE: -analyzer-checker <CHECKER or PACKAGE,...>\n\n";
3131

3232
auto CheckerMgr = std::make_unique<CheckerManager>(
33-
*CI.getAnalyzerOpts(), CI.getLangOpts(), CI.getDiagnostics(),
33+
CI.getAnalyzerOpts(), CI.getLangOpts(), CI.getDiagnostics(),
3434
CI.getFrontendOpts().Plugins);
3535

3636
CheckerMgr->getCheckerRegistryData().printCheckerWithDescList(
37-
*CI.getAnalyzerOpts(), out);
37+
CI.getAnalyzerOpts(), out);
3838
}
3939

4040
void ento::printEnabledCheckerList(raw_ostream &out, CompilerInstance &CI) {
4141
out << "OVERVIEW: Clang Static Analyzer Enabled Checkers List\n\n";
4242

4343
auto CheckerMgr = std::make_unique<CheckerManager>(
44-
*CI.getAnalyzerOpts(), CI.getLangOpts(), CI.getDiagnostics(),
44+
CI.getAnalyzerOpts(), CI.getLangOpts(), CI.getDiagnostics(),
4545
CI.getFrontendOpts().Plugins);
4646

4747
CheckerMgr->getCheckerRegistryData().printEnabledCheckerList(out);
@@ -50,11 +50,11 @@ void ento::printEnabledCheckerList(raw_ostream &out, CompilerInstance &CI) {
5050
void ento::printCheckerConfigList(raw_ostream &out, CompilerInstance &CI) {
5151

5252
auto CheckerMgr = std::make_unique<CheckerManager>(
53-
*CI.getAnalyzerOpts(), CI.getLangOpts(), CI.getDiagnostics(),
53+
CI.getAnalyzerOpts(), CI.getLangOpts(), CI.getDiagnostics(),
5454
CI.getFrontendOpts().Plugins);
5555

5656
CheckerMgr->getCheckerRegistryData().printCheckerOptionList(
57-
*CI.getAnalyzerOpts(), out);
57+
CI.getAnalyzerOpts(), out);
5858
}
5959

6060
void ento::printAnalyzerConfigList(raw_ostream &out) {

clang/lib/StaticAnalyzer/Frontend/ModelInjector.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,7 @@ void ModelInjector::onBodySynthesis(const NamedDecl *D) {
4848
SourceManager &SM = CI.getSourceManager();
4949
FileID mainFileID = SM.getMainFileID();
5050

51-
AnalyzerOptionsRef analyzerOpts = CI.getAnalyzerOpts();
52-
llvm::StringRef modelPath = analyzerOpts->ModelPath;
51+
llvm::StringRef modelPath = CI.getAnalyzerOpts().ModelPath;
5352

5453
llvm::SmallString<128> fileName;
5554

clang/unittests/CrossTU/CrossTranslationUnitTest.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -125,8 +125,8 @@ class CTUAction : public clang::ASTFrontendAction {
125125
protected:
126126
std::unique_ptr<clang::ASTConsumer>
127127
CreateASTConsumer(clang::CompilerInstance &CI, StringRef) override {
128-
CI.getAnalyzerOpts()->CTUImportThreshold = OverrideLimit;
129-
CI.getAnalyzerOpts()->CTUImportCppThreshold = OverrideLimit;
128+
CI.getAnalyzerOpts().CTUImportThreshold = OverrideLimit;
129+
CI.getAnalyzerOpts().CTUImportCppThreshold = OverrideLimit;
130130
return std::make_unique<CTUASTConsumer>(CI, Success);
131131
}
132132

clang/unittests/Frontend/CompilerInvocationTest.cpp

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -102,23 +102,23 @@ TEST(ContainsN, Two) {
102102

103103
TEST(CompilerInvocationTest, DeepCopyConstructor) {
104104
CompilerInvocation A;
105-
A.getAnalyzerOpts()->Config["Key"] = "Old";
105+
A.getAnalyzerOpts().Config["Key"] = "Old";
106106

107107
CompilerInvocation B(A);
108-
B.getAnalyzerOpts()->Config["Key"] = "New";
108+
B.getAnalyzerOpts().Config["Key"] = "New";
109109

110-
ASSERT_EQ(A.getAnalyzerOpts()->Config["Key"], "Old");
110+
ASSERT_EQ(A.getAnalyzerOpts().Config["Key"], "Old");
111111
}
112112

113113
TEST(CompilerInvocationTest, DeepCopyAssignment) {
114114
CompilerInvocation A;
115-
A.getAnalyzerOpts()->Config["Key"] = "Old";
115+
A.getAnalyzerOpts().Config["Key"] = "Old";
116116

117117
CompilerInvocation B;
118118
B = A;
119-
B.getAnalyzerOpts()->Config["Key"] = "New";
119+
B.getAnalyzerOpts().Config["Key"] = "New";
120120

121-
ASSERT_EQ(A.getAnalyzerOpts()->Config["Key"], "Old");
121+
ASSERT_EQ(A.getAnalyzerOpts().Config["Key"], "Old");
122122
}
123123

124124
// Boolean option with a keypath that defaults to true.
@@ -982,8 +982,8 @@ TEST_F(CommandLineTest, RoundTrip) {
982982
Contains(std::make_pair(std::string("XY=AB"), false)));
983983
ASSERT_EQ(Invocation.getPreprocessorOpts().ImplicitPCHInclude, "a.pch");
984984

985-
ASSERT_EQ(Invocation.getAnalyzerOpts()->Config["ctu-import-threshold"], "42");
986-
ASSERT_TRUE(Invocation.getAnalyzerOpts()->UnoptimizedCFG);
985+
ASSERT_EQ(Invocation.getAnalyzerOpts().Config["ctu-import-threshold"], "42");
986+
ASSERT_TRUE(Invocation.getAnalyzerOpts().UnoptimizedCFG);
987987

988988
ASSERT_TRUE(Invocation.getMigratorOpts().NoNSAllocReallocError);
989989

clang/unittests/StaticAnalyzer/BugReportInterestingnessTest.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ class TestAction : public ASTFrontendAction {
118118
Registry.addChecker<InterestingnessTestChecker>("test.Interestingness",
119119
"Description", "");
120120
});
121-
Compiler.getAnalyzerOpts()->CheckersAndPackages = {
121+
Compiler.getAnalyzerOpts().CheckersAndPackages = {
122122
{"test.Interestingness", true}};
123123
return std::move(AnalysisConsumer);
124124
}

0 commit comments

Comments
 (0)