[PATCH 3/5] [abidiff] Eliminate some unnecessary blank lines in diff output.

Giuliano Procida gprocida@google.com
Mon Mar 16 13:04:31 GMT 2020


Hi.

On Mon, 16 Mar 2020 at 12:29, Matthias Maennich <maennich@google.com> wrote:
>
> 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.

I've been able to eliminate it.

> >
> >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&)

Just to clear, I wasn't advocating moving impacted interfaces up in
any way. I was just pointing out that it is really a child of
"changed" and I suppose it would be safer to prune based on
indentation if you are going to post-process the output.

# untested Perl
$text =~ s/^( *)([^ ]* impacted interfaces?):\n(\g1 .*\n)+:/$1$2\n/g;

Anyway, the format is (previous to my patch) looks like:

foo changed:
  detailsA

  M impacted interface(s):
   detailsB

bar changed:
  detailsC

  N impacted interface(s):
    detailsD

We want to post-process to remove detailsB and detailsD. This is
equally easy so long as we just consume non-empty lines following
"impacted interfaces". My patch to remove the blank line between
detailsA/C and "impacted interfaces" doesn't change this.

> 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
> >> >
> >> >


More information about the Libabigail mailing list