diff --git a/clang/include/clang/Analysis/FlowSensitive/DataflowAnalysis.h b/clang/include/clang/Analysis/FlowSensitive/DataflowAnalysis.h index db02e1b73c6af..abd34f4092212 100644 --- a/clang/include/clang/Analysis/FlowSensitive/DataflowAnalysis.h +++ b/clang/include/clang/Analysis/FlowSensitive/DataflowAnalysis.h @@ -85,14 +85,6 @@ class DataflowAnalysis : public TypeErasedDataflowAnalysis { explicit DataflowAnalysis(ASTContext &Context) : Context(Context) {} - /// Deprecated. Use the `DataflowAnalysisOptions` constructor instead. - explicit DataflowAnalysis(ASTContext &Context, bool ApplyBuiltinTransfer) - : DataflowAnalysis( - Context, - {ApplyBuiltinTransfer - ? DataflowAnalysisContext::Options{} - : std::optional()}) {} - explicit DataflowAnalysis(ASTContext &Context, DataflowAnalysisOptions Options) : TypeErasedDataflowAnalysis(Options), Context(Context) {} diff --git a/clang/include/clang/Analysis/FlowSensitive/NoopAnalysis.h b/clang/include/clang/Analysis/FlowSensitive/NoopAnalysis.h index 016b6b3ba0145..393f68300cb80 100644 --- a/clang/include/clang/Analysis/FlowSensitive/NoopAnalysis.h +++ b/clang/include/clang/Analysis/FlowSensitive/NoopAnalysis.h @@ -27,15 +27,6 @@ class NoopAnalysis : public DataflowAnalysis { NoopAnalysis(ASTContext &Context) : DataflowAnalysis(Context) {} - /// Deprecated. Use the `DataflowAnalysisOptions` constructor instead. - NoopAnalysis(ASTContext &Context, bool ApplyBuiltinTransfer) - : DataflowAnalysis(Context, - ApplyBuiltinTransfer) {} - - /// `ApplyBuiltinTransfer` controls whether to run the built-in transfer - /// functions that model memory during the analysis. Their results are not - /// used by `NoopAnalysis`, but tests that need to inspect the environment - /// should enable them. NoopAnalysis(ASTContext &Context, DataflowAnalysisOptions Options) : DataflowAnalysis(Context, Options) {} diff --git a/clang/unittests/Analysis/FlowSensitive/ChromiumCheckModelTest.cpp b/clang/unittests/Analysis/FlowSensitive/ChromiumCheckModelTest.cpp index 0edf3ca6b359b..1cb51a9cf37c5 100644 --- a/clang/unittests/Analysis/FlowSensitive/ChromiumCheckModelTest.cpp +++ b/clang/unittests/Analysis/FlowSensitive/ChromiumCheckModelTest.cpp @@ -113,8 +113,7 @@ class ModelAdaptorAnalysis : public DataflowAnalysis, NoopLattice> { public: explicit ModelAdaptorAnalysis(ASTContext &Context) - : DataflowAnalysis( - Context, /*ApplyBuiltinTransfer=*/true) {} + : DataflowAnalysis(Context) {} static NoopLattice initialElement() { return NoopLattice(); } diff --git a/clang/unittests/Analysis/FlowSensitive/TestingSupportTest.cpp b/clang/unittests/Analysis/FlowSensitive/TestingSupportTest.cpp index 937ab039f72f9..5de3dd8dccb68 100644 --- a/clang/unittests/Analysis/FlowSensitive/TestingSupportTest.cpp +++ b/clang/unittests/Analysis/FlowSensitive/TestingSupportTest.cpp @@ -86,7 +86,9 @@ void checkDataflow( Code, std::move(TargetFuncMatcher), [](ASTContext &Context, Environment &) { return NoopAnalysis( - Context, /*ApplyBuiltinTransfer=*/false); + Context, + // Don't apply builtin transfer function. + DataflowAnalysisOptions{std::nullopt}); }) .withASTBuildArgs({"-fsyntax-only", "-std=c++17"}), /*VerifyResults=*/std::move(Expectations)), diff --git a/clang/unittests/Analysis/FlowSensitive/TransferTest.cpp b/clang/unittests/Analysis/FlowSensitive/TransferTest.cpp index 8100db2aec409..0a5cf62e5ea23 100644 --- a/clang/unittests/Analysis/FlowSensitive/TransferTest.cpp +++ b/clang/unittests/Analysis/FlowSensitive/TransferTest.cpp @@ -1418,9 +1418,7 @@ TEST(TransferTest, BaseClassInitializer) { checkDataflow( AnalysisInputs( Code, cxxConstructorDecl(ofClass(hasName("B"))), - [](ASTContext &C, Environment &) { - return NoopAnalysis(C, /*ApplyBuiltinTransfer=*/true); - }) + [](ASTContext &C, Environment &) { return NoopAnalysis(C); }) .withASTBuildArgs( {"-fsyntax-only", "-fno-delayed-template-parsing", "-std=" + std::string(LangStandard::getLangStandardForKind( diff --git a/clang/unittests/Analysis/FlowSensitive/TypeErasedDataflowAnalysisTest.cpp b/clang/unittests/Analysis/FlowSensitive/TypeErasedDataflowAnalysisTest.cpp index 01162c89a36c8..af34a2afd2468 100644 --- a/clang/unittests/Analysis/FlowSensitive/TypeErasedDataflowAnalysisTest.cpp +++ b/clang/unittests/Analysis/FlowSensitive/TypeErasedDataflowAnalysisTest.cpp @@ -78,7 +78,9 @@ runAnalysis(llvm::StringRef Code, AnalysisT (*MakeAnalysis)(ASTContext &)) { TEST(DataflowAnalysisTest, NoopAnalysis) { auto BlockStates = llvm::cantFail( runAnalysis("void target() {}", [](ASTContext &C) { - return NoopAnalysis(C, false); + return NoopAnalysis(C, + // Don't use builtin transfer function. + DataflowAnalysisOptions{std::nullopt}); })); EXPECT_EQ(BlockStates.size(), 2u); EXPECT_TRUE(BlockStates[0].has_value()); @@ -130,7 +132,8 @@ class NonConvergingAnalysis explicit NonConvergingAnalysis(ASTContext &Context) : DataflowAnalysis( Context, - /*ApplyBuiltinTransfer=*/false) {} + // Don't apply builtin transfer function. + DataflowAnalysisOptions{std::nullopt}) {} static NonConvergingLattice initialElement() { return {0}; } @@ -811,7 +814,7 @@ class FlowConditionTest : public Test { AnalysisInputs( Code, ast_matchers::hasName("target"), [](ASTContext &Context, Environment &Env) { - return NoopAnalysis(Context, true); + return NoopAnalysis(Context); }) .withASTBuildArgs({"-fsyntax-only", "-std=c++17"}), /*VerifyResults=*/[&Match](const llvm::StringMap<