================
@@ -1704,16 +1704,23 @@ static RegionOffset calculateOffset(const MemRegion *R) 
{
       if (SymbolicOffsetBase)
         continue;
 
-      // Get the field number.
-      unsigned idx = 0;
-      for (RecordDecl::field_iterator FI = RD->field_begin(),
-             FE = RD->field_end(); FI != FE; ++FI, ++idx) {
-        if (FR->getDecl() == *FI)
-          break;
+      auto MaybeFieldIdx = [FR, RD]() -> std::optional<unsigned> {
+        assert(FR->getDecl()->getCanonicalDecl() == FR->getDecl());
----------------
balazs-benics-sonarsource wrote:

Fixed in 1d289652b54d22db2566e63391c86501ecaefff5

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

Reply via email to