[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