[applied] comparison: Fix index error when interpreting scope comparison

Message ID 871qk696ki.fsf@redhat.com
State New
Series [applied] comparison: Fix index error when interpreting scope comparison |

Commit Message

Dodji Seketeli April 26, 2023, 12:22 p.m. UTC

While looking at something else, I noticed a thinko in the
code in scope_diff::ensure_lookup_tables_populated that interprets the
result of the diffing algorithm on the decls of a given scope.  Fixed

	* src/abg-comparison.cc
	(scope_diff::ensure_lookup_tables_populated): Use the proper index
	to address the deleted decl.  Also, use the range-based for syntax
	in the enclosing for-loop for more clarity.

Signed-off-by: Dodji Seketeli <dodji@redhat.com>
 src/abg-comparison.cc | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)


diff --git a/src/abg-comparison.cc b/src/abg-comparison.cc
index 59530a8a..9c580da2 100644
--- a/src/abg-comparison.cc
+++ b/src/abg-comparison.cc
@@ -6522,10 +6522,9 @@  scope_diff::ensure_lookup_tables_populated()
   edit_script& e = priv_->member_changes_;
   // Populate deleted types & decls lookup tables.
-  for (vector<deletion>::const_iterator i = e.deletions().begin();
-       i != e.deletions().end();
-       ++i)
+  for (const auto& deletion : e.deletions())
+      unsigned i = deletion.index();
       decl_base_sptr decl = deleted_member_at(i);
       string qname = decl->get_qualified_name();
       if (is_type(decl))