[09/16] ir: Add missing ABG_RETURN in the comparison engine

Message ID 87edjaf6bi.fsf@redhat.com
State New
Headers
Series Fixing various issues found while working on PR30309 |

Commit Message

Dodji Seketeli Sept. 7, 2023, 1:42 p.m. UTC
  Hello,

During structural type comparison, we want to be able to break on the
first occurrence of two sub-types comparing different.  This is done
by setting a breakpoint into the notify_equality_failed function that
is called by the ABG_RETURN macro in the comparison functions.

The problem is that I stumbled upon some code paths that are missing
the ABG_RETURN macro.  Fixed thus.  This will help in debugging
sessions.

	* src/abg-ir.cc (equals): In the overload for function_type,
	class_decl and union_decl, add a missing ABG_RETURN.

Signed-off-by: Dodji Seketeli <dodji@redhat.com>
Applied to master.
---
 src/abg-ir.cc | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
  

Patch

diff --git a/src/abg-ir.cc b/src/abg-ir.cc
index b33d6d68..cb230082 100644
--- a/src/abg-ir.cc
+++ b/src/abg-ir.cc
@@ -20257,8 +20257,8 @@  equals(const function_type& l, const function_type& r, change_kind* k)
     // comparing them all over again.
     bool cached_result = false;
     if (l.get_environment().priv_->is_type_comparison_cached(l, r,
-							      cached_result))
-      return cached_result;
+							     cached_result))
+      ABG_RETURN(cached_result);
   }
 
   mark_types_as_being_compared(l, r);
@@ -24251,7 +24251,7 @@  equals(const class_decl& l, const class_decl& r, change_kind* k)
     // over again.
     bool result = false;
     if (l.get_environment().priv_->is_type_comparison_cached(l, r, result))
-      return result;
+      ABG_RETURN(result);
   }
 
   // if one of the classes is declaration-only then we take a fast
@@ -25438,7 +25438,7 @@  equals(const union_decl& l, const union_decl& r, change_kind* k)
     // over again.
     bool result = false;
     if (l.get_environment().priv_->is_type_comparison_cached(l, r, result))
-      return result;
+      ABG_RETURN(result);
   }
 
   bool result = equals(static_cast<const class_or_union&>(l),