aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/CodeGen/CodeGenModule.cpp
diff options
context:
space:
mode:
authorBalazs Benics <benicsbalazs@gmail.com>2024-12-19 12:04:04 +0100
committerGitHub <noreply@github.com>2024-12-19 12:04:04 +0100
commitb41240be6b9e58687011b2bd1b942c6625cbb5ad (patch)
tree4af3967bfacb4362c4b3ac744c3db2a35e2c38a2 /clang/lib/CodeGen/CodeGenModule.cpp
parent056e5eccaf440e9127990f9fba1e5cacac399a14 (diff)
downloadllvm-b41240be6b9e58687011b2bd1b942c6625cbb5ad.zip
llvm-b41240be6b9e58687011b2bd1b942c6625cbb5ad.tar.gz
llvm-b41240be6b9e58687011b2bd1b942c6625cbb5ad.tar.bz2
[analyzer][NFC] Introduce APSIntPtr, a safe wrapper of APSInt (1/4) (#120435)
One could create dangling APSInt references in various ways in the past, that were sometimes assumed to be persisted in the BasicValueFactor. One should always use BasicValueFactory to create persistent APSInts, that could be used by ConcreteInts or SymIntExprs and similar long-living objects. If one used a temporary or local variables for this, these would dangle. To enforce the contract of the analyzer BasicValueFactory and the uses of APSInts, let's have a dedicated strong-type for this. The idea is that APSIntPtr is always owned by the BasicValueFactory, and that is the only component that can construct it. These PRs are all NFC - besides fixing dangling APSInt references.
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.cpp')
0 files changed, 0 insertions, 0 deletions