Eliminate some unnecessary blank lines in diff output.
authorGiuliano Procida <gprocida@google.com>
Mon, 16 Mar 2020 13:10:25 +0000 (13:10 +0000)
committerDodji Seketeli <dodji@redhat.com>
Mon, 16 Mar 2020 15:15:09 +0000 (16:15 +0100)
v2: More code simplification. Tests unchanged.

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

A lot of passing of "new line needed" booleans between functions has
been eliminated in the process.

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 type_decl_diff,
enum_diff, array_diff, class_diff, union_diff and var_diff
overrides, simplify new line logic which no longer needs to be
threaded through report_name_size_and_alignment_changes. In
the distinct_diff override, simplify new line logic which no
longer needs to be threaded through
report_size_and_alignment_changes. In the enum_diff override,
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,
class_diff, union_diff and var_diff overrides, simplify new
line logic which no longer needs to be threaded through
report_name_size_and_alignment_changes. In the distinct_diff
override, simplify new line logic which no longer needs to be
threaded through report_size_and_alignment_changes. 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.
In the corpus_diff override, tabify source indentation.
* 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 and replace local bool n with argument bool nl for
clarity.
(report_size_and_alignment_changes): Remove bool nl argument
and associated code as it had become always false; take
responsibility for emitting terminating new lines and change
return type to void.
(report_name_size_and_alignment_changes): Fix new line logic;
remove bool nl argument and associated code as it had become
always false; take responsibility for emitting terminating new
lines and change return type to void.
(maybe_report_interfaces_impacted_by_diff) In both overrides,
remove new line prefix code and new_line_prefix argument.
* src/abg-reporter-priv.h (represent_data_member): Add indent
argument.
(report_size_and_alignment_changes) Remove bool nl argument;
change return type to void.
(report_name_size_and_alignment_changes) Remove bool nl
argument; change return type to void.
(maybe_report_interfaces_impacted_by_diff) In both overrides,
remove new_line_prefix argument.
* tests/data/test-*/*report*.txt: Remove some blank lines.

Signed-off-by: Giuliano Procida <gprocida@google.com>
44 files changed:
src/abg-default-reporter.cc
src/abg-leaf-reporter.cc
src/abg-reporter-priv.cc
src/abg-reporter-priv.h
tests/data/test-abicompat/test5-fn-changed-report-0.txt
tests/data/test-abicompat/test5-fn-changed-report-1.txt
tests/data/test-abicompat/test6-var-changed-report-0.txt
tests/data/test-abicompat/test6-var-changed-report-1.txt
tests/data/test-abicompat/test7-fn-changed-report-0.txt
tests/data/test-abidiff-exit/test-leaf3-report.txt
tests/data/test-abidiff-exit/test-loc-with-locs-report.txt
tests/data/test-abidiff-exit/test-loc-without-locs-report.txt
tests/data/test-abidiff/test-PR18791-report0.txt
tests/data/test-abidiff/test-enum0-report.txt
tests/data/test-abidiff/test-enum1-report.txt
tests/data/test-abidiff/test-struct1-report.txt
tests/data/test-diff-dwarf/PR25058-liblttng-ctl-report-1.txt
tests/data/test-diff-dwarf/test13-report.txt
tests/data/test-diff-dwarf/test38-union-report-0.txt
tests/data/test-diff-dwarf/test40-report-0.txt
tests/data/test-diff-dwarf/test42-PR21296-clanggcc-report0.txt
tests/data/test-diff-dwarf/test43-PR22913-report-0.txt
tests/data/test-diff-filter/test10-report.txt
tests/data/test-diff-filter/test18-report.txt
tests/data/test-diff-filter/test23-redundant-fn-parm-change-report-0.txt
tests/data/test-diff-filter/test30-pr18904-rvalueref-report0.txt
tests/data/test-diff-filter/test30-pr18904-rvalueref-report1.txt
tests/data/test-diff-filter/test30-pr18904-rvalueref-report2.txt
tests/data/test-diff-filter/test35-pr18754-no-added-syms-report-0.txt
tests/data/test-diff-filter/test36-report-0.txt
tests/data/test-diff-filter/test42-leaf-report-output-0.txt
tests/data/test-diff-filter/test7-report.txt
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
tests/data/test-diff-pkg/nss-3.23.0-1.0.fc23.x86_64-report-0.txt
tests/data/test-diff-pkg/spice-server-0.12.4-19.el7.x86_64-0.12.8-1.el7.x86_64-report-0.txt
tests/data/test-diff-pkg/spice-server-0.12.4-19.el7.x86_64-0.12.8-1.el7.x86_64-report-1.txt
tests/data/test-diff-pkg/spice-server-0.12.4-19.el7.x86_64-0.12.8-1.el7.x86_64-report-2.txt
tests/data/test-diff-pkg/spice-server-0.12.4-19.el7.x86_64-0.12.8-1.el7.x86_64-report-3.txt
tests/data/test-diff-pkg/tbb-4.1-9.20130314.fc22.x86_64--tbb-4.3-3.20141204.fc23.x86_64-report-0.txt
tests/data/test-diff-pkg/tbb-4.1-9.20130314.fc22.x86_64--tbb-4.3-3.20141204.fc23.x86_64-report-1.txt
tests/data/test-diff-suppr/test10-changed-parm-c-report-0.txt
tests/data/test-diff-suppr/test35-leaf-report-0.txt
tests/data/test-diff-suppr/test36-leaf-report-0.txt
tests/data/test-diff-suppr/test41-enumerator-changes-report-0.txt

index 3bfdfbc43ed6ccc58126d9d79af3a17c29ec2932..f6067909f886674c2e4f35ad5fd42531324a888e 100644 (file)
@@ -55,33 +55,25 @@ default_reporter::report(const type_decl_diff& d,
 
   string name = f->get_pretty_representation();
 
-  bool n = report_name_size_and_alignment_changes(f, s, d.context(),
-                                                 out, indent,
-                                                 /*new line=*/false);
+  report_name_size_and_alignment_changes(f, s, d.context(),
+                                        out, indent);
 
   if (f->get_visibility() != s->get_visibility())
     {
-      if (n)
-       out << "\n";
       out << indent
          << "visibility changed from '"
-         << f->get_visibility() << "' to '" << s->get_visibility();
-      n = true;
+         << f->get_visibility() << "' to '" << s->get_visibility()
+         << "\n";
     }
 
   if (f->get_linkage_name() != s->get_linkage_name())
     {
-      if (n)
-       out << "\n";
       out << indent
          << "mangled name changed from '"
          << f->get_linkage_name() << "' to "
-         << s->get_linkage_name();
-      n = true;
+         << s->get_linkage_name()
+         << "\n";
     }
