Eliminate redundancy in representation of local change kinds.
authorGiuliano Procida <gprocida@google.com>
Wed, 18 Mar 2020 14:29:26 +0000 (14:29 +0000)
committerDodji Seketeli <dodji@redhat.com>
Fri, 20 Mar 2020 22:25:10 +0000 (23:25 +0100)
* include/abg-ir.h (change_kind): Remove redundant
LOCAL_CHANGE_KIND member, renumber members and update
        comments.
* src/abg-comparison.cc (distinct_diff::has_local_changes):
Remove redundant LOCAL_CHANGE_KIND.
(var_diff::has_local_changes
* src/abg-ir.cc (equals): In the type_base,
qualified_type_def, pointer_type_def, reference_type_def,
array_type_def::subrange_type, array_type_def, enum_type_decl,
typedef_decl, var_decl, function_type, function_decl,
function_decl::parameter, class_or_union,
class_decl::base_spec, class_decl, decl_base and scope_decl
overloads, remove redundant LOCAL_CHANGE_KIND.
(enum_has_non_name_change): Remove redundant
LOCAL_CHANGE_KIND.

Signed-off-by: Giuliano Procida <gprocida@google.com>
include/abg-ir.h
src/abg-comparison.cc
src/abg-ir.cc

index c0e14cf412ef87eae604cbb0bba25ab6699f7a06..1278da9460f6c4c72169b63aa55a56e4147eb532 100644 (file)
@@ -1148,34 +1148,24 @@ enum change_kind
 {
   NO_CHANGE_KIND = 0,
 
-  /// This means that a given IR artifact has local differences, with
-  /// respect to the other artifact it was compared against.  A local
-  /// change is a change that is carried by the artifact itself (or
-  /// its type), rather than by one off its sub-types.
-  ///
-  /// Note that if this bit is set, then either one of the @ref
-  /// LOCAL_TYPE_CHANGE_KIND or LOCAL_NON_TYPE_CHANGE_KIND bit must be
-  /// set to, detailing what the kind of local change we have.
-  LOCAL_CHANGE_KIND = 1,
-
-  /// This means that a given IR artifact has a local type change.  If
-  /// this bit is set, then the LOCAL_CHANGE_KIND bit must be set too.
-  LOCAL_TYPE_CHANGE_KIND = 1 << 1,
+  /// This means that a given IR artifact has a local type change.
+  LOCAL_TYPE_CHANGE_KIND = 1 << 0,
 
   /// This means that a given IR artifact has a local non-type change.
   /// That is a change that is carried by the artifact itself, not by
-  /// its type.  If this bit is set, then the LOCAL_CHANGE_KIND bit
-  /// must be set too.
-  LOCAL_NON_TYPE_CHANGE_KIND = 1 << 2,
+  /// its type.
+  LOCAL_NON_TYPE_CHANGE_KIND = 1 << 1,
+
+  /// Testing (anding) against this mask means that a given IR artifact has
+  /// local differences, with respect to the other artifact it was compared
+  /// against. A local change is a change that is carried by the artifact
+  /// itself (or its type), rather than by one off its sub-types.
+  ALL_LOCAL_CHANGES_MASK = LOCAL_TYPE_CHANGE_KIND | LOCAL_NON_TYPE_CHANGE_KIND,
 
   /// This means that a given IR artifact has changes in some of its
   /// sub-types, with respect to the other artifact it was compared
   /// against.
-  SUBTYPE_CHANGE_KIND = 1 << 3,
-
-  /// The masks below must always be the last enumerators.
-  ALL_LOCAL_CHANGES_MASK =
-  LOCAL_CHANGE_KIND | LOCAL_TYPE_CHANGE_KIND | LOCAL_NON_TYPE_CHANGE_KIND
+  SUBTYPE_CHANGE_KIND = 1 << 2,
 };// end enum change_kind
 
 change_kind
index 96a4a484a4ba8a9bab43c417fe23beee71abd726..46bf9e303c52984227120577e8db03b470805e02 100644 (file)
@@ -2713,7 +2713,7 @@ distinct_diff::has_local_changes() const
 {
   // Changes on a distinct_diff are all local.
   if (has_changes())
-    return LOCAL_CHANGE_KIND | LOCAL_TYPE_CHANGE_KIND;
+    return LOCAL_TYPE_CHANGE_KIND;
   return NO_CHANGE_KIND;
 }
 
index 76f573962e31e5ee1096f4cf950ff567c6f8f717..1302329557a9a5640601f840259f86ccae20fcb6 100644 (file)
@@ -3834,7 +3834,7 @@ equals(const decl_base& l, const decl_base& r, change_kind* k)
            {
              result = false;
              if (k)
-               *k |= LOCAL_CHANGE_KIND | LOCAL_NON_TYPE_CHANGE_KIND;
+               *k |= LOCAL_NON_TYPE_CHANGE_KIND;
              else
                return false;
            }
@@ -3874,7 +3874,7 @@ equals(const decl_base& l, const decl_base& r, change_kind* k)
     {
       result = false;
       if (k)
-       *k |= LOCAL_CHANGE_KIND | LOCAL_NON_TYPE_CHANGE_KIND;
+       *k |= LOCAL_NON_TYPE_CHANGE_KIND;
       else
        return false;
     }
@@ -3917,7 +3917,7 @@ equals(const decl_base& l, const decl_base& r, change_kind* k)
        {
          result = false;
          if (k)
-           *k |= LOCAL_CHANGE_KIND | LOCAL_NON_TYPE_CHANGE_KIND;
+           *k |= LOCAL_NON_TYPE_CHANGE_KIND;
          else
            return false;
        }
@@ -5957,7 +5957,7 @@ equals(const scope_decl& l, const scope_decl& r, change_kind* k)
     {
       result = false;
       if (k)
-       *k |= LOCAL_CHANGE_KIND | LOCAL_NON_TYPE_CHANGE_KIND;
+       *k |= LOCAL_NON_TYPE_CHANGE_KIND;
       else
        return false;
     }
@@ -5984,7 +5984,7 @@ equals(const scope_decl& l, const scope_decl& r, change_kind* k)
     {
       result = false;
       if (k)
-       *k |= LOCAL_CHANGE_KIND | LOCAL_NON_TYPE_CHANGE_KIND;
+       *k |= LOCAL_NON_TYPE_CHANGE_KIND;
       else
        return false;
     }
@@ -11942,7 +11942,7 @@ equals(const type_base& l, const type_base& r, change_kind* k)
                 && l.get_alignment_in_bits() == r.get_alignment_in_bits());
   if (!result)
     if (k)
