public inbox for libabigail@sourceware.org
 help / color / mirror / Atom feed
From: Matthias Maennich <maennich@google.com>
To: Giuliano Procida <gprocida@google.com>
Cc: libabigail@sourceware.org, Dodji Seketeli <dodji@seketeli.org>,
	kernel-team@android.com
Subject: Re: [PATCH 3/5] [abidiff] Eliminate some unnecessary blank lines in diff output.
Date: Mon, 16 Mar 2020 13:29:12 +0100	[thread overview]
Message-ID: <20200316122912.GB211970@google.com> (raw)
In-Reply-To: <CAGvU0Hk_naSfwCveBEL6h+6E6o1n+877O_i+9Ed+B-fFL8n7Vg@mail.gmail.com>

On Mon, Mar 16, 2020 at 10:51:22AM +0000, Giuliano Procida wrote:
>Hi Matthias.
>
>On Sat, 14 Mar 2020 at 20:09, Matthias Maennich <maennich@google.com> wrote:
>>
>> On Thu, Mar 12, 2020 at 06:30:34AM +0000, Android Kernel Team wrote:
>> >There is distributed responsibility for horizontal and vertical
>> >whitespace in the reporting code with indent and new line control
>> >information being manipulated by and passed in and out of functions.
>> >Occasionally, this information is ignored or incorrect and the code
>> >tends to err on the side of more rather than fewer new lines.
>> >
>> >The outcome is that abidiff output sometimes contains extra blank
>> >lines which can be confusing.
>> >
>> >This patch eliminates some of the more obvious cases:
>> >
>> >   - after data member deletions
>> >   - in enumerator change lists
>> >   - after "type size hasn't changed"
>> >   - before listing impacted interfaces
>> >
>> >The patch cleans up the reporting of data members. The code will
>> >either emit indentation, a short description and a new line or do
>> >nothing at all.
>> >
>> >The patch also removes some stray location reporting code for array
>> >diffs which would have produced some oddly placed output. I could not
>> >get this code to trigger as loc = decl->get_location() was never
>> >present on the array decls in question.
>> >
>> >       * src/abg-default-reporter.cc (report): In the enum_diff
>> >       override, simplify new line logic; emit just one
>> >       blank line after each enum. In the array_diff override, remove
>> >       stray location reporting which doesn't appear to ever trigger;
>> >       fix new line logic. In the class_or_union_diff override,
>> >       simplify new line logic for deleted members; pass indentation
>> >       to represent_data_member.
>> >       * src/abg-leaf-reporter.cc (report): In the array_diff
>> >       override, remove stray location reporting which doesn't appear
>> >       to ever trigger; fix new line handling. In the
>> >       class_or_union_diff override, simplify new line logic for
>> >       deleted members; pass indentation to represent_data_member.
>> >       * src/abg-reporter-priv.cc (represent_data_member): Handle
>> >       indentation; fix new line logic.
>> >       (report_size_and_alignment_changes): Fix new line logic
>> >       for "type size hasn't changed" message; simplify new line
>> >       logic.
>> >       (report_name_size_and_alignment_changes): Fix new line logic.
>> >       (maybe_report_interfaces_impacted_by_diff) Remove new line
>> >       prefix code and new_line_prefix argument.
>> >       * src/abg-reporter-priv.h (represent_data_member): Add indent
>> >       argument.
>> >       (maybe_report_interfaces_impacted_by_diff) Remove
>> >       new_line_prefix argument.
>> >       * tests/data/test-*/*report*.txt: Remove some blank lines.
>> >
>> >Signed-off-by: Giuliano Procida <gprocida@google.com>
>> >---
>> > src/abg-default-reporter.cc                   |  43 +++-----
>> > src/abg-leaf-reporter.cc                      |  27 ++---
>> > src/abg-reporter-priv.cc                      |  34 +++---
>> > src/abg-reporter-priv.h                       |   9 +-
>> > .../test5-fn-changed-report-0.txt             |   1 -
>> > .../test5-fn-changed-report-1.txt             |   1 -
>> > .../test6-var-changed-report-0.txt            |   1 -
>> > .../test6-var-changed-report-1.txt            |   1 -
>> > .../test7-fn-changed-report-0.txt             |   1 -
>> > .../test-abidiff-exit/test-leaf3-report.txt   |   1 -
>> > .../test-loc-with-locs-report.txt             |   1 -
>> > .../test-loc-without-locs-report.txt          |   1 -
>> > .../test-abidiff/test-PR18791-report0.txt     |   2 -
>> > tests/data/test-abidiff/test-enum0-report.txt |   1 -
>> > tests/data/test-abidiff/test-enum1-report.txt |   1 -
>> > .../data/test-abidiff/test-struct1-report.txt |   1 -
>> > .../PR25058-liblttng-ctl-report-1.txt         |   5 -
>> > tests/data/test-diff-dwarf/test13-report.txt  |   1 -
>> > .../test-diff-dwarf/test38-union-report-0.txt |   1 -
>> > .../data/test-diff-dwarf/test40-report-0.txt  |   2 -
>> > .../test42-PR21296-clanggcc-report0.txt       |   1 -
>> > .../test43-PR22913-report-0.txt               |   1 -
>> > tests/data/test-diff-filter/test10-report.txt |   1 -
>> > tests/data/test-diff-filter/test18-report.txt |   1 -
>> > ...st23-redundant-fn-parm-change-report-0.txt |   2 -
>> > .../test30-pr18904-rvalueref-report0.txt      |   8 --
>> > .../test30-pr18904-rvalueref-report1.txt      |   8 --
>> > .../test30-pr18904-rvalueref-report2.txt      |   8 --
>> > .../test35-pr18754-no-added-syms-report-0.txt |   8 --
>> > .../data/test-diff-filter/test36-report-0.txt |   3 -
>> > .../test42-leaf-report-output-0.txt           |   1 -
>> > tests/data/test-diff-filter/test7-report.txt  |   1 -
>> > ...-2.0-0v5_2.4.1-1ubuntu2_amd64-report-0.txt |   2 -
>> > .../nss-3.23.0-1.0.fc23.x86_64-report-0.txt   |   4 -
>> > ...l7.x86_64-0.12.8-1.el7.x86_64-report-0.txt |   2 -
>> > ...l7.x86_64-0.12.8-1.el7.x86_64-report-1.txt |   2 -
>> > ...l7.x86_64-0.12.8-1.el7.x86_64-report-2.txt | 101 ------------------
>> > ...l7.x86_64-0.12.8-1.el7.x86_64-report-3.txt |   3 -
>> > ...bb-4.3-3.20141204.fc23.x86_64-report-0.txt |   5 -
>> > ...bb-4.3-3.20141204.fc23.x86_64-report-1.txt |   1 -
>> > .../test10-changed-parm-c-report-0.txt        |   3 -
>> > .../test-diff-suppr/test35-leaf-report-0.txt  |   1 -
>> > .../test-diff-suppr/test36-leaf-report-0.txt  |   2 -
>> > .../test41-enumerator-changes-report-0.txt    |   2 -
>> > 44 files changed, 42 insertions(+), 264 deletions(-)
>> >
>> >diff --git a/src/abg-default-reporter.cc b/src/abg-default-reporter.cc
>> >index 3bfdfbc4..a0b9eeea 100644
>> >--- a/src/abg-default-reporter.cc
>> >+++ b/src/abg-default-reporter.cc
>> >@@ -130,16 +130,14 @@ default_reporter::report(const enum_diff& d, ostream& out,
>> >          i != sorted_deleted_enumerators.end();
>> >          ++i)
>> >       {
>> >-        if (i != sorted_deleted_enumerators.begin())
>> >-          out << "\n";
>> >         out << indent
>> >             << "  '"
>> >             << i->get_qualified_name()
>> >             << "' value '"
>> >             << i->get_value()
>> >             << "'";
>> >+        out << "\n";
>> >       }
>> >-      out << "\n\n";
>> >     }
>> >   if (numins)
>> >     {
>> >@@ -151,16 +149,14 @@ default_reporter::report(const enum_diff& d, ostream& out,
>> >          i != sorted_inserted_enumerators.end();
>> >          ++i)
>> >       {
>> >-        if (i != sorted_inserted_enumerators.begin())
>> >-          out << "\n";
>> >         out << indent
>> >             << "  '"
>> >             << i->get_qualified_name()
>> >             << "' value '"
>> >             << i->get_value()
>> >             << "'";
>> >+        out << "\n";
>> >       }
>> >-      out << "\n\n";
>> >     }
>> >   if (numchanges)
>> >     {
>> >@@ -173,8 +169,6 @@ default_reporter::report(const enum_diff& d, ostream& out,
>> >          i != sorted_changed_enumerators.end();
>> >          ++i)
>> >       {
>> >-        if (i != sorted_changed_enumerators.begin())
>> >-          out << "\n";
>> >         out << indent
>> >             << "  '"
>> >             << i->first.get_qualified_name()
>> >@@ -182,13 +176,14 @@ default_reporter::report(const enum_diff& d, ostream& out,
>> >             << i->first.get_value() << "' to '"
>> >             << i->second.get_value() << "'";
>> >         report_loc_info(second, *d.context(), out);
>> >+        out << "\n";
>> >       }
>> >-      out << "\n\n";
>> >     }
>> >
>> >+  out << "\n";
>> >+
>> >   if (d.context()->show_leaf_changes_only())
>> >-    maybe_report_interfaces_impacted_by_diff(&d, out, indent,
>> >-                                           /*new_line_prefix=*/false);
>> >+    maybe_report_interfaces_impacted_by_diff(&d, out, indent);
>> >
>> >   d.reported_once(true);
>> > }
>> >@@ -392,7 +387,7 @@ default_reporter::report(const pointer_diff& d, ostream& out,
>> >       : string("void");
>> >
>> >       out << indent
>> >-        << "in pointed to type '" <<  repr << "'";
>> >+        << "in pointed to type '" << repr << "'";
>> >       report_loc_info(dif->second_subject(), *d.context(), out);
>> >       out << ":\n";
>> >       dif->report(out, indent + "  ");
>> >@@ -673,12 +668,12 @@ default_reporter::report(const array_diff& d, ostream& out,
>> >       dif->report(out, indent + "  ");
>> >     }
>> >
>> >-  report_name_size_and_alignment_changes(d.first_array(),
>> >-                                       d.second_array(),
>> >-                                       d.context(),
>> >-                                       out, indent,
>> >-                                       /*new line=*/false);
>> >-  report_loc_info(d.second_array(), *d.context(), out);
>> >+  if (report_name_size_and_alignment_changes(d.first_array(),
>> >+                                           d.second_array(),
>> >+                                           d.context(),
>> >+                                           out, indent,
>> >+                                           /*new line=*/false))
>>
>> Though it is not required here, I would prefer braces for readability.
>
>Agreed, I think it's sensible here. In other places, with the coding
>style in use, we'd end up with:
>
>if (emitted)
>  {
>    out << "\n";
>  }

Let's take this one at this location.

>
>which is pretty verbose. The following would be fine by me:
>
>if (emitted) out << "\n";
>
>Lastly, short but ugly:
>
>  emitted && (out << "\n");
>
>> >+    out << "\n";
>> > }
>> >
>> > /// Generates a report for an intance of @ref base_diff.
>> >@@ -1014,7 +1009,6 @@ default_reporter::report(const class_or_union_diff& d,
>> >         sort_data_members
>> >           (d.class_or_union_diff::get_priv()->deleted_data_members_,
>> >            sorted_dms);
>> >-        bool emitted = false;
>> >         for (vector<decl_base_sptr>::const_iterator i = sorted_dms.begin();
>> >              i != sorted_dms.end();
>> >              ++i)
>> >@@ -1024,14 +1018,8 @@ default_reporter::report(const class_or_union_diff& d,
>> >             ABG_ASSERT(data_mem);
>> >             if (get_member_is_static(data_mem))
>> >               continue;
>> >-            if (emitted)
>> >-              out << "\n";
>> >-            out << indent << "  ";
>> >-            represent_data_member(data_mem, ctxt, out);
>> >-            emitted = true;
>> >+            represent_data_member(data_mem, ctxt, out, indent + "  ");
>> >           }
>> >-        if (emitted)
>> >-          out << "\n";
>> >       }
>> >
>> >       //report insertions
>> >@@ -1052,8 +1040,7 @@ default_reporter::report(const class_or_union_diff& d,
>> >             var_decl_sptr data_mem =
>> >               dynamic_pointer_cast<var_decl>(*i);
>> >             ABG_ASSERT(data_mem);
>> >-            out << indent << "  ";
>> >-            represent_data_member(data_mem, ctxt, out);
>> >+            represent_data_member(data_mem, ctxt, out, indent + "  ");
>> >           }
>> >       }
>> >
>> >diff --git a/src/abg-leaf-reporter.cc b/src/abg-leaf-reporter.cc
>> >index bbd51dcb..f706bd21 100644
>> >--- a/src/abg-leaf-reporter.cc
>> >+++ b/src/abg-leaf-reporter.cc
>> >@@ -78,7 +78,7 @@ report_diffs(const reporter_base& r,
>> >
>> >         string n = (*i)->first_subject()->get_pretty_representation();
>> >
>> >-        out << indent << "'" << n ;
>> >+        out << indent << "'" << n;
>> >
>> >         report_loc_info((*i)->first_subject(),
>> >                         *(*i)->context(), out);
>> >@@ -425,11 +425,12 @@ leaf_reporter::report(const array_diff& d,
>> >                                                   d.second_array(),
>> >                                                   "array type");
>> >
>> >-  report_name_size_and_alignment_changes(d.first_array(),
>> >-                                       d.second_array(),
>> >-                                       d.context(),
>> >-                                       out, indent,
>> >-                                       /*new line=*/false);
>> >+  if (report_name_size_and_alignment_changes(d.first_array(),
>> >+                                           d.second_array(),
>> >+                                           d.context(),
>> >+                                           out, indent,
>> >+                                           /*new line=*/false))
>>
>> As above.
>
>Agreed.
>
>> >+    out << "\n";
>> >
>> >   diff_sptr dif = d.element_type_diff();
>> >   if (diff_to_be_reported(dif.get()))
>> >@@ -441,8 +442,6 @@ leaf_reporter::report(const array_diff& d,
>> >       dif->report(out, indent + "  ");
>> >     }
>> >
>> >-  report_loc_info(d.second_array(), *d.context(), out);
>> >-
>> >   maybe_report_interfaces_impacted_by_diff(&d, out, indent);
>> > }
>> >
>> >@@ -592,7 +591,6 @@ leaf_reporter::report(const class_or_union_diff& d,
>> >         sort_data_members
>> >           (d.class_or_union_diff::get_priv()->deleted_data_members_,
>> >            sorted_dms);
>> >-        bool emitted = false;
>> >         for (vector<decl_base_sptr>::const_iterator i = sorted_dms.begin();
>> >              i != sorted_dms.end();
>> >              ++i)
>> >@@ -602,14 +600,8 @@ leaf_reporter::report(const class_or_union_diff& d,
>> >             ABG_ASSERT(data_mem);
>> >             if (get_member_is_static(data_mem))
>> >               continue;
>> >-            if (emitted)
>> >-              out << "\n";
>> >-            out << indent << "  ";
>> >-            represent_data_member(data_mem, ctxt, out);
>> >-            emitted = true;
>> >+            represent_data_member(data_mem, ctxt, out, indent + "  ");
>> >           }
>> >-        if (emitted)
>> >-          out << "\n";
>> >       }
>> >
>> >       //report insertions
>> >@@ -630,8 +622,7 @@ leaf_reporter::report(const class_or_union_diff& d,
>> >             var_decl_sptr data_mem =
>> >               dynamic_pointer_cast<var_decl>(*i);
>> >             ABG_ASSERT(data_mem);
>> >-            out << indent << "  ";
>> >-            represent_data_member(data_mem, ctxt, out);
>> >+            represent_data_member(data_mem, ctxt, out, indent + "  ");
>> >           }
>> >       }
>> >
>> >diff --git a/src/abg-reporter-priv.cc b/src/abg-reporter-priv.cc
>> >index fbac85f8..948a32fc 100644
>> >--- a/src/abg-reporter-priv.cc
>> >+++ b/src/abg-reporter-priv.cc
>> >@@ -242,16 +242,19 @@ represent(const diff_context& ctxt,
>> > /// @param ctxt the current diff context.
>> > ///
>> > /// @param out the output stream to send the representation to
>> >+///
>> >+/// @param indent the indentation string to use for the change report.
>> > void
>> > represent_data_member(var_decl_sptr d,
>> >                     const diff_context_sptr& ctxt,
>> >-                    ostream& out)
>> >+                    ostream& out,
>> >+                    const string& indent)
>>
>> I would prefer out parameters after all input parameters. Since this is
>> a private implementation detail, we should be good to change that
>> interface.
>
>I looked at the existing functions and copied an existing order for
>consistency. out and indent belong together morally as well (writer
>monad). If we switch to an indenting ostream, this issue goes away.
>
>> > {
>> >   if (!is_data_member(d)
>> >       || (!get_member_is_static(d) && !get_data_member_is_laid_out(d)))
>> >     return;
>> >
>> >-  out << "'" << d->get_pretty_representation() << "'";
>> >+  out << indent << "'" << d->get_pretty_representation() << "'";
>> >   if (!get_member_is_static(d))
>> >     {
>> >       // Do not emit offset information for data member of a union
>> >@@ -262,8 +265,8 @@ represent_data_member(var_decl_sptr d,
>> >                           get_data_member_offset(d),
>> >                           *ctxt, out);
>> >       report_loc_info(d, *ctxt, out);
>> >-      out << "\n";
>> >     }
>> >+  out << "\n";
>> > }
>> >
>> > /// If a given @ref var_diff node carries a data member change in
>> >@@ -806,7 +809,10 @@ report_size_and_alignment_changes(type_or_decl_base_sptr  first,
>> >       } // end if (fs != ss || fdc != sdc)
>> >       else
>> >       if (ctxt->show_relative_offset_changes())
>> >-        out << indent << "type size hasn't changed\n";
>> >+        {
>> >+          out << indent << "type size hasn't changed";
>> >+          n = true;
>> >+        }
>> >     }
>> >   if ((ctxt->get_allowed_category() & SIZE_OR_OFFSET_CHANGE_CATEGORY)
>> >       && (fa != sa))
>> >@@ -819,9 +825,7 @@ report_size_and_alignment_changes(type_or_decl_base_sptr   first,
>> >       n = true;
>> >     }
>> >
>> >-  if (n)
>> >-    return true;
>> >-  return false;
>> >+  return n;
>>
>> We should give 'n' a better name. Not necessarily part of this change.
>
>Acknowledged. If we are going to review newline handling we should do
>it everywhere and consistently. Ideally we should get to the point
>where we don't have to pass information about newlines around (this
>will likely be possible with an indenting ostream but may be doable
>even without that).
>
>> > }
>> >
>> > /// @param tod the type or declaration to emit loc info about
>> >@@ -910,8 +914,8 @@ report_name_size_and_alignment_changes(decl_base_sptr              first,
>> >       }
>> >     }
>> >
>> >-  nl |= report_size_and_alignment_changes(first, second, ctxt,
>> >-                                        out, indent, nl);
>> >+  nl = report_size_and_alignment_changes(first, second, ctxt,
>> >+                                         out, indent, nl);
>> >   return nl;
>> > }
>> >
>> >@@ -1366,14 +1370,10 @@ maybe_report_unreachable_type_changes(const corpus_diff& d,
>> > /// @param out the output stream to report to.
>> > ///
>> > /// @param indent the white space string to use for indentation.
>> >-///
>> >-/// @param new_line_prefix if set to true, it means there is going to
>> >-/// be a new line emitted before the report.
>> > void
>> > maybe_report_interfaces_impacted_by_diff(const diff   *d,
>> >                                        ostream        &out,
>> >-                                       const string   &indent,
>> >-                                       bool           new_line_prefix)
>> >+                                       const string   &indent)
>> > {
>> >   const diff_context_sptr &ctxt = d->context();
>> >   const corpus_diff_sptr &corp_diff = ctxt->get_corpus_diff();
>> >@@ -1395,9 +1395,6 @@ maybe_report_interfaces_impacted_by_diff(const diff      *d,
>> >   vector<type_or_decl_base_sptr> sorted_impacted_interfaces;
>> >   sort_artifacts_set(*impacted_artifacts, sorted_impacted_interfaces);
>> >
>> >-  if (new_line_prefix)
>> >-    out << '\n';
>> >-
>>
>> I think we need to keep this newline. It separates the cause (the leaf
>> node change) from the impacted interfaces (the top level nodes).
>
>I disagree.
>
>I think the "impacted interfaces" block should be indented w.r.t leaf
>node change's introductory text or separated from the whole node
>change section by an extra new line, but not both. I'd prefer the
>former as this should be a parent-child relationship in the text
>output tree rather than a sibling one.
>
>Phrased another way, the text would be equally meaningful like this
>(adapting tests/data/test-diff-filter/test42-leaf-report-output-0.txt;
>though abitool.py's short report would need a tweak; it needs a tweak

Just for the context: abitool.py we use in Android to monitor the kernel
ABI with libabigail :-) See
https://android.googlesource.com/kernel/build/+/refs/heads/master/abi/

>anyway for the case of 1 impacted interface):
>
>'struct leaf at test42-leaf-report-v0.cc:4:1' changed:
>  one impacted interface:
>    function void fn(C&)
> type size changed from 32 to 64 (in bits)
>  1 data member insertion:
>    'char leaf::m1', at offset 32 (in bits) at test42-leaf-report-v1.cc:7:1
>

The only concern I have and that I would like to see addressed is that
the list of impacted interfaces can be considerably long (thousands for
a central struct). That can get difficult to work with if this is
'embedded' there.
In order to better address abi differences like that, I would prefer the
current format:

# what changed
'struct leaf at test42-leaf-report-v0.cc:4:1' changed:
 type size changed from 32 to 64 (in bits)
  1 data member insertion:
    'char leaf::m1', at offset 32 (in bits) at test42-leaf-report-v1.cc:7:1

# impact
  one impacted interface:
    function void fn(C&)

There we can also truncate the list of impacted interfaces.

Cheers,
Matthias

>Happy to discuss further.
>
>> With the above addressed, feel free to add
>> Reviewed-by: Matthias Maennich <maennich@google.com>
>>
>> Cheers,
>> Matthias
>
>Regards,
>Giuliano.
>
>> >   size_t num_impacted_interfaces = impacted_artifacts->size();
>> >   if (num_impacted_interfaces == 1)
>> >     out << indent << "one impacted interface:\n";
>> >@@ -1424,9 +1421,6 @@ maybe_report_interfaces_impacted_by_diff(const diff      *d,
>> > /// @param out the output stream to report to.
>> > ///
>> > /// @param indent the white space string to use for indentation.
>> >-///
>> >-/// @param new_line_prefix if set to true, it means there is going to
>> >-/// be a new line emitted before the report.
>> > void
>> > maybe_report_interfaces_impacted_by_diff(const diff_sptr      &d,
>> >                                        ostream                &out,
>> >diff --git a/src/abg-reporter-priv.h b/src/abg-reporter-priv.h
>> >index 7471c74f..04803f43 100644
>> >--- a/src/abg-reporter-priv.h
>> >+++ b/src/abg-reporter-priv.h
>> >@@ -151,7 +151,8 @@ represent(const diff_context& ctxt,
>> > void
>> > represent_data_member(var_decl_sptr d,
>> >                     const diff_context_sptr& ctxt,
>> >-                    ostream& out);
>> >+                    ostream& out,
>> >+                    const string& indent);
>> >
>> > void
>> > maybe_show_relative_offset_change(const var_diff_sptr &diff,
>> >@@ -244,14 +245,12 @@ maybe_report_unreachable_type_changes(const corpus_diff& d,
>> > void
>> > maybe_report_interfaces_impacted_by_diff(const diff           *d,
>> >                                        ostream                &out,
>> >-                                       const string           &indent,
>> >-                                       bool new_line_prefix = true);
>> >+                                       const string           &indent);
>> >
>> > void
>> > maybe_report_interfaces_impacted_by_diff(const diff_sptr      &d,
>> >                                        ostream                &out,
>> >-                                       const string           &indent,
>> >-                                       bool new_line_prefix = false);
>> >+                                       const string           &indent);
>> >
>> > } // end namespace comparison
>> > } // end namespace abigail
>> >diff --git a/tests/data/test-abicompat/test5-fn-changed-report-0.txt b/tests/data/test-abicompat/test5-fn-changed-report-0.txt
>> >index 96d48ccf..04676908 100644
>> >--- a/tests/data/test-abicompat/test5-fn-changed-report-0.txt
>> >+++ b/tests/data/test-abicompat/test5-fn-changed-report-0.txt
>> >@@ -15,4 +15,3 @@ have sub-types that are different from what application 'test5-fn-changed-app' e
>> >         1 data member deletion:
>> >           'unsigned char S1::m1', at offset 32 (in bits)
>> >
>> >-
>> >diff --git a/tests/data/test-abicompat/test5-fn-changed-report-1.txt b/tests/data/test-abicompat/test5-fn-changed-report-1.txt
>> >index 3c8c4a8f..b39f650d 100644
>> >--- a/tests/data/test-abicompat/test5-fn-changed-report-1.txt
>> >+++ b/tests/data/test-abicompat/test5-fn-changed-report-1.txt
>> >@@ -15,4 +15,3 @@ have sub-types that are different from what application 'test5-fn-changed-app' e
>> >         1 data member deletion:
>> >           'unsigned char S1::m1', at offset 32 (in bits) at test5-fn-changed-libapp-v0.h:11:1
>> >
>> >-
>> >diff --git a/tests/data/test-abicompat/test6-var-changed-report-0.txt b/tests/data/test-abicompat/test6-var-changed-report-0.txt
>> >index 5d2bd89c..f5077879 100644
>> >--- a/tests/data/test-abicompat/test6-var-changed-report-0.txt
>> >+++ b/tests/data/test-abicompat/test6-var-changed-report-0.txt
>> >@@ -13,4 +13,3 @@ have sub-types that are different from what application 'test6-var-changed-app'
>> >       1 data member deletion:
>> >         'unsigned char S1::m1', at offset 32 (in bits)
>> >
>> >-
>> >diff --git a/tests/data/test-abicompat/test6-var-changed-report-1.txt b/tests/data/test-abicompat/test6-var-changed-report-1.txt
>> >index 697929f0..5b78c83c 100644
>> >--- a/tests/data/test-abicompat/test6-var-changed-report-1.txt
>> >+++ b/tests/data/test-abicompat/test6-var-changed-report-1.txt
>> >@@ -13,4 +13,3 @@ have sub-types that are different from what application 'test6-var-changed-app'
>> >       1 data member deletion:
>> >         'unsigned char S1::m1', at offset 32 (in bits) at test6-var-changed-libapp-v0.h:11:1
>> >
>> >-
>> >diff --git a/tests/data/test-abicompat/test7-fn-changed-report-0.txt b/tests/data/test-abicompat/test7-fn-changed-report-0.txt
>> >index 19db76e3..6a34710d 100644
>> >--- a/tests/data/test-abicompat/test7-fn-changed-report-0.txt
>> >+++ b/tests/data/test-abicompat/test7-fn-changed-report-0.txt
>> >@@ -9,7 +9,6 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
>> >       type name changed from 'float' to 'int'
>> >       type size hasn't changed
>> >
>> >-
>> >   [C] 'function void print(const Student)' has some indirect sub-type changes:
>> >     parameter 1 of type 'const Student' has sub-type changes:
>> >       in unqualified underlying type 'struct Student':
>> >diff --git a/tests/data/test-abidiff-exit/test-leaf3-report.txt b/tests/data/test-abidiff-exit/test-leaf3-report.txt
>> >index 138c4b5a..7602e761 100644
>> >--- a/tests/data/test-abidiff-exit/test-leaf3-report.txt
>> >+++ b/tests/data/test-abidiff-exit/test-leaf3-report.txt
>> >@@ -10,7 +10,6 @@ Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable
>> >       type name changed from 'sto1' to 'stn1'
>> >       type size hasn't changed
>> >
>> >-
>> >   [C] 'function void fn2(sto2)' at test-leaf3-v1.c:13:1 has some sub-type changes:
>> >     parameter 1 of type 'struct sto2' changed:
>> >       type name changed from 'sto2' to 'stn2'
>> >diff --git a/tests/data/test-abidiff-exit/test-loc-with-locs-report.txt b/tests/data/test-abidiff-exit/test-loc-with-locs-report.txt
>> >index 53672744..bc37ff53 100644
>> >--- a/tests/data/test-abidiff-exit/test-loc-with-locs-report.txt
>> >+++ b/tests/data/test-abidiff-exit/test-loc-with-locs-report.txt
>> >@@ -9,4 +9,3 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
>> >       type size hasn't changed
>> >
>> >
>> >-
>> >diff --git a/tests/data/test-abidiff-exit/test-loc-without-locs-report.txt b/tests/data/test-abidiff-exit/test-loc-without-locs-report.txt
>> >index 6893e3fc..56c41d79 100644
>> >--- a/tests/data/test-abidiff-exit/test-loc-without-locs-report.txt
>> >+++ b/tests/data/test-abidiff-exit/test-loc-without-locs-report.txt
>> >@@ -9,4 +9,3 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
>> >       type size hasn't changed
>> >
>> >
>> >-
>> >diff --git a/tests/data/test-abidiff/test-PR18791-report0.txt b/tests/data/test-abidiff/test-PR18791-report0.txt
>> >index 5758077d..7e16fe32 100644
>> >--- a/tests/data/test-abidiff/test-PR18791-report0.txt
>> >+++ b/tests/data/test-abidiff/test-PR18791-report0.txt
>> >@@ -48,9 +48,7 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
>> >                                          struct std::__detail::_List_node_base
>> >                                        2 data member deletions:
>> >                                          'std::__detail::_List_node_base* std::__detail::_List_node_base::_M_next', at offset 0 (in bits)
>> >-
>> >                                          'std::__detail::_List_node_base* std::__detail::_List_node_base::_M_prev', at offset 64 (in bits)
>> >-
>> >                                        1 data member insertion:
>> >                                          'unsigned long int std::_List_node<long unsigned int>::_M_data', at offset 128 (in bits)
>> >                                      and name of 'std::_List_base<sigc::internal::trackable_callback, std::allocator<sigc::internal::trackable_callback> >::_List_impl::_M_node' changed to 'std::__cxx11::_List_base<sigc::internal::trackable_callback, std::allocator<sigc::internal::trackable_callback> >::_List_impl::_M_node'
>> >diff --git a/tests/data/test-abidiff/test-enum0-report.txt b/tests/data/test-abidiff/test-enum0-report.txt
>> >index c7c5a682..1cd7eaaf 100644
>> >--- a/tests/data/test-abidiff/test-enum0-report.txt
>> >+++ b/tests/data/test-abidiff/test-enum0-report.txt
>> >@@ -3,7 +3,6 @@
>> >     type size hasn't changed
>> >     1 enumerator deletion:
>> >       'E::e2' value '1'
>> >-
>> >     1 enumerator insertion:
>> >       'E::e1' value '1'
>> >
>> >diff --git a/tests/data/test-abidiff/test-enum1-report.txt b/tests/data/test-abidiff/test-enum1-report.txt
>> >index f1198ef9..7e8acf80 100644
>> >--- a/tests/data/test-abidiff/test-enum1-report.txt
>> >+++ b/tests/data/test-abidiff/test-enum1-report.txt
>> >@@ -3,7 +3,6 @@
>> >     type size hasn't changed
>> >     1 enumerator insertion:
>> >       'E::e1' value '1'
>> >-
>> >     1 enumerator change:
>> >       'E::e2' from value '1' to '2'
>> >
>> >diff --git a/tests/data/test-abidiff/test-struct1-report.txt b/tests/data/test-abidiff/test-struct1-report.txt
>> >index 39b71e55..e334bf1a 100644
>> >--- a/tests/data/test-abidiff/test-struct1-report.txt
>> >+++ b/tests/data/test-abidiff/test-struct1-report.txt
>> >@@ -6,7 +6,6 @@
>> >
>> >     1 data member deletion:
>> >       'char s0::m1', at offset 96 (in bits)
>> >-
>> >     1 data member insertion:
>> >       'double s0::m01', at offset 128 (in bits)
>> >     2 data member changes:
>> >diff --git a/tests/data/test-diff-dwarf/PR25058-liblttng-ctl-report-1.txt b/tests/data/test-diff-dwarf/PR25058-liblttng-ctl-report-1.txt
>> >index 29f823ec..aab271ff 100644
>> >--- a/tests/data/test-diff-dwarf/PR25058-liblttng-ctl-report-1.txt
>> >+++ b/tests/data/test-diff-dwarf/PR25058-liblttng-ctl-report-1.txt
>> >@@ -100,7 +100,6 @@ Variables changes summary: 0 Removed, 0 Changed, 3 Added variables
>> >          type of 'union {lttng_event_perf_counter_ctx perf_counter; struct {char* provider_name; char* ctx_name;} app_ctx; char padding[288];} lttng_event_context::u' changed:
>> >            type name changed from '__anonymous_union__4' to '__anonymous_union__5'
>> >            type size hasn't changed
>> >-
>> >            3 data member changes:
>> >             name of '__anonymous_union__4::app_ctx' changed to '__anonymous_union__5::app_ctx'
>> >             name of '__anonymous_union__4::padding' changed to '__anonymous_union__5::padding'
>> >@@ -171,7 +170,6 @@ Variables changes summary: 0 Removed, 0 Changed, 3 Added variables
>> >           type size changed from 35008 to 35072 (in bits)
>> >           1 data member deletion:
>> >             'char lttng_session::padding[12]', at offset 34912 (in bits)
>> >-
>> >           1 data member insertion:
>> >             'union {char padding[12]; void* ptr;} lttng_session::extended', at offset 34944 (in bits)
>> >
>> >@@ -208,7 +206,6 @@ Variables changes summary: 0 Removed, 0 Changed, 3 Added variables
>> >           1 data member deletion:
>> >             'bool lttng_notification::owns_elements', at offset 128 (in bits)
>> >
>> >-
>> >   [C] 'function lttng_notification_channel_status lttng_notification_channel_subscribe(lttng_notification_channel*, const lttng_condition*)' has some indirect sub-type changes:
>> >     return type changed:
>> >       enum type 'enum lttng_notification_channel_status' changed, as reported earlier
>> >@@ -289,7 +286,6 @@ Variables changes summary: 0 Removed, 0 Changed, 3 Added variables
>> >                            'op_type::AST_OP_BIN_AND' value '10'
>> >                            'op_type::AST_OP_BIN_OR' value '11'
>> >                            'op_type::AST_OP_BIN_XOR' value '12'
>> >-
>> >                          5 enumerator insertions:
>> >                            'op_type::AST_OP_BIT_RSHIFT' value '6'
>> >                            'op_type::AST_OP_BIT_LSHIFT' value '7'
>> >@@ -319,7 +315,6 @@ Variables changes summary: 0 Removed, 0 Changed, 3 Added variables
>> >                          type size hasn't changed
>> >                          1 enumerator deletion:
>> >                            'unary_op_type::AST_UNARY_BIN_NOT' value '4'
>> >-
>> >                          1 enumerator insertion:
>> >                            'unary_op_type::AST_UNARY_BIT_NOT' value '4'
>> >
>> >diff --git a/tests/data/test-diff-dwarf/test13-report.txt b/tests/data/test-diff-dwarf/test13-report.txt
>> >index cf29a4fd..833879c7 100644
>> >--- a/tests/data/test-diff-dwarf/test13-report.txt
>> >+++ b/tests/data/test-diff-dwarf/test13-report.txt
>> >@@ -12,7 +12,6 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
>> >            type name changed from 'int' to 'unsigned int'
>> >            type size hasn't changed
>> >
>> >-
>> >          type of 'unsigned int S::m2' changed:
>> >            type name changed from 'unsigned int' to 'long long int'
>> >            type size changed from 32 to 64 (in bits)
>> >diff --git a/tests/data/test-diff-dwarf/test38-union-report-0.txt b/tests/data/test-diff-dwarf/test38-union-report-0.txt
>> >index f7a75df7..fd9708e6 100644
>> >--- a/tests/data/test-diff-dwarf/test38-union-report-0.txt
>> >+++ b/tests/data/test-diff-dwarf/test38-union-report-0.txt
>> >@@ -9,7 +9,6 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
>> >         type size hasn't changed
>> >         1 data member deletion:
>> >           'int some_union_type::m0'
>> >-
>> >         type changed from:
>> >           union some_union_type{int m0; char m1; S m2;}
>> >         to:
>> >diff --git a/tests/data/test-diff-dwarf/test40-report-0.txt b/tests/data/test-diff-dwarf/test40-report-0.txt
>> >index d0b8c52c..f0f9e1a1 100644
>> >--- a/tests/data/test-diff-dwarf/test40-report-0.txt
>> >+++ b/tests/data/test-diff-dwarf/test40-report-0.txt
>> >@@ -9,7 +9,6 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
>> >         type size changed from 96 to 64 (in bits)
>> >         1 data member deletion:
>> >           'int S2::to_remove', at offset 0 (in bits)
>> >-
>> >         2 data member changes:
>> >          'int S2::m0' offset changed from 32 to 0 (in bits) (by -32 bits)
>> >          'char S2::m1' offset changed from 64 to 32 (in bits) (by -32 bits)
>> >@@ -24,7 +23,6 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
>> >            type size hasn't changed
>> >
>> >
>> >-
>> >   [C] 'function int foo(S1*)' has some indirect sub-type changes:
>> >     parameter 1 of type 'S1*' has sub-type changes:
>> >       in pointed to type 'struct S1':
>> >diff --git a/tests/data/test-diff-dwarf/test42-PR21296-clanggcc-report0.txt b/tests/data/test-diff-dwarf/test42-PR21296-clanggcc-report0.txt
>> >index f0a25a2e..44918baa 100644
>> >--- a/tests/data/test-diff-dwarf/test42-PR21296-clanggcc-report0.txt
>> >+++ b/tests/data/test-diff-dwarf/test42-PR21296-clanggcc-report0.txt
>> >@@ -19,7 +19,6 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
>> >     return type changed:
>> >       type name changed from 'std::tuple<STR&&>' to 'std::tuple<STR &&>'
>> >       type size hasn't changed
>> >-
>> >       1 base class deletion:
>> >         struct std::_Tuple_impl<0ul, STR&&>
>> >       1 base class insertion:
>> >diff --git a/tests/data/test-diff-dwarf/test43-PR22913-report-0.txt b/tests/data/test-diff-dwarf/test43-PR22913-report-0.txt
>> >index 1c0c773d..60681336 100644
>> >--- a/tests/data/test-diff-dwarf/test43-PR22913-report-0.txt
>> >+++ b/tests/data/test-diff-dwarf/test43-PR22913-report-0.txt
>> >@@ -12,4 +12,3 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
>> >             'char m2', at offset 8 (in bits)
>> >
>> >
>> >-
>> >diff --git a/tests/data/test-diff-filter/test10-report.txt b/tests/data/test-diff-filter/test10-report.txt
>> >index bdc31fd0..5a505fc3 100644
>> >--- a/tests/data/test-diff-filter/test10-report.txt
>> >+++ b/tests/data/test-diff-filter/test10-report.txt
>> >@@ -16,4 +16,3 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
>> >           'unsigned int S::m', at offset 0 (in bits)
>> >
>> >
>> >-
>> >diff --git a/tests/data/test-diff-filter/test18-report.txt b/tests/data/test-diff-filter/test18-report.txt
>> >index 0d30ef39..6ade5bdf 100644
>> >--- a/tests/data/test-diff-filter/test18-report.txt
>> >+++ b/tests/data/test-diff-filter/test18-report.txt
>> >@@ -14,4 +14,3 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
>> >
>> >
>> >
>> >-
>> >diff --git a/tests/data/test-diff-filter/test23-redundant-fn-parm-change-report-0.txt b/tests/data/test-diff-filter/test23-redundant-fn-parm-change-report-0.txt
>> >index f847d32e..99c14329 100644
>> >--- a/tests/data/test-diff-filter/test23-redundant-fn-parm-change-report-0.txt
>> >+++ b/tests/data/test-diff-filter/test23-redundant-fn-parm-change-report-0.txt
>> >@@ -7,10 +7,8 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
>> >     parameter 1 of type 'int' changed:
>> >       type name changed from 'int' to 'float'
>> >       type size hasn't changed
>> >-
>> >     parameter 2 of type 'int' changed:
>> >       type name changed from 'int' to 'float'
>> >       type size hasn't changed
>> >
>> >
>> >-
>> >diff --git a/tests/data/test-diff-filter/test30-pr18904-rvalueref-report0.txt b/tests/data/test-diff-filter/test30-pr18904-rvalueref-report0.txt
>> >index b78215b0..5def3a08 100644
>> >--- a/tests/data/test-diff-filter/test30-pr18904-rvalueref-report0.txt
>> >+++ b/tests/data/test-diff-filter/test30-pr18904-rvalueref-report0.txt
>> >@@ -1200,7 +1200,6 @@ Variable symbols changes summary: 0 Removed, 0 Added variable symbol not referen
>> >           '__anonymous_enum__1::c_report_state_stream' value '142'
>> >           '__anonymous_enum__1::c_report_stream' value '143'
>> >           '__anonymous_enum__1::c_unload_library' value '144'
>> >-
>> >         92 enumerator changes:
>> >           '__anonymous_enum__::c_process_get_func_handles' from value '32' to '33'
>> >           '__anonymous_enum__::c_process_wait_shutdown' from value '33' to '34'
>> >@@ -1304,7 +1303,6 @@ Variable symbols changes summary: 0 Removed, 0 Added variable symbol not referen
>> >          type of 'union {struct {uint32_t is_static; uint32_t is_static_dstn; uint32_t has_length; uint32_t is_stack_buf; uint32_t sink_addr; uint32_t alloc_disp; uint32_t is_noncont_src; uint32_t is_noncont_dst;}; uint32_t bits;} VarDesc::flags' changed:
>> >            type name changed from 'VarDesc::__anonymous_union__2' to 'varDescFlags'
>> >            type size hasn't changed
>> >-
>> >            1 data member changes (1 filtered):
>> >             anonymous data member at offset 0 (in bits) changed from:
>> >               struct {uint32_t is_static; uint32_t is_static_dstn; uint32_t has_length; uint32_t is_stack_buf; uint32_t sink_addr; uint32_t alloc_disp; uint32_t is_noncont_src; uint32_t is_noncont_dst;}
>> >@@ -1319,7 +1317,6 @@ Variable symbols changes summary: 0 Removed, 0 Added variable symbol not referen
>> >         entity changed from 'struct InitTableEntry' to compatible type 'typedef InitTableEntry'
>> >           type name changed from 'InitTableEntry' to '__anonymous_struct__2'
>> >           type size hasn't changed
>> >-
>> >           1 data member change:
>> >            type of 'void ()* InitTableEntry::func' changed:
>> >              in pointed to type 'function type void ()':
>> >@@ -1348,7 +1345,6 @@ Variable symbols changes summary: 0 Removed, 0 Added variable symbol not referen
>> >                type size changed from 2752 to 5504 (in bits)
>> >                1 data member deletion:
>> >                  'mutex_t Engine::m_ptr_lock', at offset 1344 (in bits)
>> >-
>> >                7 data member insertions:
>> >                  'PtrDataTable Engine::m_targetptr_set', at offset 1664 (in bits)
>> >                  'StreamMap Engine::m_stream_map', at offset 3072 (in bits)
>> >@@ -1370,20 +1366,16 @@ Variable symbols changes summary: 0 Removed, 0 Added variable symbol not referen
>> >                        underlying type 'class std::_Rb_tree<PtrData, PtrData, std::_Identity<PtrData>, std::less<PtrData>, std::allocator<PtrData> >' changed:
>> >                          type name changed from 'std::_Rb_tree<PtrData, PtrData, std::_Identity<PtrData>, std::less<PtrData>, std::allocator<PtrData> >' to 'std::set<PtrData, std::less<PtrData>, std::allocator<PtrData> >'
>> >                          type size hasn't changed
>> >-
>> >                          1 data member change:
>> >                           type of 'std::_Rb_tree<PtrData, PtrData, std::_Identity<PtrData>, std::less<PtrData>, std::allocator<PtrData> >::_Rb_tree_impl<std::less<PtrData>, true> std::_Rb_tree<PtrData, PtrData, std::_Identity<PtrData>, std::less<PtrData>, std::allocator<PtrData> >::_M_impl' changed:
>> >                             entity changed from 'struct std::_Rb_tree<PtrData, PtrData, std::_Identity<PtrData>, std::less<PtrData>, std::allocator<PtrData> >::_Rb_tree_impl<std::less<PtrData>, true>' to compatible type 'typedef std::set<PtrData, std::less<PtrData>, std::allocator<PtrData> >::_Rep_type'
>> >                               type name changed from 'std::_Rb_tree<PtrData, PtrData, std::_Identity<PtrData>, std::less<PtrData>, std::allocator<PtrData> >::_Rb_tree_impl<std::less<PtrData>, true>' to 'std::_Rb_tree<PtrData, PtrData, std::_Identity<PtrData>, std::less<PtrData>, std::allocator<PtrData> >'
>> >                               type size hasn't changed
>> >-
>> >                               1 base class deletion:
>> >                                 class std::allocator<std::_Rb_tree_node<PtrData> >
>> >                               2 data member deletions:
>> >                                 'std::_Rb_tree_node_base std::_Rb_tree<PtrData, PtrData, std::_Identity<PtrData>, std::less<PtrData>, std::allocator<PtrData> >::_Rb_tree_impl<std::less<PtrData>, true>::_M_header', at offset 64 (in bits)
>> >-
>> >                                 'std::_Rb_tree<PtrData, PtrData, std::_Identity<PtrData>, std::less<PtrData>, std::allocator<PtrData> >::size_type std::_Rb_tree<PtrData, PtrData, std::_Identity<PtrData>, std::less<PtrData>, std::allocator<PtrData> >::_Rb_tree_impl<std::less<PtrData>, true>::_M_node_count', at offset 320 (in bits)
>> >-
>> >                               1 data member change:
>> >                                type of 'std::less<PtrData> std::_Rb_tree<PtrData, PtrData, std::_Identity<PtrData>, std::less<PtrData>, std::allocator<PtrData> >::_Rb_tree_impl<std::less<PtrData>, true>::_M_key_compare' changed:
>> >                                  type name changed from 'std::less<PtrData>' to 'std::_Rb_tree<PtrData, PtrData, std::_Identity<PtrData>, std::less<PtrData>, std::allocator<PtrData> >::_Rb_tree_impl<std::less<PtrData>, true>'
>> >diff --git a/tests/data/test-diff-filter/test30-pr18904-rvalueref-report1.txt b/tests/data/test-diff-filter/test30-pr18904-rvalueref-report1.txt
>> >index ccaf8126..3bc8f6d7 100644
>> >--- a/tests/data/test-diff-filter/test30-pr18904-rvalueref-report1.txt
>> >+++ b/tests/data/test-diff-filter/test30-pr18904-rvalueref-report1.txt
>> >@@ -1200,7 +1200,6 @@ Variable symbols changes summary: 0 Removed, 0 Added variable symbol not referen
>> >           '__anonymous_enum__1::c_report_state_stream' value '142'
>> >           '__anonymous_enum__1::c_report_stream' value '143'
>> >           '__anonymous_enum__1::c_unload_library' value '144'
>> >-
>> >         92 enumerator changes:
>> >           '__anonymous_enum__::c_process_get_func_handles' from value '32' to '33' at liboffload_error_codes.h:38:1
>> >           '__anonymous_enum__::c_process_wait_shutdown' from value '33' to '34' at liboffload_error_codes.h:38:1
>> >@@ -1304,7 +1303,6 @@ Variable symbols changes summary: 0 Removed, 0 Added variable symbol not referen
>> >          type of 'union {struct {uint32_t is_static; uint32_t is_static_dstn; uint32_t has_length; uint32_t is_stack_buf; uint32_t sink_addr; uint32_t alloc_disp; uint32_t is_noncont_src; uint32_t is_noncont_dst;}; uint32_t bits;} VarDesc::flags' changed:
>> >            type name changed from 'VarDesc::__anonymous_union__2' to 'varDescFlags'
>> >            type size hasn't changed
>> >-
>> >            1 data member changes (1 filtered):
>> >             anonymous data member at offset 0 (in bits) changed from:
>> >               struct {uint32_t is_static; uint32_t is_static_dstn; uint32_t has_length; uint32_t is_stack_buf; uint32_t sink_addr; uint32_t alloc_disp; uint32_t is_noncont_src; uint32_t is_noncont_dst;}
>> >@@ -1319,7 +1317,6 @@ Variable symbols changes summary: 0 Removed, 0 Added variable symbol not referen
>> >         entity changed from 'struct InitTableEntry' to compatible type 'typedef InitTableEntry' at offload_table.h:296:1
>> >           type name changed from 'InitTableEntry' to '__anonymous_struct__2'
>> >           type size hasn't changed
>> >-
>> >           1 data member change:
>> >            type of 'void ()* InitTableEntry::func' changed:
>> >              in pointed to type 'function type void ()':
>> >@@ -1348,7 +1345,6 @@ Variable symbols changes summary: 0 Removed, 0 Added variable symbol not referen
>> >                type size changed from 2752 to 5504 (in bits)
>> >                1 data member deletion:
>> >                  'mutex_t Engine::m_ptr_lock', at offset 1344 (in bits) at offload_engine.h:474:1
>> >-
>> >                7 data member insertions:
>> >                  'PtrDataTable Engine::m_targetptr_set', at offset 1664 (in bits) at offload_engine.h:630:1
>> >                  'StreamMap Engine::m_stream_map', at offset 3072 (in bits) at offload_engine.h:637:1
>> >@@ -1370,20 +1366,16 @@ Variable symbols changes summary: 0 Removed, 0 Added variable symbol not referen
>> >                        underlying type 'class std::_Rb_tree<PtrData, PtrData, std::_Identity<PtrData>, std::less<PtrData>, std::allocator<PtrData> >' at stl_tree.h:357:1 changed:
>> >                          type name changed from 'std::_Rb_tree<PtrData, PtrData, std::_Identity<PtrData>, std::less<PtrData>, std::allocator<PtrData> >' to 'std::set<PtrData, std::less<PtrData>, std::allocator<PtrData> >'
>> >                          type size hasn't changed
>> >-
>> >                          1 data member change:
>> >                           type of 'std::_Rb_tree<PtrData, PtrData, std::_Identity<PtrData>, std::less<PtrData>, std::allocator<PtrData> >::_Rb_tree_impl<std::less<PtrData>, true> std::_Rb_tree<PtrData, PtrData, std::_Identity<PtrData>, std::less<PtrData>, std::allocator<PtrData> >::_M_impl' changed:
>> >                             entity changed from 'struct std::_Rb_tree<PtrData, PtrData, std::_Identity<PtrData>, std::less<PtrData>, std::allocator<PtrData> >::_Rb_tree_impl<std::less<PtrData>, true>' to compatible type 'typedef std::set<PtrData, std::less<PtrData>, std::allocator<PtrData> >::_Rep_type' at stl_set.h:115:1
>> >                               type name changed from 'std::_Rb_tree<PtrData, PtrData, std::_Identity<PtrData>, std::less<PtrData>, std::allocator<PtrData> >::_Rb_tree_impl<std::less<PtrData>, true>' to 'std::_Rb_tree<PtrData, PtrData, std::_Identity<PtrData>, std::less<PtrData>, std::allocator<PtrData> >'
>> >                               type size hasn't changed
>> >-
>> >                               1 base class deletion:
>> >                                 class std::allocator<std::_Rb_tree_node<PtrData> > at allocator.h:95:1
>> >                               2 data member deletions:
>> >                                 'std::_Rb_tree_node_base std::_Rb_tree<PtrData, PtrData, std::_Identity<PtrData>, std::less<PtrData>, std::allocator<PtrData> >::_Rb_tree_impl<std::less<PtrData>, true>::_M_header', at offset 64 (in bits) at stl_tree.h:593:1
>> >-
>> >                                 'std::_Rb_tree<PtrData, PtrData, std::_Identity<PtrData>, std::less<PtrData>, std::allocator<PtrData> >::size_type std::_Rb_tree<PtrData, PtrData, std::_Identity<PtrData>, std::less<PtrData>, std::allocator<PtrData> >::_Rb_tree_impl<std::less<PtrData>, true>::_M_node_count', at offset 320 (in bits) at stl_tree.h:594:1
>> >-
>> >                               1 data member change:
>> >                                type of 'std::less<PtrData> std::_Rb_tree<PtrData, PtrData, std::_Identity<PtrData>, std::less<PtrData>, std::allocator<PtrData> >::_Rb_tree_impl<std::less<PtrData>, true>::_M_key_compare' changed:
>> >                                  type name changed from 'std::less<PtrData>' to 'std::_Rb_tree<PtrData, PtrData, std::_Identity<PtrData>, std::less<PtrData>, std::allocator<PtrData> >::_Rb_tree_impl<std::less<PtrData>, true>'
>> >diff --git a/tests/data/test-diff-filter/test30-pr18904-rvalueref-report2.txt b/tests/data/test-diff-filter/test30-pr18904-rvalueref-report2.txt
>> >index 44e78935..d91de66b 100644
>> >--- a/tests/data/test-diff-filter/test30-pr18904-rvalueref-report2.txt
>> >+++ b/tests/data/test-diff-filter/test30-pr18904-rvalueref-report2.txt
>> >@@ -1200,7 +1200,6 @@ Variable symbols changes summary: 0 Removed, 0 Added variable symbol not referen
>> >           '__anonymous_enum__1::c_report_state_stream' value '142'
>> >           '__anonymous_enum__1::c_report_stream' value '143'
>> >           '__anonymous_enum__1::c_unload_library' value '144'
>> >-
>> >         92 enumerator changes:
>> >           '__anonymous_enum__::c_process_get_func_handles' from value '32' to '33' at liboffload_error_codes.h:38:1
>> >           '__anonymous_enum__::c_process_wait_shutdown' from value '33' to '34' at liboffload_error_codes.h:38:1
>> >@@ -1304,7 +1303,6 @@ Variable symbols changes summary: 0 Removed, 0 Added variable symbol not referen
>> >          type of 'union {struct {uint32_t is_static; uint32_t is_static_dstn; uint32_t has_length; uint32_t is_stack_buf; uint32_t sink_addr; uint32_t alloc_disp; uint32_t is_noncont_src; uint32_t is_noncont_dst;}; uint32_t bits;} VarDesc::flags' changed:
>> >            type name changed from 'VarDesc::__anonymous_union__2' to 'varDescFlags'
>> >            type size hasn't changed
>> >-
>> >            1 data member changes (1 filtered):
>> >             anonymous data member at offset 0 (in bytes) changed from:
>> >               struct {uint32_t is_static; uint32_t is_static_dstn; uint32_t has_length; uint32_t is_stack_buf; uint32_t sink_addr; uint32_t alloc_disp; uint32_t is_noncont_src; uint32_t is_noncont_dst;}
>> >@@ -1319,7 +1317,6 @@ Variable symbols changes summary: 0 Removed, 0 Added variable symbol not referen
>> >         entity changed from 'struct InitTableEntry' to compatible type 'typedef InitTableEntry' at offload_table.h:296:1
>> >           type name changed from 'InitTableEntry' to '__anonymous_struct__2'
>> >           type size hasn't changed
>> >-
>> >           1 data member change:
>> >            type of 'void ()* InitTableEntry::func' changed:
>> >              in pointed to type 'function type void ()':
>> >@@ -1348,7 +1345,6 @@ Variable symbols changes summary: 0 Removed, 0 Added variable symbol not referen
>> >                type size changed from 0x158 to 0x2b0 (in bytes)
>> >                1 data member deletion:
>> >                  'mutex_t Engine::m_ptr_lock', at offset 0xa8 (in bytes) at offload_engine.h:474:1
>> >-
>> >                7 data member insertions:
>> >                  'PtrDataTable Engine::m_targetptr_set', at offset 0xd0 (in bytes) at offload_engine.h:630:1
>> >                  'StreamMap Engine::m_stream_map', at offset 0x180 (in bytes) at offload_engine.h:637:1
>> >@@ -1370,20 +1366,16 @@ Variable symbols changes summary: 0 Removed, 0 Added variable symbol not referen
>> >                        underlying type 'class std::_Rb_tree<PtrData, PtrData, std::_Identity<PtrData>, std::less<PtrData>, std::allocator<PtrData> >' at stl_tree.h:357:1 changed:
>> >                          type name changed from 'std::_Rb_tree<PtrData, PtrData, std::_Identity<PtrData>, std::less<PtrData>, std::allocator<PtrData> >' to 'std::set<PtrData, std::less<PtrData>, std::allocator<PtrData> >'
>> >                          type size hasn't changed
>> >-
>> >                          1 data member change:
>> >                           type of 'std::_Rb_tree<PtrData, PtrData, std::_Identity<PtrData>, std::less<PtrData>, std::allocator<PtrData> >::_Rb_tree_impl<std::less<PtrData>, true> std::_Rb_tree<PtrData, PtrData, std::_Identity<PtrData>, std::less<PtrData>, std::allocator<PtrData> >::_M_impl' changed:
>> >                             entity changed from 'struct std::_Rb_tree<PtrData, PtrData, std::_Identity<PtrData>, std::less<PtrData>, std::allocator<PtrData> >::_Rb_tree_impl<std::less<PtrData>, true>' to compatible type 'typedef std::set<PtrData, std::less<PtrData>, std::allocator<PtrData> >::_Rep_type' at stl_set.h:115:1
>> >                               type name changed from 'std::_Rb_tree<PtrData, PtrData, std::_Identity<PtrData>, std::less<PtrData>, std::allocator<PtrData> >::_Rb_tree_impl<std::less<PtrData>, true>' to 'std::_Rb_tree<PtrData, PtrData, std::_Identity<PtrData>, std::less<PtrData>, std::allocator<PtrData> >'
>> >                               type size hasn't changed
>> >-
>> >                               1 base class deletion:
>> >                                 class std::allocator<std::_Rb_tree_node<PtrData> > at allocator.h:95:1
>> >                               2 data member deletions:
>> >                                 'std::_Rb_tree_node_base std::_Rb_tree<PtrData, PtrData, std::_Identity<PtrData>, std::less<PtrData>, std::allocator<PtrData> >::_Rb_tree_impl<std::less<PtrData>, true>::_M_header', at offset 0x8 (in bytes) at stl_tree.h:593:1
>> >-
>> >                                 'std::_Rb_tree<PtrData, PtrData, std::_Identity<PtrData>, std::less<PtrData>, std::allocator<PtrData> >::size_type std::_Rb_tree<PtrData, PtrData, std::_Identity<PtrData>, std::less<PtrData>, std::allocator<PtrData> >::_Rb_tree_impl<std::less<PtrData>, true>::_M_node_count', at offset 0x28 (in bytes) at stl_tree.h:594:1
>> >-
>> >                               1 data member change:
>> >                                type of 'std::less<PtrData> std::_Rb_tree<PtrData, PtrData, std::_Identity<PtrData>, std::less<PtrData>, std::allocator<PtrData> >::_Rb_tree_impl<std::less<PtrData>, true>::_M_key_compare' changed:
>> >                                  type name changed from 'std::less<PtrData>' to 'std::_Rb_tree<PtrData, PtrData, std::_Identity<PtrData>, std::less<PtrData>, std::allocator<PtrData> >::_Rb_tree_impl<std::less<PtrData>, true>'
>> >diff --git a/tests/data/test-diff-filter/test35-pr18754-no-added-syms-report-0.txt b/tests/data/test-diff-filter/test35-pr18754-no-added-syms-report-0.txt
>> >index c9cb9246..306a9863 100644
>> >--- a/tests/data/test-diff-filter/test35-pr18754-no-added-syms-report-0.txt
>> >+++ b/tests/data/test-diff-filter/test35-pr18754-no-added-syms-report-0.txt
>> >@@ -116,7 +116,6 @@ Variable symbols changes summary: 0 Removed, 0 Added variable symbol not referen
>> >           '__anonymous_enum__1::c_report_state_stream' value '142'
>> >           '__anonymous_enum__1::c_report_stream' value '143'
>> >           '__anonymous_enum__1::c_unload_library' value '144'
>> >-
>> >         92 enumerator changes:
>> >           '__anonymous_enum__::c_process_get_func_handles' from value '32' to '33'
>> >           '__anonymous_enum__::c_process_wait_shutdown' from value '33' to '34'
>> >@@ -220,7 +219,6 @@ Variable symbols changes summary: 0 Removed, 0 Added variable symbol not referen
>> >          type of 'union {struct {uint32_t is_static; uint32_t is_static_dstn; uint32_t has_length; uint32_t is_stack_buf; uint32_t sink_addr; uint32_t alloc_disp; uint32_t is_noncont_src; uint32_t is_noncont_dst;}; uint32_t bits;} VarDesc::flags' changed:
>> >            type name changed from 'VarDesc::__anonymous_union__2' to 'varDescFlags'
>> >            type size hasn't changed
>> >-
>> >            1 data member changes (1 filtered):
>> >             anonymous data member at offset 0 (in bits) changed from:
>> >               struct {uint32_t is_static; uint32_t is_static_dstn; uint32_t has_length; uint32_t is_stack_buf; uint32_t sink_addr; uint32_t alloc_disp; uint32_t is_noncont_src; uint32_t is_noncont_dst;}
>> >@@ -235,7 +233,6 @@ Variable symbols changes summary: 0 Removed, 0 Added variable symbol not referen
>> >         entity changed from 'struct InitTableEntry' to compatible type 'typedef InitTableEntry'
>> >           type name changed from 'InitTableEntry' to '__anonymous_struct__2'
>> >           type size hasn't changed
>> >-
>> >           1 data member change:
>> >            type of 'void ()* InitTableEntry::func' changed:
>> >              in pointed to type 'function type void ()':
>> >@@ -264,7 +261,6 @@ Variable symbols changes summary: 0 Removed, 0 Added variable symbol not referen
>> >                type size changed from 2752 to 5504 (in bits)
>> >                1 data member deletion:
>> >                  'mutex_t Engine::m_ptr_lock', at offset 1344 (in bits)
>> >-
>> >                7 data member insertions:
>> >                  'PtrDataTable Engine::m_targetptr_set', at offset 1664 (in bits)
>> >                  'StreamMap Engine::m_stream_map', at offset 3072 (in bits)
>> >@@ -286,20 +282,16 @@ Variable symbols changes summary: 0 Removed, 0 Added variable symbol not referen
>> >                        underlying type 'class std::_Rb_tree<PtrData, PtrData, std::_Identity<PtrData>, std::less<PtrData>, std::allocator<PtrData> >' changed:
>> >                          type name changed from 'std::_Rb_tree<PtrData, PtrData, std::_Identity<PtrData>, std::less<PtrData>, std::allocator<PtrData> >' to 'std::set<PtrData, std::less<PtrData>, std::allocator<PtrData> >'
>> >                          type size hasn't changed
>> >-
>> >                          1 data member change:
>> >                           type of 'std::_Rb_tree<PtrData, PtrData, std::_Identity<PtrData>, std::less<PtrData>, std::allocator<PtrData> >::_Rb_tree_impl<std::less<PtrData>, true> std::_Rb_tree<PtrData, PtrData, std::_Identity<PtrData>, std::less<PtrData>, std::allocator<PtrData> >::_M_impl' changed:
>> >                             entity changed from 'struct std::_Rb_tree<PtrData, PtrData, std::_Identity<PtrData>, std::less<PtrData>, std::allocator<PtrData> >::_Rb_tree_impl<std::less<PtrData>, true>' to compatible type 'typedef std::set<PtrData, std::less<PtrData>, std::allocator<PtrData> >::_Rep_type'
>> >                               type name changed from 'std::_Rb_tree<PtrData, PtrData, std::_Identity<PtrData>, std::less<PtrData>, std::allocator<PtrData> >::_Rb_tree_impl<std::less<PtrData>, true>' to 'std::_Rb_tree<PtrData, PtrData, std::_Identity<PtrData>, std::less<PtrData>, std::allocator<PtrData> >'
>> >                               type size hasn't changed
>> >-
>> >                               1 base class deletion:
>> >                                 class std::allocator<std::_Rb_tree_node<PtrData> >
>> >                               2 data member deletions:
>> >                                 'std::_Rb_tree_node_base std::_Rb_tree<PtrData, PtrData, std::_Identity<PtrData>, std::less<PtrData>, std::allocator<PtrData> >::_Rb_tree_impl<std::less<PtrData>, true>::_M_header', at offset 64 (in bits)
>> >-
>> >                                 'std::_Rb_tree<PtrData, PtrData, std::_Identity<PtrData>, std::less<PtrData>, std::allocator<PtrData> >::size_type std::_Rb_tree<PtrData, PtrData, std::_Identity<PtrData>, std::less<PtrData>, std::allocator<PtrData> >::_Rb_tree_impl<std::less<PtrData>, true>::_M_node_count', at offset 320 (in bits)
>> >-
>> >                               1 data member change:
>> >                                type of 'std::less<PtrData> std::_Rb_tree<PtrData, PtrData, std::_Identity<PtrData>, std::less<PtrData>, std::allocator<PtrData> >::_Rb_tree_impl<std::less<PtrData>, true>::_M_key_compare' changed:
>> >                                  type name changed from 'std::less<PtrData>' to 'std::_Rb_tree<PtrData, PtrData, std::_Identity<PtrData>, std::less<PtrData>, std::allocator<PtrData> >::_Rb_tree_impl<std::less<PtrData>, true>'
>> >diff --git a/tests/data/test-diff-filter/test36-report-0.txt b/tests/data/test-diff-filter/test36-report-0.txt
>> >index 08692c1e..22e614d8 100644
>> >--- a/tests/data/test-diff-filter/test36-report-0.txt
>> >+++ b/tests/data/test-diff-filter/test36-report-0.txt
>> >@@ -13,7 +13,6 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
>> >            type size hasn't changed
>> >
>> >
>> >-
>> >   [C] 'function int foo_2(S*)' at test36-2-v1.c:13:1 has some indirect sub-type changes:
>> >     parameter 1 of type 'S*' has sub-type changes:
>> >       in pointed to type 'struct S' at test36-2-v1.c:6:1:
>> >@@ -23,11 +22,9 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
>> >            type name changed from 'int' to 'unsigned int'
>> >            type size hasn't changed
>> >
>> >-
>> >          type of 'int S::m1' changed:
>> >            type name changed from 'int' to 'unsigned int'
>> >            type size hasn't changed
>> >
>> >
>> >
>> >-
>> >diff --git a/tests/data/test-diff-filter/test42-leaf-report-output-0.txt b/tests/data/test-diff-filter/test42-leaf-report-output-0.txt
>> >index 94a0551d..d40a1374 100644
>> >--- a/tests/data/test-diff-filter/test42-leaf-report-output-0.txt
>> >+++ b/tests/data/test-diff-filter/test42-leaf-report-output-0.txt
>> >@@ -7,6 +7,5 @@ Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable
>> >   type size changed from 32 to 64 (in bits)
>> >   1 data member insertion:
>> >     'char leaf::m1', at offset 32 (in bits) at test42-leaf-report-v1.cc:7:1
>> >-
>> >   one impacted interface:
>> >     function void fn(C&)
>> >diff --git a/tests/data/test-diff-filter/test7-report.txt b/tests/data/test-diff-filter/test7-report.txt
>> >index 7e3a4d47..26933033 100644
>> >--- a/tests/data/test-diff-filter/test7-report.txt
>> >+++ b/tests/data/test-diff-filter/test7-report.txt
>> >@@ -7,7 +7,6 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
>> >     return type changed:
>> >       type name changed from 'return_type' to 'other_return_type'
>> >       type size hasn't changed
>> >-
>> >       no data member change (1 filtered);
>> >
>> >
>> >diff --git a/tests/data/test-diff-pkg/libsigc++-2.0-0c2a_2.4.0-1_amd64--libsigc++-2.0-0v5_2.4.1-1ubuntu2_amd64-report-0.txt b/tests/data/test-diff-pkg/libsigc++-2.0-0c2a_2.4.0-1_amd64--libsigc++-2.0-0v5_2.4.1-1ubuntu2_amd64-report-0.txt
>> >index 05d6fcad..873a84cd 100644
>> >--- a/tests/data/test-diff-pkg/libsigc++-2.0-0c2a_2.4.0-1_amd64--libsigc++-2.0-0v5_2.4.1-1ubuntu2_amd64-report-0.txt
>> >+++ b/tests/data/test-diff-pkg/libsigc++-2.0-0c2a_2.4.0-1_amd64--libsigc++-2.0-0v5_2.4.1-1ubuntu2_amd64-report-0.txt
>> >@@ -54,9 +54,7 @@
>> >                                                   struct std::__detail::_List_node_base
>> >                                                 2 data member deletions:
>> >                                                   'std::__detail::_List_node_base* std::__detail::_List_node_base::_M_next', at offset 0 (in bits)
>> >-
>> >                                                   'std::__detail::_List_node_base* std::__detail::_List_node_base::_M_prev', at offset 64 (in bits)
>> >-
>> >                                                 1 data member insertion:
>> >                                                   'unsigned long int std::_List_node<long unsigned int>::_M_data', at offset 128 (in bits)
>> >                                               and name of 'std::_List_base<sigc::internal::trackable_callback, std::allocator<sigc::internal::trackable_callback> >::_List_impl::_M_node' changed to 'std::__cxx11::_List_base<sigc::internal::trackable_callback, std::allocator<sigc::internal::trackable_callback> >::_List_impl::_M_node'
>> >diff --git a/tests/data/test-diff-pkg/nss-3.23.0-1.0.fc23.x86_64-report-0.txt b/tests/data/test-diff-pkg/nss-3.23.0-1.0.fc23.x86_64-report-0.txt
>> >index c227fa5c..a0cc67c2 100644
>> >--- a/tests/data/test-diff-pkg/nss-3.23.0-1.0.fc23.x86_64-report-0.txt
>> >+++ b/tests/data/test-diff-pkg/nss-3.23.0-1.0.fc23.x86_64-report-0.txt
>> >@@ -10,7 +10,6 @@
>> >           type size hasn't changed
>> >           1 enumerator insertion:
>> >             '__anonymous_enum__1::SEC_OID_TLS_ECDHE_PSK' value '347'
>> >-
>> >           1 enumerator change:
>> >             '__anonymous_enum__1::SEC_OID_TOTAL' from value '347' to '348' at secoidt.h:34:1
>> >
>> >@@ -34,7 +33,6 @@
>> >           type size hasn't changed
>> >           1 enumerator insertion:
>> >             '__anonymous_enum__1::ssl_kea_ecdh_psk' value '5'
>> >-
>> >           1 enumerator change:
>> >             '__anonymous_enum__::ssl_kea_size' from value '5' to '6' at sslt.h:40:1
>> >
>> >@@ -52,7 +50,6 @@
>> >                  type size hasn't changed
>> >                  1 enumerator deletion:
>> >                    '__anonymous_enum__::ssl_auth_rsa' value '1'
>> >-
>> >                  7 enumerator insertions:
>> >                    '__anonymous_enum__::ssl_auth_rsa_decrypt' value '1'
>> >                    '__anonymous_enum__::ssl_auth_ecdh_rsa' value '5'
>> >@@ -114,7 +111,6 @@
>> >                                              type size hasn't changed
>> >                                              1 enumerator insertion:
>> >                                                '__anonymous_enum__1::SEC_OID_TLS_ECDHE_PSK' value '347'
>> >-
>> >                                              1 enumerator change:
>> >                                                '__anonymous_enum__1::SEC_OID_TOTAL' from value '347' to '348' at secoidt.h:34:1
>> >
>> >diff --git a/tests/data/test-diff-pkg/spice-server-0.12.4-19.el7.x86_64-0.12.8-1.el7.x86_64-report-0.txt b/tests/data/test-diff-pkg/spice-server-0.12.4-19.el7.x86_64-0.12.8-1.el7.x86_64-report-0.txt
>> >index bf081f52..70b41ddd 100644
>> >--- a/tests/data/test-diff-pkg/spice-server-0.12.4-19.el7.x86_64-0.12.8-1.el7.x86_64-report-0.txt
>> >+++ b/tests/data/test-diff-pkg/spice-server-0.12.4-19.el7.x86_64-0.12.8-1.el7.x86_64-report-0.txt
>> >@@ -25,7 +25,6 @@
>> >         underlying type 'enum __anonymous_enum__2' at spice.h:471:1 changed:
>> >           type name changed from '__anonymous_enum__2' to 'SpiceImageCompression'
>> >           type size hasn't changed
>> >-
>> >           7 enumerator deletions:
>> >             '__anonymous_enum__2::SPICE_IMAGE_COMPRESS_INVALID' value '0'
>> >             '__anonymous_enum__2::SPICE_IMAGE_COMPRESS_OFF' value '1'
>> >@@ -34,7 +33,6 @@
>> >             '__anonymous_enum__2::SPICE_IMAGE_COMPRESS_QUIC' value '4'
>> >             '__anonymous_enum__2::SPICE_IMAGE_COMPRESS_GLZ' value '5'
>> >             '__anonymous_enum__2::SPICE_IMAGE_COMPRESS_LZ' value '6'
>> >-
>> >           9 enumerator insertions:
>> >             'SpiceImageCompression::SPICE_IMAGE_COMPRESSION_INVALID' value '0'
>> >             'SpiceImageCompression::SPICE_IMAGE_COMPRESSION_OFF' value '1'
>> >diff --git a/tests/data/test-diff-pkg/spice-server-0.12.4-19.el7.x86_64-0.12.8-1.el7.x86_64-report-1.txt b/tests/data/test-diff-pkg/spice-server-0.12.4-19.el7.x86_64-0.12.8-1.el7.x86_64-report-1.txt
>> >index 7b86b964..0b909f90 100644
>> >--- a/tests/data/test-diff-pkg/spice-server-0.12.4-19.el7.x86_64-0.12.8-1.el7.x86_64-report-1.txt
>> >+++ b/tests/data/test-diff-pkg/spice-server-0.12.4-19.el7.x86_64-0.12.8-1.el7.x86_64-report-1.txt
>> >@@ -25,7 +25,6 @@
>> >         underlying type 'enum __anonymous_enum__2' at spice.h:471:1 changed:
>> >           type name changed from '__anonymous_enum__2' to 'SpiceImageCompression'
>> >           type size hasn't changed
>> >-
>> >           7 enumerator deletions:
>> >             '__anonymous_enum__2::SPICE_IMAGE_COMPRESS_INVALID' value '0'
>> >             '__anonymous_enum__2::SPICE_IMAGE_COMPRESS_OFF' value '1'
>> >@@ -34,7 +33,6 @@
>> >             '__anonymous_enum__2::SPICE_IMAGE_COMPRESS_QUIC' value '4'
>> >             '__anonymous_enum__2::SPICE_IMAGE_COMPRESS_GLZ' value '5'
>> >             '__anonymous_enum__2::SPICE_IMAGE_COMPRESS_LZ' value '6'
>> >-
>> >           9 enumerator insertions:
>> >             'SpiceImageCompression::SPICE_IMAGE_COMPRESSION_INVALID' value '0'
>> >             'SpiceImageCompression::SPICE_IMAGE_COMPRESSION_OFF' value '1'
>> >diff --git a/tests/data/test-diff-pkg/spice-server-0.12.4-19.el7.x86_64-0.12.8-1.el7.x86_64-report-2.txt b/tests/data/test-diff-pkg/spice-server-0.12.4-19.el7.x86_64-0.12.8-1.el7.x86_64-report-2.txt
>> >index 3d20caf1..c247ef95 100644
>> >--- a/tests/data/test-diff-pkg/spice-server-0.12.4-19.el7.x86_64-0.12.8-1.el7.x86_64-report-2.txt
>> >+++ b/tests/data/test-diff-pkg/spice-server-0.12.4-19.el7.x86_64-0.12.8-1.el7.x86_64-report-2.txt
>> >@@ -239,15 +239,10 @@
>> >                                                  type size changed from 1280 to 256 (in bits)
>> >                                                  5 data member deletions:
>> >                                                    'RedsSASL RedsStream::sasl', at offset 256 (in bits) at reds.h:78:1
>> >-
>> >                                                    'SpiceChannelEventInfo* RedsStream::info', at offset 1024 (in bits) at reds.h:85:1
>> >-
>> >                                                    'typedef ssize_t (RedsStream*, void*, typedef size_t)* RedsStream::read', at offset 1088 (in bits) at reds.h:88:1
>> >-
>> >                                                    'typedef ssize_t (RedsStream*, void*, typedef size_t)* RedsStream::write', at offset 1152 (in bits) at reds.h:89:1
>> >-
>> >                                                    'typedef ssize_t (RedsStream*, const iovec*, int)* RedsStream::writev', at offset 1216 (in bits) at reds.h:90:1
>> >-
>> >                                                  1 data member change:
>> >                                                   type of 'SSL* RedsStream::ssl' changed:
>> >                                                     in pointed to type 'typedef SSL' at reds_stream.h:32:1:
>> >@@ -257,193 +252,99 @@
>> >                                                         type size changed from 5504 to 0 (in bits)
>> >                                                         94 data member deletions:
>> >                                                           'int ssl_st::version', at offset 0 (in bits) at ssl.h:1070:1
>> >-
>> >                                                           'int ssl_st::type', at offset 32 (in bits) at ssl.h:1071:1
>> >-
>> >                                                           'const SSL_METHOD* ssl_st::method', at offset 64 (in bits) at ssl.h:1073:1
>> >-
>> >                                                           'BIO* ssl_st::rbio', at offset 128 (in bits) at ssl.h:1080:1
>> >-
>> >                                                           'BIO* ssl_st::wbio', at offset 192 (in bits) at ssl.h:1081:1
>> >-
>> >                                                           'BIO* ssl_st::bbio', at offset 256 (in bits) at ssl.h:1082:1
>> >-
>> >                                                           'int ssl_st::rwstate', at offset 320 (in bits) at ssl.h:1093:1
>> >-
>> >                                                           'int ssl_st::in_handshake', at offset 352 (in bits) at ssl.h:1096:1
>> >-
>> >                                                           'int (SSL*)* ssl_st::handshake_func', at offset 384 (in bits) at ssl.h:1097:1
>> >-
>> >                                                           'int ssl_st::server', at offset 448 (in bits) at ssl.h:1107:1
>> >-
>> >                                                           'int ssl_st::new_session', at offset 480 (in bits) at ssl.h:1109:1
>> >-
>> >                                                           'int ssl_st::quiet_shutdown', at offset 512 (in bits) at ssl.h:1113:1
>> >-
>> >                                                           'int ssl_st::shutdown', at offset 544 (in bits) at ssl.h:1114:1
>> >-
>> >                                                           'int ssl_st::state', at offset 576 (in bits) at ssl.h:1116:1
>> >-
>> >                                                           'int ssl_st::rstate', at offset 608 (in bits) at ssl.h:1117:1
>> >-
>> >                                                           'BUF_MEM* ssl_st::init_buf', at offset 640 (in bits) at ssl.h:1119:1
>> >-
>> >                                                           'void* ssl_st::init_msg', at offset 704 (in bits) at ssl.h:1120:1
>> >-
>> >                                                           'int ssl_st::init_num', at offset 768 (in bits) at ssl.h:1121:1
>> >-
>> >                                                           'int ssl_st::init_off', at offset 800 (in bits) at ssl.h:1122:1
>> >-
>> >                                                           'unsigned char* ssl_st::packet', at offset 832 (in bits) at ssl.h:1125:1
>> >-
>> >                                                           'unsigned int ssl_st::packet_length', at offset 896 (in bits) at ssl.h:1126:1
>> >-
>> >                                                           'ssl2_state_st* ssl_st::s2', at offset 960 (in bits) at ssl.h:1128:1
>> >-
>> >                                                           'ssl3_state_st* ssl_st::s3', at offset 1024 (in bits) at ssl.h:1129:1
>> >-
>> >                                                           'dtls1_state_st* ssl_st::d1', at offset 1088 (in bits) at ssl.h:1130:1
>> >-
>> >                                                           'int ssl_st::read_ahead', at offset 1152 (in bits) at ssl.h:1132:1
>> >-
>> >                                                           'void (int, int, int, void*, typedef size_t, SSL*, void*)* ssl_st::msg_callback', at offset 1216 (in bits) at ssl.h:1136:1
>> >-
>> >                                                           'void* ssl_st::msg_callback_arg', at offset 1280 (in bits) at ssl.h:1137:1
>> >-
>> >                                                           'int ssl_st::hit', at offset 1344 (in bits) at ssl.h:1139:1
>> >-
>> >                                                           'X509_VERIFY_PARAM* ssl_st::param', at offset 1408 (in bits) at ssl.h:1141:1
>> >-
>> >                                                           'stack_st_SSL_CIPHER* ssl_st::cipher_list', at offset 1472 (in bits) at ssl.h:1149:1
>> >-
>> >                                                           'stack_st_SSL_CIPHER* ssl_st::cipher_list_by_id', at offset 1536 (in bits) at ssl.h:1150:1
>> >-
>> >                                                           'int ssl_st::mac_flags', at offset 1600 (in bits) at ssl.h:1154:1
>> >-
>> >                                                           'EVP_CIPHER_CTX* ssl_st::enc_read_ctx', at offset 1664 (in bits) at ssl.h:1155:1
>> >-
>> >                                                           'EVP_MD_CTX* ssl_st::read_hash', at offset 1728 (in bits) at ssl.h:1156:1
>> >-
>> >                                                           'COMP_CTX* ssl_st::expand', at offset 1792 (in bits) at ssl.h:1158:1
>> >-
>> >                                                           'EVP_CIPHER_CTX* ssl_st::enc_write_ctx', at offset 1856 (in bits) at ssl.h:1163:1
>> >-
>> >                                                           'EVP_MD_CTX* ssl_st::write_hash', at offset 1920 (in bits) at ssl.h:1164:1
>> >-
>> >                                                           'COMP_CTX* ssl_st::compress', at offset 1984 (in bits) at ssl.h:1166:1
>> >-
>> >                                                           'cert_st* ssl_st::cert', at offset 2048 (in bits) at ssl.h:1175:1
>> >-
>> >                                                           'unsigned int ssl_st::sid_ctx_length', at offset 2112 (in bits) at ssl.h:1179:1
>> >-
>> >                                                           'unsigned char ssl_st::sid_ctx[32]', at offset 2144 (in bits) at ssl.h:1180:1
>> >-
>> >                                                           'SSL_SESSION* ssl_st::session', at offset 2432 (in bits) at ssl.h:1183:1
>> >-
>> >                                                           'GEN_SESSION_CB ssl_st::generate_session_id', at offset 2496 (in bits) at ssl.h:1186:1
>> >-
>> >                                                           'int ssl_st::verify_mode', at offset 2560 (in bits) at ssl.h:1189:1
>> >-
>> >                                                           'int (int, X509_STORE_CTX*)* ssl_st::verify_callback', at offset 2624 (in bits) at ssl.h:1191:1
>> >-
>> >                                                           'void (const SSL*, int, int)* ssl_st::info_callback', at offset 2688 (in bits) at ssl.h:1193:1
>> >-
>> >                                                           'int ssl_st::error', at offset 2752 (in bits) at ssl.h:1195:1
>> >-
>> >                                                           'int ssl_st::error_code', at offset 2784 (in bits) at ssl.h:1196:1
>> >-
>> >                                                           'KSSL_CTX* ssl_st::kssl_ctx', at offset 2816 (in bits) at ssl.h:1199:1
>> >-
>> >                                                           'unsigned int (SSL*, const char*, char*, unsigned int, unsigned char*, unsigned int)* ssl_st::psk_client_callback', at offset 2880 (in bits) at ssl.h:1203:1
>> >-
>> >                                                           'unsigned int (SSL*, const char*, unsigned char*, unsigned int)* ssl_st::psk_server_callback', at offset 2944 (in bits) at ssl.h:1206:1
>> >-
>> >                                                           'SSL_CTX* ssl_st::ctx', at offset 3008 (in bits) at ssl.h:1210:1
>> >-
>> >                                                           'int ssl_st::debug', at offset 3072 (in bits) at ssl.h:1213:1
>> >-
>> >                                                           'long int ssl_st::verify_result', at offset 3136 (in bits) at ssl.h:1216:1
>> >-
>> >                                                           'CRYPTO_EX_DATA ssl_st::ex_data', at offset 3200 (in bits) at ssl.h:1217:1
>> >-
>> >                                                           'stack_st_X509_NAME* ssl_st::client_CA', at offset 3328 (in bits) at ssl.h:1220:1
>> >-
>> >                                                           'int ssl_st::references', at offset 3392 (in bits) at ssl.h:1222:1
>> >-
>> >                                                           'unsigned long int ssl_st::options', at offset 3456 (in bits) at ssl.h:1223:1
>> >-
>> >                                                           'unsigned long int ssl_st::mode', at offset 3520 (in bits) at ssl.h:1224:1
>> >-
>> >                                                           'long int ssl_st::max_cert_list', at offset 3584 (in bits) at ssl.h:1225:1
>> >-
>> >                                                           'int ssl_st::first_packet', at offset 3648 (in bits) at ssl.h:1226:1
>> >-
>> >                                                           'int ssl_st::client_version', at offset 3680 (in bits) at ssl.h:1227:1
>> >-
>> >                                                           'unsigned int ssl_st::max_send_fragment', at offset 3712 (in bits) at ssl.h:1229:1
>> >-
>> >                                                           'void (SSL*, int, int, unsigned char*, int, void*)* ssl_st::tlsext_debug_cb', at offset 3776 (in bits) at ssl.h:1232:1
>> >-
>> >                                                           'void* ssl_st::tlsext_debug_arg', at offset 3840 (in bits) at ssl.h:1235:1
>> >-
>> >                                                           'char* ssl_st::tlsext_hostname', at offset 3904 (in bits) at ssl.h:1236:1
>> >-
>> >                                                           'int ssl_st::servername_done', at offset 3968 (in bits) at ssl.h:1237:1
>> >-
>> >                                                           'int ssl_st::tlsext_status_type', at offset 4000 (in bits) at ssl.h:1244:1
>> >-
>> >                                                           'int ssl_st::tlsext_status_expected', at offset 4032 (in bits) at ssl.h:1246:1
>> >-
>> >                                                           'stack_st_OCSP_RESPID* ssl_st::tlsext_ocsp_ids', at offset 4096 (in bits) at ssl.h:1248:1
>> >-
>> >                                                           'X509_EXTENSIONS* ssl_st::tlsext_ocsp_exts', at offset 4160 (in bits) at ssl.h:1249:1
>> >-
>> >                                                           'unsigned char* ssl_st::tlsext_ocsp_resp', at offset 4224 (in bits) at ssl.h:1251:1
>> >-
>> >                                                           'int ssl_st::tlsext_ocsp_resplen', at offset 4288 (in bits) at ssl.h:1252:1
>> >-
>> >                                                           'int ssl_st::tlsext_ticket_expected', at offset 4320 (in bits) at ssl.h:1255:1
>> >-
>> >                                                           'size_t ssl_st::tlsext_ecpointformatlist_length', at offset 4352 (in bits) at ssl.h:1257:1
>> >-
>> >                                                           'unsigned char* ssl_st::tlsext_ecpointformatlist', at offset 4416 (in bits) at ssl.h:1258:1
>> >-
>> >                                                           'size_t ssl_st::tlsext_ellipticcurvelist_length', at offset 4480 (in bits) at ssl.h:1259:1
>> >-
>> >                                                           'unsigned char* ssl_st::tlsext_ellipticcurvelist', at offset 4544 (in bits) at ssl.h:1260:1
>> >-
>> >                                                           'void* ssl_st::tlsext_opaque_prf_input', at offset 4608 (in bits) at ssl.h:1264:1
>> >-
>> >                                                           'size_t ssl_st::tlsext_opaque_prf_input_len', at offset 4672 (in bits) at ssl.h:1265:1
>> >-
>> >                                                           'TLS_SESSION_TICKET_EXT* ssl_st::tlsext_session_ticket', at offset 4736 (in bits) at ssl.h:1268:1
>> >-
>> >                                                           'tls_session_ticket_ext_cb_fn ssl_st::tls_session_ticket_ext_cb', at offset 4800 (in bits) at ssl.h:1271:1
>> >-
>> >                                                           'void* ssl_st::tls_session_ticket_ext_cb_arg', at offset 4864 (in bits) at ssl.h:1272:1
>> >-
>> >                                                           'tls_session_secret_cb_fn ssl_st::tls_session_secret_cb', at offset 4928 (in bits) at ssl.h:1275:1
>> >-
>> >                                                           'void* ssl_st::tls_session_secret_cb_arg', at offset 4992 (in bits) at ssl.h:1276:1
>> >-
>> >                                                           'SSL_CTX* ssl_st::initial_ctx', at offset 5056 (in bits) at ssl.h:1278:1
>> >-
>> >                                                           'unsigned char* ssl_st::next_proto_negotiated', at offset 5120 (in bits) at ssl.h:1288:1
>> >-
>> >                                                           'unsigned char ssl_st::next_proto_negotiated_len', at offset 5184 (in bits) at ssl.h:1289:1
>> >-
>> >                                                           'stack_st_SRTP_PROTECTION_PROFILE* ssl_st::srtp_profiles', at offset 5248 (in bits) at ssl.h:1294:1
>> >-
>> >                                                           'SRTP_PROTECTION_PROFILE* ssl_st::srtp_profile', at offset 5312 (in bits) at ssl.h:1295:1
>> >-
>> >                                                           'unsigned int ssl_st::tlsext_heartbeat', at offset 5376 (in bits) at ssl.h:1297:1
>> >-
>> >                                                           'unsigned int ssl_st::tlsext_hb_pending', at offset 5408 (in bits) at ssl.h:1302:1
>> >-
>> >                                                           'unsigned int ssl_st::tlsext_hb_seq', at offset 5440 (in bits) at ssl.h:1303:1
>> >-
>> >                                                           'int ssl_st::renegotiate', at offset 5472 (in bits) at ssl.h:1308:1
>> >-
>> >                                                   and name of 'RedsStream::ssl' changed to 'RedsStream::priv' at reds_stream.h:42:1
>> >
>> >
>> >@@ -558,7 +459,6 @@
>> >         underlying type 'enum __anonymous_enum__2' at spice.h:471:1 changed:
>> >           type name changed from '__anonymous_enum__2' to 'SpiceImageCompression'
>> >           type size hasn't changed
>> >-
>> >           7 enumerator deletions:
>> >             '__anonymous_enum__2::SPICE_IMAGE_COMPRESS_INVALID' value '0'
>> >             '__anonymous_enum__2::SPICE_IMAGE_COMPRESS_OFF' value '1'
>> >@@ -567,7 +467,6 @@
>> >             '__anonymous_enum__2::SPICE_IMAGE_COMPRESS_QUIC' value '4'
>> >             '__anonymous_enum__2::SPICE_IMAGE_COMPRESS_GLZ' value '5'
>> >             '__anonymous_enum__2::SPICE_IMAGE_COMPRESS_LZ' value '6'
>> >-
>> >           9 enumerator insertions:
>> >             'SpiceImageCompression::SPICE_IMAGE_COMPRESSION_INVALID' value '0'
>> >             'SpiceImageCompression::SPICE_IMAGE_COMPRESSION_OFF' value '1'
>> >diff --git a/tests/data/test-diff-pkg/spice-server-0.12.4-19.el7.x86_64-0.12.8-1.el7.x86_64-report-3.txt b/tests/data/test-diff-pkg/spice-server-0.12.4-19.el7.x86_64-0.12.8-1.el7.x86_64-report-3.txt
>> >index 75ba0a50..11cd5682 100644
>> >--- a/tests/data/test-diff-pkg/spice-server-0.12.4-19.el7.x86_64-0.12.8-1.el7.x86_64-report-3.txt
>> >+++ b/tests/data/test-diff-pkg/spice-server-0.12.4-19.el7.x86_64-0.12.8-1.el7.x86_64-report-3.txt
>> >@@ -22,7 +22,6 @@ Leaf changes summary: 11 artifacts changed (7 filtered out)
>> >   'enum __anonymous_enum__2 at spice.h:471:1' changed:
>> >     type name changed from '__anonymous_enum__2' to 'SpiceImageCompression'
>> >     type size hasn't changed
>> >-
>> >     7 enumerator deletions:
>> >       '__anonymous_enum__2::SPICE_IMAGE_COMPRESS_INVALID' value '0'
>> >       '__anonymous_enum__2::SPICE_IMAGE_COMPRESS_OFF' value '1'
>> >@@ -31,7 +30,6 @@ Leaf changes summary: 11 artifacts changed (7 filtered out)
>> >       '__anonymous_enum__2::SPICE_IMAGE_COMPRESS_QUIC' value '4'
>> >       '__anonymous_enum__2::SPICE_IMAGE_COMPRESS_GLZ' value '5'
>> >       '__anonymous_enum__2::SPICE_IMAGE_COMPRESS_LZ' value '6'
>> >-
>> >     9 enumerator insertions:
>> >       'SpiceImageCompression::SPICE_IMAGE_COMPRESSION_INVALID' value '0'
>> >       'SpiceImageCompression::SPICE_IMAGE_COMPRESSION_OFF' value '1'
>> >@@ -48,7 +46,6 @@ Leaf changes summary: 11 artifacts changed (7 filtered out)
>> >       function int spice_server_set_image_compression(SpiceServer*, spice_image_compression_t)
>> >   'typedef spice_image_compression_t at spice.h:479:1' changed:
>> >     typedef name changed from spice_image_compression_t to SpiceImageCompression at enums.h:197:1
>> >-
>> >     2 impacted interfaces:
>> >       function spice_image_compression_t spice_server_get_image_compression(SpiceServer*)
>> >       function int spice_server_set_image_compression(SpiceServer*, spice_image_compression_t)
>> >diff --git a/tests/data/test-diff-pkg/tbb-4.1-9.20130314.fc22.x86_64--tbb-4.3-3.20141204.fc23.x86_64-report-0.txt b/tests/data/test-diff-pkg/tbb-4.1-9.20130314.fc22.x86_64--tbb-4.3-3.20141204.fc23.x86_64-report-0.txt
>> >index f8e60b50..d0381ce5 100644
>> >--- a/tests/data/test-diff-pkg/tbb-4.1-9.20130314.fc22.x86_64--tbb-4.3-3.20141204.fc23.x86_64-report-0.txt
>> >+++ b/tests/data/test-diff-pkg/tbb-4.1-9.20130314.fc22.x86_64--tbb-4.3-3.20141204.fc23.x86_64-report-0.txt
>> >@@ -60,7 +60,6 @@
>> >         type size hasn't changed
>> >         1 enumerator insertion:
>> >           'tbb::internal::exception_id::eid_bad_tagged_msg_cast' value '20'
>> >-
>> >         1 enumerator change:
>> >           'tbb::internal::exception_id::eid_max' from value '20' to '21' at tbb_exception.h:79:1
>> >
>> >@@ -129,7 +128,6 @@
>> >
>> >
>> >
>> >-
>> >                1 member function deletion:
>> >                  'method virtual tbb::task* tbb::internal::generic_scheduler::receive_or_steal_task(tbb::internal::reference_count&, bool)' at scheduler.h:391:1, virtual at voffset 7/7
>> >
>> >@@ -138,11 +136,8 @@
>> >
>> >                3 data member deletions:
>> >                  'unsigned int tbb::internal::generic_scheduler::hint_for_push', at offset 896 (in bits) at scheduler.h:171:1
>> >-
>> >                  'volatile intptr_t* tbb::internal::generic_scheduler::my_ref_top_priority', at offset 2560 (in bits) at scheduler.h:433:1
>> >-
>> >                  'volatile uintptr_t* tbb::internal::generic_scheduler::my_ref_reload_epoch', at offset 2752 (in bits) at scheduler.h:443:1
>> >-
>> >                18 data member changes:
>> >                 'uintptr_t tbb::internal::generic_scheduler::my_stealing_threshold' offset changed from 704 to 832 (in bits) (by +128 bits)
>> >                 type of 'tbb::internal::market* tbb::internal::generic_scheduler::my_market' changed:
>> >diff --git a/tests/data/test-diff-pkg/tbb-4.1-9.20130314.fc22.x86_64--tbb-4.3-3.20141204.fc23.x86_64-report-1.txt b/tests/data/test-diff-pkg/tbb-4.1-9.20130314.fc22.x86_64--tbb-4.3-3.20141204.fc23.x86_64-report-1.txt
>> >index 10816705..89c8efa3 100644
>> >--- a/tests/data/test-diff-pkg/tbb-4.1-9.20130314.fc22.x86_64--tbb-4.3-3.20141204.fc23.x86_64-report-1.txt
>> >+++ b/tests/data/test-diff-pkg/tbb-4.1-9.20130314.fc22.x86_64--tbb-4.3-3.20141204.fc23.x86_64-report-1.txt
>> >@@ -31,7 +31,6 @@
>> >         type size hasn't changed
>> >         1 enumerator insertion:
>> >           'tbb::internal::exception_id::eid_bad_tagged_msg_cast' value '20'
>> >-
>> >         1 enumerator change:
>> >           'tbb::internal::exception_id::eid_max' from value '20' to '21' at tbb_exception.h:79:1
>> >
>> >diff --git a/tests/data/test-diff-suppr/test10-changed-parm-c-report-0.txt b/tests/data/test-diff-suppr/test10-changed-parm-c-report-0.txt
>> >index 8f5d0b6b..c39851d3 100644
>> >--- a/tests/data/test-diff-suppr/test10-changed-parm-c-report-0.txt
>> >+++ b/tests/data/test-diff-suppr/test10-changed-parm-c-report-0.txt
>> >@@ -7,14 +7,11 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
>> >     return type changed:
>> >       type name changed from 'int' to 'float'
>> >       type size hasn't changed
>> >-
>> >     parameter 1 of type 'int' changed:
>> >       type name changed from 'int' to 'float'
>> >       type size hasn't changed
>> >-
>> >     parameter 2 of type 'int' changed:
>> >       type name changed from 'int' to 'float'
>> >       type size hasn't changed
>> >
>> >
>> >-
>> >diff --git a/tests/data/test-diff-suppr/test35-leaf-report-0.txt b/tests/data/test-diff-suppr/test35-leaf-report-0.txt
>> >index 411cc1b4..244455ae 100644
>> >--- a/tests/data/test-diff-suppr/test35-leaf-report-0.txt
>> >+++ b/tests/data/test-diff-suppr/test35-leaf-report-0.txt
>> >@@ -7,6 +7,5 @@ Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable
>> >   type size changed from 32 to 64 (in bits)
>> >   1 data member insertion:
>> >     'char leaf::m1', at offset 32 (in bits) at test35-leaf-v1.cc:8:1
>> >-
>> >   one impacted interface:
>> >     function void fn(C&)
>> >diff --git a/tests/data/test-diff-suppr/test36-leaf-report-0.txt b/tests/data/test-diff-suppr/test36-leaf-report-0.txt
>> >index b12a8a61..f286cc7b 100644
>> >--- a/tests/data/test-diff-suppr/test36-leaf-report-0.txt
>> >+++ b/tests/data/test-diff-suppr/test36-leaf-report-0.txt
>> >@@ -7,7 +7,6 @@ Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable
>> >   type size changed from 32 to 64 (in bits)
>> >   1 data member insertion:
>> >     'char leaf1::m1', at offset 32 (in bits) at test36-leaf-v1.cc:7:1
>> >-
>> >   3 impacted interfaces:
>> >     function void interface1(struct_type*)
>> >     function void interface2(struct_type&)
>> >@@ -20,7 +19,6 @@ Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable
>> >    type 'struct leaf1' of 'leaf2::member0' changed as reported earlier
>> >    and size changed from 32 to 64 (in bits) (by +32 bits)
>> >    'char leaf2::member1' offset changed from 32 to 64 (in bits) (by +32 bits)
>> >-
>> >   3 impacted interfaces:
>> >     function void interface1(struct_type*)
>> >     function void interface2(struct_type&)
>> >diff --git a/tests/data/test-diff-suppr/test41-enumerator-changes-report-0.txt b/tests/data/test-diff-suppr/test41-enumerator-changes-report-0.txt
>> >index 4b1681bc..d772bd1d 100644
>> >--- a/tests/data/test-diff-suppr/test41-enumerator-changes-report-0.txt
>> >+++ b/tests/data/test-diff-suppr/test41-enumerator-changes-report-0.txt
>> >@@ -8,7 +8,6 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
>> >       type size hasn't changed
>> >       1 enumerator insertion:
>> >         'EnumType1::ee3_inserted' value '3'
>> >-
>> >       1 enumerator change:
>> >         'EnumType1::eenum_count' from value '3' to '4' at test41-enumerator-changes-v1.cc:10:1
>> >
>> >@@ -18,7 +17,6 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
>> >       type size hasn't changed
>> >       1 enumerator insertion:
>> >         'EnumType0::e3_inserted' value '3'
>> >-
>> >       1 enumerator change:
>> >         'EnumType0::enum_count' from value '3' to '4' at test41-enumerator-changes-v1.cc:1:1
>> >
>> >--
>> >2.25.1.481.gfbce0eb801-goog
>> >
>> >

  reply	other threads:[~2020-03-16 12:29 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-03-12  6:30 [PATCH 0/5] More whitespace and leaf-changes-only fixes Giuliano Procida
2020-03-12  6:30 ` [PATCH 1/5] Fix interaction of --redundant and --leaf-changes-only options Giuliano Procida
2020-03-13 17:30   ` Dodji Seketeli
2020-03-12  6:30 ` [PATCH 2/5] abg-leaf-reporter.cc: Fix indentation of function parameter diffs Giuliano Procida
2020-03-13 17:37   ` Dodji Seketeli
2020-03-12  6:30 ` [PATCH 3/5] [abidiff] Eliminate some unnecessary blank lines in diff output Giuliano Procida
2020-03-14 20:09   ` Matthias Maennich
2020-03-16 10:51     ` Giuliano Procida
2020-03-16 12:29       ` Matthias Maennich [this message]
2020-03-16 13:04         ` Giuliano Procida
2020-03-16 13:44           ` Matthias Maennich
2020-03-16 14:32             ` Giuliano Procida
2020-03-16 13:10   ` [PATCH 3/5 v2] " Giuliano Procida
2020-03-16 16:10     ` Dodji Seketeli
2020-03-12  6:30 ` [PATCH 4/5] [abidiff] Output 2-space indentation consistently Giuliano Procida
2020-03-13 15:38   ` [PATCH 4/5 v2] " Giuliano Procida
2020-03-17 12:31     ` Dodji Seketeli
2020-03-14 20:12   ` [PATCH 4/5] " Matthias Maennich
2020-03-12  6:30 ` [PATCH 5/5] [abidiff] Treat function type changes as local Giuliano Procida
2020-03-14 20:45   ` Matthias Maennich
2020-03-17 16:15   ` Dodji Seketeli

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200316122912.GB211970@google.com \
    --to=maennich@google.com \
    --cc=dodji@seketeli.org \
    --cc=gprocida@google.com \
    --cc=kernel-team@android.com \
    --cc=libabigail@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).