-
-  if (n)
-    out << "\n";
 }
 
 /// Report the differences between the two enums.
@@ -106,10 +98,8 @@ default_reporter::report(const enum_diff& d, ostream& out,
 
   enum_type_decl_sptr first = d.first_enum(), second = d.second_enum();
 
-  if (report_name_size_and_alignment_changes(first, second, d.context(),
-                                            out, indent,
-                                            /*start_with_num_line=*/false))
-    out << "\n";
+  report_name_size_and_alignment_changes(first, second, d.context(),
+                                        out, indent);
   maybe_report_diff_for_member(first, second, d.context(), out, indent);
 
   //underlying type
@@ -130,16 +120,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 +139,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 +159,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 +166,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 +377,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 + "  ");
@@ -676,9 +661,7 @@ default_reporter::report(const array_diff& d, ostream& out,
   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);
+                                        out, indent);
 }
 
 /// Generates a report for an intance of @ref base_diff.
@@ -1014,7 +997,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 +1006,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 +1028,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 + "  ");
            }
        }
 
@@ -1327,10 +1302,8 @@ default_reporter::report(const class_diff& d, ostream& out,
   class_decl_sptr first = d.first_class_decl(),
     second = d.second_class_decl();
 
-  if (report_name_size_and_alignment_changes(first, second, d.context(),
-                                            out, indent,
-                                            /*start_with_new_line=*/false))
-    out << "\n";
+  report_name_size_and_alignment_changes(first, second, d.context(),
+                                        out, indent);
 
   const diff_context_sptr& ctxt = d.context();
   maybe_report_diff_for_member(first, second, ctxt, out, indent);
@@ -1446,10 +1419,8 @@ default_reporter::report(const union_diff& d, ostream& out,
   // Now report the changes about the differents parts of the type.
   union_decl_sptr first = d.first_union_decl(), second = d.second_union_decl();
 
-  if (report_name_size_and_alignment_changes(first, second, d.context(),
-                                            out, indent,
-                                            /*start_with_new_line=*/false))
-    out << "\n";
+  report_name_size_and_alignment_changes(first, second, d.context(),
+                                        out, indent);
 
   maybe_report_diff_for_member(first, second,d. context(), out, indent);
 
@@ -1512,9 +1483,7 @@ default_reporter::report(const distinct_diff& d, ostream& out,
   if (diff)
     diff->report(out, indent + "  ");
   else
-    if (report_size_and_alignment_changes(f, s, d.context(), out, indent,
-                                         /*start_with_new_line=*/false))
-      out << "\n";
+    report_size_and_alignment_changes(f, s, d.context(), out, indent);
 }
 
 /// Serialize a report of the changes encapsulated in the current
@@ -1710,11 +1679,9 @@ default_reporter::report(const var_diff& d, ostream& out,
   decl_base_sptr first = d.first_var(), second = d.second_var();
   string n = first->get_pretty_representation();
 
-  if (report_name_size_and_alignment_changes(first, second,
-                                            d.context(),
-                                            out, indent,
-                                            /*start_with_new_line=*/false))
-    out << "\n";
+  report_name_size_and_alignment_changes(first, second,
+                                        d.context(),
+                                        out, indent);
 
   maybe_report_diff_for_symbol(d.first_var()->get_symbol(),
                               d.second_var()->get_symbol(),
index 6972d013b07d0e9dc2f4c5acdc46be14f83d3f3d..ddc84352e411f04ce83d7d304f7fb95fb31fcc63 100644 (file)
@@ -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);
@@ -428,8 +428,7 @@ leaf_reporter::report(const array_diff& d,
   report_name_size_and_alignment_changes(d.first_array(),
                                         d.second_array(),
                                         d.context(),
-                                        out, indent,
-                                        /*new line=*/false);
+                                        out, indent);
 
   diff_sptr dif = d.element_type_diff();
   if (diff_to_be_reported(dif.get()))
@@ -441,8 +440,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 +589,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 +598,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 +620,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 + "  ");
            }
        }
 