-      *k |= LOCAL_CHANGE_KIND | LOCAL_TYPE_CHANGE_KIND;
+      *k |= LOCAL_TYPE_CHANGE_KIND;
   return result;
 }
 
@@ -12933,7 +12933,7 @@ equals(const qualified_type_def& l, const qualified_type_def& r, change_kind* k)
     {
       result = false;
       if (k)
-       *k |= LOCAL_CHANGE_KIND | LOCAL_NON_TYPE_CHANGE_KIND;
+       *k |= LOCAL_NON_TYPE_CHANGE_KIND;
       else
        return false;
     }
@@ -12948,7 +12948,7 @@ equals(const qualified_type_def& l, const qualified_type_def& r, change_kind* k)
            // Underlying type changes in which the structure of the
            // type changed are considered local changes to the
            // qualified type.
-           *k |= LOCAL_CHANGE_KIND | LOCAL_TYPE_CHANGE_KIND;
+           *k |= LOCAL_TYPE_CHANGE_KIND;
          else
            *k |= SUBTYPE_CHANGE_KIND;
        }
@@ -13325,7 +13325,7 @@ equals(const pointer_type_def& l, const pointer_type_def& r, change_kind* k)
          // pointed-to type changes in which the structure of the
          // type changed are considered local changes to the pointer
          // type.
-         *k |= LOCAL_CHANGE_KIND | LOCAL_TYPE_CHANGE_KIND;
+         *k |= LOCAL_TYPE_CHANGE_KIND;
        *k |= SUBTYPE_CHANGE_KIND;
       }
 
