[PATCH] D143735: [clang][dataflow] Convert nonnull pointer parameter to a reference.
Yitzhak Mandelbaum via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Fri Feb 10 07:53:41 PST 2023
This revision was landed with ongoing or failed builds.
This revision was automatically updated to reflect the committed changes.
Closed by commit rGa00f17d81efb: [clang][dataflow] Convert nonnull pointer parameter to a reference. (authored by ymandel).
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D143735/new/
https://reviews.llvm.org/D143735
Files:
clang/include/clang/Analysis/FlowSensitive/DataflowAnalysis.h
clang/include/clang/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.h
clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp
Index: clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp
===================================================================
--- clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp
+++ clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp
@@ -374,7 +374,7 @@
}
// User-provided analysis
- AC.Analysis.transferTypeErased(&Element, State.Lattice, State.Env);
+ AC.Analysis.transferTypeErased(Element, State.Lattice, State.Env);
// Post processing
if (PostVisitCFG) {
Index: clang/include/clang/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.h
===================================================================
--- clang/include/clang/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.h
+++ clang/include/clang/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.h
@@ -96,7 +96,7 @@
/// Applies the analysis transfer function for a given control flow graph
/// element and type-erased lattice element.
- virtual void transferTypeErased(const CFGElement *, TypeErasedLattice &,
+ virtual void transferTypeErased(const CFGElement &, TypeErasedLattice &,
Environment &) = 0;
/// Applies the analysis transfer function for a given edge from a CFG block
Index: clang/include/clang/Analysis/FlowSensitive/DataflowAnalysis.h
===================================================================
--- clang/include/clang/Analysis/FlowSensitive/DataflowAnalysis.h
+++ clang/include/clang/Analysis/FlowSensitive/DataflowAnalysis.h
@@ -119,10 +119,11 @@
return L1 == L2;
}
- void transferTypeErased(const CFGElement *Element, TypeErasedLattice &E,
+ void transferTypeErased(const CFGElement &Element, TypeErasedLattice &E,
Environment &Env) final {
Lattice &L = llvm::any_cast<Lattice &>(E.Value);
- static_cast<Derived *>(this)->transfer(Element, L, Env);
+ // FIXME: change the contract of `transfer` to take a reference.
+ static_cast<Derived *>(this)->transfer(&Element, L, Env);
}
void transferBranchTypeErased(bool Branch, const Stmt *Stmt,
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D143735.496479.patch
Type: text/x-patch
Size: 2109 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20230210/9f76dab2/attachment-0001.bin>
More information about the cfe-commits
mailing list