@@ -716,10 +705,8 @@ leaf_reporter::report(const class_diff& d,
   class_decl_sptr first = d.first_class_decl(),
     second = d.second_class_decl();
 
-  if (report_name_size_and_alignment_changes(first, second, d.context(),
-                                            out, indent,
-                                            /*start_with_new_line=*/false))
-    out << "\n";
+  report_name_size_and_alignment_changes(first, second, d.context(),
+                                        out, indent);
 
   const diff_context_sptr& ctxt = d.context();
   maybe_report_diff_for_member(first, second, ctxt, out, indent);
@@ -750,10 +737,8 @@ leaf_reporter::report(const union_diff& d,
   // Now report the changes about the differents parts of the type.
   union_decl_sptr first = d.first_union_decl(), second = d.second_union_decl();
 
-  if (report_name_size_and_alignment_changes(first, second, d.context(),
-                                            out, indent,
-                                            /*start_with_new_line=*/false))
-    out << "\n";
+  report_name_size_and_alignment_changes(first, second, d.context(),
+                                        out, indent);
 
   maybe_report_diff_for_member(first, second,d. context(), out, indent);
 
@@ -789,10 +774,7 @@ leaf_reporter::report(const distinct_diff& d,
   report_loc_info(s, *d.context(), out);
   out << "\n";
 
-  if (report_size_and_alignment_changes(f, s, d.context(), out, indent,
-                                       /*start_with_new_line=*/false))
-    out << "\n";
-
+  report_size_and_alignment_changes(f, s, d.context(), out, indent);
   maybe_report_interfaces_impacted_by_diff(&d, out, indent);
 }
 
@@ -982,11 +964,9 @@ leaf_reporter::report(const var_diff& d,
   decl_base_sptr first = d.first_var(), second = d.second_var();
   string n = first->get_pretty_representation();
 
-  if (report_name_size_and_alignment_changes(first, second,
-                                            d.context(),
-                                            out, indent,
-                                            /*start_with_new_line=*/false))
-    out << "\n";
+  report_name_size_and_alignment_changes(first, second,
+                                        d.context(),
+                                        out, indent);
 
   maybe_report_diff_for_symbol(d.first_var()->get_symbol(),
                               d.second_var()->get_symbol(),
@@ -1107,50 +1087,50 @@ leaf_reporter::report(const corpus_diff& d,
   if (ctxt->show_added_fns())
     {
       if (s.net_num_func_added() == 1)
-        out << indent << "1 Added function:\n\n";
+       out << indent << "1 Added function:\n\n";
       else if (s.net_num_func_added() > 1)
-        out << indent << s.net_num_func_added()
-            << " Added functions:\n\n";
+       out << indent << s.net_num_func_added()
+           << " Added functions:\n\n";
       bool emitted = false;
       vector<function_decl*> sorted_added_fns;
       sort_string_function_ptr_map(d.priv_->added_fns_, sorted_added_fns);
       for (vector<function_decl*>::const_iterator i = sorted_added_fns.begin();
-           i != sorted_added_fns.end();
-           ++i)
-        {
-          if (d.priv_->added_function_is_suppressed(*i))
-            continue;
-
-          out
-            << indent
-            << "  ";
-          out << "[A] ";
-          out << "'"
-              << (*i)->get_pretty_representation()
-              << "'";
-          if (ctxt->show_linkage_names())
-            {
-              out << "    {";
-              show_linkage_name_and_aliases
-                (out, "", *(*i)->get_symbol(),
-                 d.second_corpus()->get_fun_symbol_map());
-              out << "}";
-            }
-          out << "\n";
-          if (is_member_function(*i) && get_member_function_is_virtual(*i))
-            {
-              class_decl_sptr c =
-                is_class_type(is_method_type((*i)->get_type())->get_class_type());
-              out << indent
-                  << "    "
-                  << "note that this adds a new entry to the vtable of "
-                  << c->get_pretty_representation()
-                  << "\n";
-            }
-          emitted = true;
-        }
+          i != sorted_added_fns.end();
+          ++i)
+       {
+         if (d.priv_->added_function_is_suppressed(*i))
+           continue;
+
+         out
+           << indent
+           << "  ";
+         out << "[A] ";
+         out << "'"
+             << (*i)->get_pretty_representation()
+             << "'";
+         if (ctxt->show_linkage_names())
+           {
+             out << "    {";
+             show_linkage_name_and_aliases
+               (out, "", *(*i)->get_symbol(),
+                d.second_corpus()->get_fun_symbol_map());
+             out << "}";
+           }
+         out << "\n";
+         if (is_member_function(*i) && get_member_function_is_virtual(*i))
+           {
+             class_decl_sptr c =
+               is_class_type(is_method_type((*i)->get_type())->get_class_type());
+             out << indent
+                 << "    "
+                 << "note that this adds a new entry to the vtable of "
+                 << c->get_pretty_representation()
+                 << "\n";
+           }
+         emitted = true;
+       }
       if (emitted)
-        out << "\n";
+       out << "\n";
     }
 
   if (ctxt->show_changed_fns())
@@ -1262,7 +1242,7 @@ leaf_reporter::report(const corpus_diff& d,
          emitted = true;
        }
       if (emitted)
-        out << "\n";
+       out << "\n";
     }
 
   if (ctxt->show_added_vars())
@@ -1325,7 +1305,7 @@ leaf_reporter::report(const corpus_diff& d,
            continue;
 
          if (!diff_to_be_reported(diff.get()))
-            continue;
+           continue;
 
          n1 = diff->first_subject()->get_pretty_representation();
          n2 = diff->second_subject()->get_pretty_representation();
@@ -1337,7 +1317,7 @@ leaf_reporter::report(const corpus_diff& d,
          out << ":\n";
          diff->report(out, indent + "    ");
          out << "\n";
-          emitted = true;
+         emitted = true;
        }
       if (emitted)
        out << "\n";
@@ -1373,7 +1353,7 @@ leaf_reporter::report(const corpus_diff& d,
          show_linkage_name_and_aliases(out, "", **i,
                                        d.first_corpus()->get_fun_symbol_map());
          out << "\n";
-          emitted = true;
+         emitted = true;
        }
       if (emitted)
        out << "\n";
@@ -1410,7 +1390,7 @@ leaf_reporter::report(const corpus_diff& d,
                                        **i,
                                        d.second_corpus()->get_fun_symbol_map());
          out << "\n";
-          emitted = true;
+         emitted = true;
        }
       if (emitted)
        out << "\n";
@@ -1448,7 +1428,7 @@ leaf_reporter::report(const corpus_diff& d,
             d.first_corpus()->get_fun_symbol_map());
 
          out << "\n";
-          emitted = true;
+         emitted = true;
        }
       if (emitted)
        out << "\n";
@@ -1484,7 +1464,7 @@ leaf_reporter::report(const corpus_diff& d,
          show_linkage_name_and_aliases(out, "", **i,
                                        d.second_corpus()->get_fun_symbol_map());
          out << "\n";
-          emitted = true;
+         emitted = true;
        }
       if (emitted)
        out << "\n";
index fbac85f8d210532e49b6c4bc5bd673a03178cff5..7c45287785648f515247bc59cdaec269fb1e585a 100644 (file)
@@ -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)
 {
   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
@@ -441,7 +444,7 @@ represent(const var_diff_sptr       &diff,
          out << indent << "while looking at anonymous data member '"
              << tr1 << "':\n"
              << indent << "the internal name of that anonymous data member"
-                          "changed from:\n"
+                          "changed from:\n"
              << indent << " " << get_type_name(o->get_type()) << "\n"
              << indent << "to:\n"
              << indent << " " << get_type_name(n->get_type()) << "\n"
@@ -699,23 +702,18 @@ represent(const var_diff_sptr     &diff,
 /// @param out the output stream to report the change to.
 ///
 /// @param indent the string to use for indentation.
-///
-/// @param nl whether to start the first report line with a new line.
-///
-/// @return true iff something was reported.
-bool
+void
 report_size_and_alignment_changes(type_or_decl_base_sptr       first,
                                  type_or_decl_base_sptr        second,
                                  diff_context_sptr             ctxt,
                                  ostream&                      out,
-                                 const string&         indent,
-                                 bool                          nl)
+                                 const string&                 indent)
 {
   type_base_sptr f = dynamic_pointer_cast<type_base>(first),
     s = dynamic_pointer_cast<type_base>(second);
 
   if (!s || !f)
-    return false;
+    return;
 
   class_or_union_sptr first_class = is_class_or_union_type(first),
     second_class = is_class_or_union_type(second);
@@ -726,9 +724,8 @@ report_size_and_alignment_changes(type_or_decl_base_sptr    first,
     // declaration-only form of the second.  And the user asked that
     // this kind of change be filtered out, so do not report any size
     // change due to this.
-    return false;
+    return;
 
-  bool n = false;
   unsigned fs = f->get_size_in_bits(), ss = s->get_size_in_bits(),
     fa = f->get_alignment_in_bits(), sa = s->get_alignment_in_bits();
   array_type_def_sptr first_array = is_array_type(is_type(first)),
@@ -736,9 +733,6 @@ report_size_and_alignment_changes(type_or_decl_base_sptr    first,
   unsigned fdc = first_array ? first_array->get_dimension_count(): 0,
     sdc = second_array ? second_array->get_dimension_count(): 0;
 
-  if (nl)
-    out << "\n";
-
   if (ctxt->get_allowed_category() & SIZE_OR_OFFSET_CHANGE_CATEGORY)
     {
       if (fs != ss || fdc != sdc)
@@ -801,27 +795,23 @@ report_size_and_alignment_changes(type_or_decl_base_sptr  first,
            {
              out << indent;
              show_numerical_change("type size", fs, ss, *ctxt, out);
-             n = true;
+             out << "\n";
            }
        } // 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";
+         }
     }
   if ((ctxt->get_allowed_category() & SIZE_OR_OFFSET_CHANGE_CATEGORY)
       && (fa != sa))
     {
-      if (n)
-       out << "\n";
       out << indent;
       show_numerical_change("type alignment", fa, sa, *ctxt, out,
                            /*show_bits_or_bytes=*/false);
-      n = true;
+      out << "\n";
     }
-
-  if (n)
-    return true;
-  return false;
 }
 
 /// @param tod the type or declaration to emit loc info about
@@ -874,17 +864,12 @@ report_loc_info(const type_or_decl_base_sptr& tod,
 /// @param out the output stream to report the change to.
 ///
 /// @param indent the string to use for indentation.
-///
-/// @param nl whether to start the first report line with a new line.
-///
-/// @return true iff something was reported.
-bool
+void
 report_name_size_and_alignment_changes(decl_base_sptr          first,
                                       decl_base_sptr           second,
                                       diff_context_sptr        ctxt,
-                                      ostream&         out,
-                                      const string&            indent,
-                                      bool                     nl)
+                                      ostream&                 out,
+                                      const string&            indent)
 {
   string fn = first->get_qualified_name(),
     sn = second->get_qualified_name();
@@ -898,21 +883,17 @@ report_name_size_and_alignment_changes(decl_base_sptr             first,
        ;
       else
        {
-         if (nl)
-           out << "\n";
          out << indent;
          if (is_type(first))
            out << "type";
          else
            out << "declaration";
          out << " name changed from '" << fn << "' to '" << sn << "'";
-         nl = true;
+         out << "\n";
        }
     }
 
-  nl |= report_size_and_alignment_changes(first, second, ctxt,
-                                         out, indent, nl);
-  return nl;
+  report_size_and_alignment_changes(first, second, ctxt, out, indent);
 }
 
 /// Output the header preceding the the report for
@@ -1366,14 +1347,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 +1372,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';
-
   size_t num_impacted_interfaces = impacted_artifacts->size();
   if (num_impacted_interfaces == 1)
     out << indent << "one impacted interface:\n";
@@ -1424,9 +1398,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,
index 7471c74fea82149ca34d8c4ab075ac83a53a1a87..b6c56fdb22daf6bd728fc99b3ebb7afa39f8e7ee 100644 (file)
@@ -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,
@@ -170,26 +171,24 @@ represent(const var_diff_sptr     &diff,
          const string& indent = "",
          bool                  local_only = false);
 
-bool
+void
 report_size_and_alignment_changes(type_or_decl_base_sptr       first,
                                  type_or_decl_base_sptr        second,
                                  diff_context_sptr             ctxt,
                                  ostream&                      out,
-                                 const string&         indent,
-                                 bool                          nl);
+                                 const string&                 indent);
 
 bool
 report_loc_info(const type_or_decl_base_sptr& tod,
                const diff_context& ctxt,
                ostream &out);
 
-bool
+void
 report_name_size_and_alignment_changes(decl_base_sptr          first,
                                       decl_base_sptr           second,
                                       diff_context_sptr        ctxt,
                                       ostream&         out,
-                                      const string&            indent,
-                                      bool                     nl);
+                                      const string&            indent);
 
 /// Represent the kind of difference we want report_mem_header() to
 /// report.
@@ -244,14 +243,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
index 96d48ccf5d6a25ca7f3d109c5fd0bb32ab30a460..04676908c7c2865aded6cc21453b944307b842cc 100644 (file)
@@ -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)
 
-
index 3c8c4a8fc565eedb114baef62e68bec7688e6f34..b39f650de332bb9c72687b6633bd5f79868cc1f3 100644 (file)
@@ -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
 
-
index 5d2bd89c37ccf5cedefc5dbc7db6a1555d0bee2a..f50778790b58cc08033553b797d2c971bdbe9c79 100644 (file)
@@ -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)
 
