[PATCH] D122273: [clang][dataflow] Fix handling of base-class fields
Yitzhak Mandelbaum via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Fri Apr 1 06:49:21 PDT 2022
ymandel added inline comments.
================
Comment at: clang/include/clang/Analysis/FlowSensitive/StorageLocation.h:59-60
/// can be traced independently by abstract interpretation. For example: a
-/// struct with public members.
+/// struct with public members. Note that the corresponding `StructValue` has a
+/// flat layout that does not contain the child locations stored here.
class AggregateStorageLocation final : public StorageLocation {
----------------
sgatev wrote:
> I find this a bit confusing. `StructValue` does not contain storage locations in general. I think we should make it clear that the layout of `AggregateStorageLocation` is flat, i.e. if it's used for a `struct` or `class` type it will contain child storage locations for all accessible members of base `struct` and `class` types.
Updated. I misunderstood what you meant as "flat" in the previous round of comments. Thanks for clarifying!
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D122273/new/
https://reviews.llvm.org/D122273
More information about the cfe-commits
mailing list