@@ -13618,7 +13618,7 @@ equals(const reference_type_def& l, const reference_type_def& r, change_kind* k)
   if (l.is_lvalue() != r.is_lvalue())
     {
       if (k)
-       *k |= LOCAL_CHANGE_KIND | LOCAL_TYPE_CHANGE_KIND;
+       *k |= LOCAL_TYPE_CHANGE_KIND;
       return false;
     }
 
@@ -13627,7 +13627,7 @@ equals(const reference_type_def& l, const reference_type_def& r, change_kind* k)
     if (k)
       {
        if (!types_have_similar_structure(&l, &r))
-         *k |= LOCAL_CHANGE_KIND | LOCAL_TYPE_CHANGE_KIND;
+         *k |= LOCAL_TYPE_CHANGE_KIND;
        *k |= SUBTYPE_CHANGE_KIND;
       }
   return result;
@@ -14164,7 +14164,7 @@ equals(const array_type_def::subrange_type& l,
     {
       result = false;
       if (k)
-       *k |= LOCAL_CHANGE_KIND | LOCAL_TYPE_CHANGE_KIND;
+       *k |= LOCAL_TYPE_CHANGE_KIND;
       else
        return result;
     }
@@ -14179,7 +14179,7 @@ equals(const array_type_def::subrange_type& l,
        {
          if (!types_have_similar_structure(l.get_underlying_type().get(),
                                            r.get_underlying_type().get()))
-           *k |= LOCAL_CHANGE_KIND | LOCAL_TYPE_CHANGE_KIND;
+           *k |= LOCAL_TYPE_CHANGE_KIND;
          else
            *k |= SUBTYPE_CHANGE_KIND;
        }
@@ -14427,7 +14427,7 @@ equals(const array_type_def& l, const array_type_def& r, change_kind* k)
     {
       result = false;
       if (k)
-       *k |= LOCAL_CHANGE_KIND | LOCAL_TYPE_CHANGE_KIND;
+       *k |= LOCAL_TYPE_CHANGE_KIND;
       else
        return false;
     }
@@ -14441,7 +14441,7 @@ equals(const array_type_def& l, const array_type_def& r, change_kind* k)
        result = false;
        if (k)
          {
-           *k |= LOCAL_CHANGE_KIND | LOCAL_TYPE_CHANGE_KIND;
+           *k |= LOCAL_TYPE_CHANGE_KIND;
            break;
          }
        else
@@ -14876,7 +14876,7 @@ enum_has_non_name_change(const enum_type_decl& l,
        result = true;
        if (k)
          {
-           *k |= LOCAL_CHANGE_KIND | LOCAL_TYPE_CHANGE_KIND;
+           *k |= LOCAL_TYPE_CHANGE_KIND;
            break;
          }
        else
@@ -14887,7 +14887,7 @@ enum_has_non_name_change(const enum_type_decl& l,
     {
       result = true;
       if (k)
-       *k |= LOCAL_CHANGE_KIND | LOCAL_TYPE_CHANGE_KIND;
+       *k |= LOCAL_TYPE_CHANGE_KIND;
       else
        return true;
     }
@@ -14906,9 +14906,9 @@ enum_has_non_name_change(const enum_type_decl& l,
       if (k)
        {
          if (!l.decl_base::operator==(r))
-           *k |= LOCAL_CHANGE_KIND | LOCAL_NON_TYPE_CHANGE_KIND;
+           *k |= LOCAL_NON_TYPE_CHANGE_KIND;
          if (!l.type_base::operator==(r))
-           *k |= LOCAL_CHANGE_KIND | LOCAL_TYPE_CHANGE_KIND;
+           *k |= LOCAL_TYPE_CHANGE_KIND;
        }
       else
        {
@@ -14964,7 +14964,7 @@ equals(const enum_type_decl& l, const enum_type_decl& r, change_kind* k)
        result = false;
        if (k)
          {
-           *k |= LOCAL_CHANGE_KIND | LOCAL_TYPE_CHANGE_KIND;
+           *k |= LOCAL_TYPE_CHANGE_KIND;
            break;
          }
        else
@@ -14975,7 +14975,7 @@ equals(const enum_type_decl& l, const enum_type_decl& r, change_kind* k)
     {
       result = false;
       if (k)
-       *k |= LOCAL_CHANGE_KIND | LOCAL_TYPE_CHANGE_KIND;
+       *k |= LOCAL_TYPE_CHANGE_KIND;
       else
        return false;
     }
@@ -14986,9 +14986,9 @@ equals(const enum_type_decl& l, const enum_type_decl& r, change_kind* k)
       if (k)
        {
          if (!l.decl_base::operator==(r))
-           *k |= LOCAL_CHANGE_KIND | LOCAL_NON_TYPE_CHANGE_KIND;
+           *k |= LOCAL_NON_TYPE_CHANGE_KIND;
          if (!l.type_base::operator==(r))
-           *k |= LOCAL_CHANGE_KIND | LOCAL_TYPE_CHANGE_KIND;
+           *k |= LOCAL_TYPE_CHANGE_KIND;
        }
       else
        return false;
@@ -15337,7 +15337,7 @@ equals(const typedef_decl& l, const typedef_decl& r, change_kind* k)
     {
       result = false;
       if (k)
-       *k |= LOCAL_CHANGE_KIND | LOCAL_NON_TYPE_CHANGE_KIND;
+       *k |= LOCAL_NON_TYPE_CHANGE_KIND;
       else
        return false;
     }
@@ -15648,7 +15648,7 @@ equals(const var_decl& l, const var_decl& r, change_kind* k)
        {
          if (!types_have_similar_structure(l.get_naked_type(),
                                           r.get_naked_type()))
-           *k |= (LOCAL_CHANGE_KIND | LOCAL_TYPE_CHANGE_KIND);
+           *k |= (LOCAL_TYPE_CHANGE_KIND);
          else
            *k |= SUBTYPE_CHANGE_KIND;
        }
@@ -15663,7 +15663,7 @@ equals(const var_decl& l, const var_decl& r, change_kind* k)
     {
       result = false;
       if (k)
-       *k |= LOCAL_CHANGE_KIND | LOCAL_NON_TYPE_CHANGE_KIND;
+       *k |= LOCAL_NON_TYPE_CHANGE_KIND;
       else
        return false;
     }
@@ -15671,7 +15671,7 @@ equals(const var_decl& l, const var_decl& r, change_kind* k)
     {
       result = false;
       if (k)
-       *k |= LOCAL_CHANGE_KIND | LOCAL_NON_TYPE_CHANGE_KIND;
+       *k |= LOCAL_NON_TYPE_CHANGE_KIND;
       else
        return false;
     }
@@ -15693,7 +15693,7 @@ equals(const var_decl& l, const var_decl& r, change_kind* k)
        {
          result = false;
          if (k)
-           *k |= LOCAL_CHANGE_KIND | LOCAL_NON_TYPE_CHANGE_KIND;
+           *k |= LOCAL_NON_TYPE_CHANGE_KIND;
          else
            return false;
        }
@@ -15703,7 +15703,7 @@ equals(const var_decl& l, const var_decl& r, change_kind* k)
       {
        result = false;
        if (k)
-         *k |= LOCAL_CHANGE_KIND | LOCAL_NON_TYPE_CHANGE_KIND;
+         *k |= LOCAL_NON_TYPE_CHANGE_KIND;
        else
          return false;
       }
@@ -15718,7 +15718,7 @@ equals(const var_decl& l, const var_decl& r, change_kind* k)
     {
       result = false;
       if (k)
-       *k |= LOCAL_CHANGE_KIND | LOCAL_NON_TYPE_CHANGE_KIND;
+       *k |= LOCAL_NON_TYPE_CHANGE_KIND;
       else
        return false;
     }
@@ -16239,7 +16239,7 @@ equals(const function_type& lhs,
     {
       result = false;
       if (k)
-       *k |= LOCAL_CHANGE_KIND | LOCAL_TYPE_CHANGE_KIND;
+       *k |= LOCAL_TYPE_CHANGE_KIND;
       else
        RETURN(result);
     }
@@ -16257,7 +16257,7 @@ equals(const function_type& lhs,
     {
       result = false;
       if (k)
-       *k |= LOCAL_CHANGE_KIND | LOCAL_TYPE_CHANGE_KIND;
+       *k |= LOCAL_TYPE_CHANGE_KIND;
       else
        RETURN(result);
     }
@@ -16267,7 +16267,7 @@ equals(const function_type& lhs,
     {
       result = false;
       if (k)
-       *k |= LOCAL_CHANGE_KIND | LOCAL_TYPE_CHANGE_KIND;
+       *k |= LOCAL_TYPE_CHANGE_KIND;
       else
        RETURN(result);
     }
@@ -16302,7 +16302,7 @@ equals(const function_type& lhs,
            {
              if (!types_have_similar_structure(lhs.get_return_type(),
                                                rhs.get_return_type()))
-               *k |= LOCAL_CHANGE_KIND | LOCAL_TYPE_CHANGE_KIND;
+               *k |= LOCAL_TYPE_CHANGE_KIND;
              else
                *k |= SUBTYPE_CHANGE_KIND;
            }
@@ -16345,7 +16345,7 @@ equals(const function_type& lhs,
            {
              if (!types_have_similar_structure((*i)->get_type(),
                                                (*j)->get_type()))
-               *k |= LOCAL_CHANGE_KIND | LOCAL_TYPE_CHANGE_KIND;
+               *k |= LOCAL_TYPE_CHANGE_KIND;
              else
                *k |= SUBTYPE_CHANGE_KIND;
            }
@@ -16359,7 +16359,7 @@ equals(const function_type& lhs,
     {
       result = false;
       if (k)
-       *k |= LOCAL_CHANGE_KIND | LOCAL_NON_TYPE_CHANGE_KIND;
+       *k |= LOCAL_NON_TYPE_CHANGE_KIND;
       else
        RETURN(result);
     }
@@ -17103,7 +17103,7 @@ equals(const function_decl& l, const function_decl& r, change_kind* k)
       if (k)
        {
          if (!types_have_similar_structure(t0, t1))
-           *k |= LOCAL_CHANGE_KIND | LOCAL_TYPE_CHANGE_KIND;
+           *k |= LOCAL_TYPE_CHANGE_KIND;
          else
            *k |= SUBTYPE_CHANGE_KIND;
        }
@@ -17116,7 +17116,7 @@ equals(const function_decl& l, const function_decl& r, change_kind* k)
     {
       result = false;
       if (k)
-       *k |= LOCAL_CHANGE_KIND | LOCAL_NON_TYPE_CHANGE_KIND;
+       *k |= LOCAL_NON_TYPE_CHANGE_KIND;
       else
        return false;
     }
@@ -17126,7 +17126,7 @@ equals(const function_decl& l, const function_decl& r, change_kind* k)
        {
          result = false;
          if (k)
-           *k |= LOCAL_CHANGE_KIND | LOCAL_NON_TYPE_CHANGE_KIND;
+           *k |= LOCAL_NON_TYPE_CHANGE_KIND;
          else
            return false;
        }
@@ -17156,7 +17156,7 @@ equals(const function_decl& l, const function_decl& r, change_kind* k)
        {
          result = false;
          if (k)
-           *k |= LOCAL_CHANGE_KIND | LOCAL_NON_TYPE_CHANGE_KIND;
+           *k |= LOCAL_NON_TYPE_CHANGE_KIND;
          else
            return false;
        }
@@ -17166,7 +17166,7 @@ equals(const function_decl& l, const function_decl& r, change_kind* k)
       {
        result = false;
        if (k)
-         *k |= LOCAL_CHANGE_KIND | LOCAL_NON_TYPE_CHANGE_KIND;
+         *k |= LOCAL_NON_TYPE_CHANGE_KIND;
        else
          return false;
       }
@@ -17177,7 +17177,7 @@ equals(const function_decl& l, const function_decl& r, change_kind* k)
     {
       result = false;
       if (k)
-       *k |= LOCAL_CHANGE_KIND | LOCAL_NON_TYPE_CHANGE_KIND;
+       *k |= LOCAL_NON_TYPE_CHANGE_KIND;
       else
        return false;
     }
@@ -17186,7 +17186,7 @@ equals(const function_decl& l, const function_decl& r, change_kind* k)
     {
       result = false;
       if (k)
-         *k |= LOCAL_CHANGE_KIND | LOCAL_NON_TYPE_CHANGE_KIND;
+         *k |= LOCAL_NON_TYPE_CHANGE_KIND;
       else
        return false;
     }
@@ -17208,7 +17208,7 @@ equals(const function_decl& l, const function_decl& r, change_kind* k)
        {
          result = false;
          if (k)
-           *k |= LOCAL_CHANGE_KIND | LOCAL_NON_TYPE_CHANGE_KIND;
+           *k |= LOCAL_NON_TYPE_CHANGE_KIND;
          else
            return false;
        }
@@ -17556,10 +17556,10 @@ equals(const function_decl::parameter& l,
       if (k)
        {
          if (l.get_index() != r.get_index())
-           *k |= LOCAL_CHANGE_KIND | LOCAL_NON_TYPE_CHANGE_KIND;
+           *k |= LOCAL_NON_TYPE_CHANGE_KIND;
          if (l.get_variadic_marker() != r.get_variadic_marker()
              || !!l.get_type() != !!r.get_type())
-           *k |= LOCAL_CHANGE_KIND | LOCAL_TYPE_CHANGE_KIND;
+           *k |= LOCAL_TYPE_CHANGE_KIND;
        }
       else
        return false;
@@ -17576,7 +17576,7 @@ equals(const function_decl::parameter& l,
       if (k)
        {
          if (!types_have_similar_structure(l_type, r_type))
-           *k |= LOCAL_CHANGE_KIND | LOCAL_TYPE_CHANGE_KIND;
+           *k |= LOCAL_TYPE_CHANGE_KIND;
          else
            *k |= SUBTYPE_CHANGE_KIND;
        }
@@ -18834,7 +18834,7 @@ equals(const class_or_union& l, const class_or_union& r, change_kind* k)
              else
                {
                  if (k)
-                   *k |= LOCAL_CHANGE_KIND | LOCAL_TYPE_CHANGE_KIND;
+                   *k |= LOCAL_TYPE_CHANGE_KIND;
                  // Not using RETURN(true) here, because that causes
                  // performance issues.  We don't need to do
                  // l.priv_->unmark_as_being_compared({l,r}) here because
@@ -18850,7 +18850,7 @@ equals(const class_or_union& l, const class_or_union& r, change_kind* k)
              if (!!def1 != !!def2)
                {
                  if (k)
-                   *k |= LOCAL_CHANGE_KIND | LOCAL_TYPE_CHANGE_KIND;
+                   *k |= LOCAL_TYPE_CHANGE_KIND;
                  return false;
                }
 
@@ -18859,7 +18859,7 @@ equals(const class_or_union& l, const class_or_union& r, change_kind* k)
                       && l.type_base::operator==(r)))
                {
                  if (k)
-                   *k |= LOCAL_CHANGE_KIND | LOCAL_TYPE_CHANGE_KIND;
+                   *k |= LOCAL_TYPE_CHANGE_KIND;
                  return false;
                }
 
@@ -18877,7 +18877,7 @@ equals(const class_or_union& l, const class_or_union& r, change_kind* k)
       bool val = *def1 == *def2;
       if (!val)
        if (k)
-         *k |= LOCAL_CHANGE_KIND | LOCAL_TYPE_CHANGE_KIND;
+         *k |= LOCAL_TYPE_CHANGE_KIND;
       RETURN(val);
     }
 
@@ -18886,7 +18886,7 @@ equals(const class_or_union& l, const class_or_union& r, change_kind* k)
   if (!(l.decl_base::operator==(r) && l.type_base::operator==(r)))
     {
       if (k)
-       *k |= LOCAL_CHANGE_KIND | LOCAL_TYPE_CHANGE_KIND;
+       *k |= LOCAL_TYPE_CHANGE_KIND;
       RETURN(false);
     }
 
@@ -18909,7 +18909,7 @@ equals(const class_or_union& l, const class_or_union& r, change_kind* k)
       {
        result = false;
        if (k)
-         *k |= LOCAL_CHANGE_KIND | LOCAL_TYPE_CHANGE_KIND;
+         *k |= LOCAL_TYPE_CHANGE_KIND;
        else
          RETURN(result);
       }
@@ -18928,7 +18928,7 @@ equals(const class_or_union& l, const class_or_union& r, change_kind* k)
              // Report any representation change as being local.
              if (!types_have_similar_structure((*d0)->get_type(),
                                                (*d1)->get_type()))
-               *k |= LOCAL_CHANGE_KIND | LOCAL_TYPE_CHANGE_KIND;
+               *k |= LOCAL_TYPE_CHANGE_KIND;
              else
                *k |= SUBTYPE_CHANGE_KIND;
            }
@@ -18949,7 +18949,7 @@ equals(const class_or_union& l, const class_or_union& r, change_kind* k)
       {
        result = false;
        if (k)
-         *k |= LOCAL_CHANGE_KIND | LOCAL_NON_TYPE_CHANGE_KIND;
+         *k |= LOCAL_NON_TYPE_CHANGE_KIND;
        else
          RETURN(result);
       }
@@ -18965,7 +18965,7 @@ equals(const class_or_union& l, const class_or_union& r, change_kind* k)
          result = false;
          if (k)
            {
-             *k |= LOCAL_CHANGE_KIND | LOCAL_NON_TYPE_CHANGE_KIND;
+             *k |= LOCAL_NON_TYPE_CHANGE_KIND;
              break;
            }
          else
@@ -18980,7 +18980,7 @@ equals(const class_or_union& l, const class_or_union& r, change_kind* k)
       {
        result = false;
        if (k)
-         *k |= LOCAL_CHANGE_KIND | LOCAL_NON_TYPE_CHANGE_KIND;
+         *k |= LOCAL_NON_TYPE_CHANGE_KIND;
        else
          RETURN(result);
       }
@@ -18996,7 +18996,7 @@ equals(const class_or_union& l, const class_or_union& r, change_kind* k)
          result = false;
          if (k)
            {
-             *k |= LOCAL_CHANGE_KIND | LOCAL_NON_TYPE_CHANGE_KIND;
+             *k |= LOCAL_NON_TYPE_CHANGE_KIND;
              break;
            }
          else
@@ -19656,7 +19656,7 @@ equals(const class_decl::base_spec& l,
   if (!l.member_base::operator==(r))
     {
       if (k)
-       *k |= LOCAL_CHANGE_KIND | LOCAL_TYPE_CHANGE_KIND;
+       *k |= LOCAL_TYPE_CHANGE_KIND;
       return false;
     }
 
@@ -20316,7 +20316,7 @@ equals(const class_decl& l, const class_decl& r, change_kind* k)
       {
        result = false;
        if (k)
-         *k |= LOCAL_CHANGE_KIND | LOCAL_TYPE_CHANGE_KIND;
+         *k |= LOCAL_TYPE_CHANGE_KIND;
        else
          RETURN(result);
       }
@@ -20334,7 +20334,7 @@ equals(const class_decl& l, const class_decl& r, change_kind* k)
            {
              if (!types_have_similar_structure((*b0)->get_base_class().get(),
                                                (*b1)->get_base_class().get()))
-               *k |= LOCAL_CHANGE_KIND | LOCAL_TYPE_CHANGE_KIND;
+               *k |= LOCAL_TYPE_CHANGE_KIND;
              else
                *k |= SUBTYPE_CHANGE_KIND;
              break;
@@ -20365,7 +20365,7 @@ equals(const class_decl& l, const class_decl& r, change_kind* k)
       {
        result = false;
        if (k)
-         *k |= LOCAL_CHANGE_KIND | LOCAL_NON_TYPE_CHANGE_KIND;
+         *k |= LOCAL_NON_TYPE_CHANGE_KIND;
        else
          RETURN(result);
       }
@@ -20395,7 +20395,7 @@ equals(const class_decl& l, const class_decl& r, change_kind* k)
          {
            result = false;
            if (k)
-             *k |= LOCAL_CHANGE_KIND | LOCAL_NON_TYPE_CHANGE_KIND;
+             *k |= LOCAL_NON_TYPE_CHANGE_KIND;
            RETURN(result);
          }