-
index 697929f040e2d785876614b810ff08aeca1e708b..5b78c83c00b5f560bc45d78307efb1d4e041ac3c 100644 (file)
@@ -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
 
-
index 19db76e31764371a5ec457ff4193f39d3a31ed9a..6a34710d40d2622bd17d0d68a650105700886e8c 100644 (file)
@@ -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':
index 138c4b5af9814d00919d35ae86d6b29614b340cb..7602e76170357e2f3aa0b52aa3db122a51e6021c 100644 (file)
@@ -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'
index 5367274486accf0991305e5ec1d8bd98a8783491..bc37ff53bbad39e73121e98f3d347bc46342bf3a 100644 (file)
@@ -9,4 +9,3 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
       type size hasn't changed
 
 
-
index 6893e3fc4eb4cbe4d7d77727ececca64f556d57a..56c41d79801d6849ad0b4301f8ff79401d22f698 100644 (file)
@@ -9,4 +9,3 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
       type size hasn't changed
 
 
-
index 5758077dbf235f27a430d049d05d24c2ac2f6111..7e16fe32160a35443a5bd3d26b9c5cf5d04fbe61 100644 (file)
@@ -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'
index c7c5a682f3c2694b97e63da8b20337bd4de21900..1cd7eaafff212968d23093ab67441170d6aaadd8 100644 (file)
@@ -3,7 +3,6 @@
     type size hasn't changed
     1 enumerator deletion:
       'E::e2' value '1'
