================
@@ -367,3 +394,14 @@ clang::dataflow::FieldSet 
clang::dataflow::getObjectFields(QualType Type) {
   getFieldsFromClassHierarchy(Type, Fields);
   return Fields;
 }
+
+bool clang::dataflow::containsSameFields(
+    const clang::dataflow::FieldSet &Fields,
+    const clang::dataflow::RecordStorageLocation::FieldToLoc &FieldLocs) {
+  if (Fields.size() != FieldLocs.size())
+    return false;
+  for ([[maybe_unused]] auto [Field, Loc] : FieldLocs)
+    if (!Fields.contains(cast_or_null<FieldDecl>(Field)))
----------------
martinboehme wrote:

This can happen for fields of reference type in the cases discussed 
[here](https://github.com/llvm/llvm-project/blob/c9c1b3c37fa5d5c617068afe67afcafacd58a241/clang/include/clang/Analysis/FlowSensitive/StorageLocation.h#L78).

https://github.com/llvm/llvm-project/pull/73860
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to