[clang] 37458c6 - [clang][dataflow] Eliminate deprecated `DataflowAnalysis` constructor.
Martin Braenne via cfe-commits
cfe-commits at lists.llvm.org
Mon Sep 4 00:00:20 PDT 2023
Author: Martin Braenne
Date: 2023-09-04T07:00:11Z
New Revision: 37458c66bfefaa4f4cb40043cb88413e5b826e3f
URL: https://github.com/llvm/llvm-project/commit/37458c66bfefaa4f4cb40043cb88413e5b826e3f
DIFF: https://github.com/llvm/llvm-project/commit/37458c66bfefaa4f4cb40043cb88413e5b826e3f.diff
LOG: [clang][dataflow] Eliminate deprecated `DataflowAnalysis` constructor.
Reviewed By: ymandel, xazax.hun
Differential Revision: https://reviews.llvm.org/D159261
Added:
Modified:
clang/include/clang/Analysis/FlowSensitive/DataflowAnalysis.h
clang/include/clang/Analysis/FlowSensitive/NoopAnalysis.h
clang/unittests/Analysis/FlowSensitive/ChromiumCheckModelTest.cpp
clang/unittests/Analysis/FlowSensitive/TestingSupportTest.cpp
clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
clang/unittests/Analysis/FlowSensitive/TypeErasedDataflowAnalysisTest.cpp
Removed:
################################################################################
diff --git a/clang/include/clang/Analysis/FlowSensitive/DataflowAnalysis.h b/clang/include/clang/Analysis/FlowSensitive/DataflowAnalysis.h
index db02e1b73c6aff7..abd34f40922121e 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<DataflowAnalysisContext::Options>()}) {}
-
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 016b6b3ba014540..393f68300cb80c1 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, NoopLattice> {
NoopAnalysis(ASTContext &Context)
: DataflowAnalysis<NoopAnalysis, NoopLattice>(Context) {}
- /// Deprecated. Use the `DataflowAnalysisOptions` constructor instead.
- NoopAnalysis(ASTContext &Context, bool ApplyBuiltinTransfer)
- : DataflowAnalysis<NoopAnalysis, NoopLattice>(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<NoopAnalysis, NoopLattice>(Context, Options) {}
diff --git a/clang/unittests/Analysis/FlowSensitive/ChromiumCheckModelTest.cpp b/clang/unittests/Analysis/FlowSensitive/ChromiumCheckModelTest.cpp
index 0edf3ca6b359b27..1cb51a9cf37c5c4 100644
--- a/clang/unittests/Analysis/FlowSensitive/ChromiumCheckModelTest.cpp
+++ b/clang/unittests/Analysis/FlowSensitive/ChromiumCheckModelTest.cpp
@@ -113,8 +113,7 @@ class ModelAdaptorAnalysis
: public DataflowAnalysis<ModelAdaptorAnalysis<Model>, NoopLattice> {
public:
explicit ModelAdaptorAnalysis(ASTContext &Context)
- : DataflowAnalysis<ModelAdaptorAnalysis, NoopLattice>(
- Context, /*ApplyBuiltinTransfer=*/true) {}
+ : DataflowAnalysis<ModelAdaptorAnalysis, NoopLattice>(Context) {}
static NoopLattice initialElement() { return NoopLattice(); }
diff --git a/clang/unittests/Analysis/FlowSensitive/TestingSupportTest.cpp b/clang/unittests/Analysis/FlowSensitive/TestingSupportTest.cpp
index 937ab039f72f9ee..5de3dd8dccb68a9 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 8100db2aec40909..0a5cf62e5ea2332 100644
--- a/clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
+++ b/clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
@@ -1418,9 +1418,7 @@ TEST(TransferTest, BaseClassInitializer) {
checkDataflow<NoopAnalysis>(
AnalysisInputs<NoopAnalysis>(
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 01162c89a36c8ef..af34a2afd24685a 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<NoopAnalysis>("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<NonConvergingAnalysis, NonConvergingLattice>(
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<NoopAnalysis>(
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<
More information about the cfe-commits
mailing list