-
     1 enumerator insertion:
       'E::e1' value '1'
 
index f1198ef9c6e81cef301e55255cc111a21c7ba0f1..7e8acf807bcc961ba670a031d1ec8dcf7cd36dcc 100644 (file)
@@ -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'
 
index 39b71e55eb8686e908445062d70ec2b14d3cc919..e334bf1af265dea73e74b90beefbf0ed69444ace 100644 (file)
@@ -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:
index 29f823ec3a5c8441b20650b457f99cbc191e9680..aab271ff5a07a4de79907f697f82d18f11ee6016 100644 (file)
@@ -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'
 
index cf29a4fd14b0c595367f915de490626910552820..833879c7aae0ef8820b417e8654d2e8135a61bcb 100644 (file)
@@ -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)
index f7a75df7b5c16994a4a7e349c4fd848009402792..fd9708e67f7b9d14df70b015f02b6e06e74f4aa3 100644 (file)
@@ -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:
index d0b8c52c9ec13aa6317cc66e147b3e28b35fa90d..f0f9e1a1ae2fd902a761dba2a5a6f69517001349 100644 (file)
@@ -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':
index f0a25a2e94da098810ded517bc1671e5f2d9b5bc..44918baa4790bdc3f837c509386031acaa21f452 100644 (file)
@@ -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:
index 1c0c773d17001661af22585e2e8d517793cd0fb5..6068133625e93f21272cc28c77be0a3e93deefa6 100644 (file)
@@ -12,4 +12,3 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
             'char m2', at offset 8 (in bits)
 
 
-
index bdc31fd03e0df3298661ea12557fe7669119c9f5..5a505fc3f307522d1f5252e294ef64fb0ef94a37 100644 (file)
@@ -16,4 +16,3 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
           'unsigned int S::m', at offset 0 (in bits)
 
 
-
index 0d30ef399cec6575c9ff4b459b6817a31b441b94..6ade5bdfac560479ee71b5c24c189f8923e6b483 100644 (file)
@@ -14,4 +14,3 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
 
 
 
-
index f847d32eef46e34c18ed450f306a068d235b1627..99c143292900e5260145cc72493389b5f23fdcc1 100644 (file)
@@ -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
 
 
-
index b78215b0e5179cee9ac35db25412d6de3cc01e83..5def3a08fd0e32436cddde9fa31d8e02c5573005 100644 (file)
@@ -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>'
index ccaf812695602a6c7f6e07f55ce9b91d2ac3d57f..3bc8f6d7c91bab5ee683a6d259be573d3e43fecb 100644 (file)
@@ -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>'
index 44e78935e21f1a5b1387a36ca40bf02ccea61a15..d91de66b81af2be153a26549dbf5a8c4b1c47fd7 100644 (file)
@@ -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>'
index c9cb924677c53b7e41eb711bb1be83627632b25f..306a98639e99f6115b2cb53cf632d0c5fcb14fdb 100644 (file)
@@ -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>'
index 08692c1e1116cc0073ced5971303cc146cd4c5e0..22e614d8c7dfcf4b2879f6d06a73a2f077212662 100644 (file)
@@ -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
 
 
 
-
index 94a0551d30c42a8fc03311ab43d1439455479dfc..d40a1374e9592b73cd5baa5d0e9fc61ca4af2764 100644 (file)
@@ -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&)
index 7e3a4d47d6ef8c1385bffa2048575b61a32c3f41..26933033ed0519d5dc905d65ee5e955d2a246d9f 100644 (file)
@@ -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);
 
 
index 05d6fcad12bb1ed6283f3ec2f6f43e6f70ec1b3f..873a84cd7e7efe831bc05f7bbec5785e905b82be 100644 (file)
@@ -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'
index c227fa5cbcfdd55cccaa40717bf56f4f7184fec5..a0cc67c2794ccfab31a89307760f91d79398ca34 100644 (file)
@@ -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'
                                              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
 
index bf081f52614e1ee93711d9fc6e925ec96fd3b922..70b41ddd2b483ee2ed88bae349d5dd2eac9591fa 100644 (file)
@@ -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'
index 7b86b964f14e3e83d54336011a2635c76b85b4d5..0b909f90d714c0b1e3ff4ad788a16a48d23f2323 100644 (file)
@@ -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'
index 3d20caf1326ce195ebf7f04c6e6478e33c323313..c247ef95e62aedcc02aa1487b9388e658bbdbba6 100644 (file)
                                                  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:
                                                         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
 
 
         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'
             '__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'
index 75ba0a5033a359822b408a4d878271f32dcafc15..11cd5682cc1f87218da3323e39ffd7717b7c7280 100644 (file)
@@ -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)
index f8e60b50c5fe04369406bbe991e6d30527534e18..d0381ce5faa0d08253f106896ee7eb862d762a5e 100644 (file)
@@ -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
 
 
 
 
-
                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
 
 
                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:
index 10816705aae942ccd630e9cb48342775fe40ffa1..89c8efa31881e6ac8dac85cd05d27e423296cf9c 100644 (file)
@@ -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
 
index 8f5d0b6bca8957ad73e946990532a306f59a1be7..c39851d3b47e8f12f8035b77ca6227c16a2fd4b4 100644 (file)
@@ -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
 
 
-
index 411cc1b4b0d741285fb1a86375ed0eaa24665d5f..244455aecd8ce7f04ba696357531e5b66083f4d3 100644 (file)
@@ -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&)
index b12a8a611bf2ba77ccb7fd71831d77f2bfa85284..f286cc7b0c8b979175869e9f74cdf11c9f623866 100644 (file)
@@ -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&)
index 4b1681bc8a7ff25acf260d88830dfe9a7b4c1394..d772bd1d8d38b5f447df2578e226dca87cac4ab7 100644 (file)
@@ -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