@@ -191,9 +191,6 @@ struct diff_context::priv
vector<filtering::filter_base_sptr> filters_;
suppressions_type suppressions_;
pointer_map visited_diff_nodes_;
- // This is the last visited diff node, per class of equivalence.
- // It's set during the redundant diff node marking process.
- pointer_map last_visited_diff_node_;
corpus_diff_sptr corpus_diff_;
ostream* default_output_stream_;
ostream* error_output_stream_;
@@ -506,7 +503,9 @@ struct class_or_union_diff::priv
string_decl_base_sptr_map dms_replaced_by_adms_;
mutable changed_var_sptrs_type dms_replaced_by_adms_ordered_;
string_member_function_sptr_map deleted_member_functions_;
+ class_or_union::member_functions sorted_deleted_member_functions_;
string_member_function_sptr_map inserted_member_functions_;
+ class_or_union::member_functions sorted_inserted_member_functions_;
string_function_decl_diff_sptr_map changed_member_functions_;
function_decl_diff_sptrs_type sorted_changed_member_functions_;
string_decl_base_sptr_map deleted_member_class_tmpls_;
@@ -1390,9 +1389,14 @@ void
sort_string_function_ptr_map(const string_function_ptr_map& map,
vector<function_decl*>& sorted);
+void
+sort_string_member_function_sptr_map(const string_member_function_sptr_map& map,
+ class_or_union::member_functions& sorted);
+
void
sort_string_type_base_sptr_map(string_type_base_sptr_map& map,
vector<type_base_sptr>& sorted);
+
void
sort_string_function_decl_diff_sptr_map
(const string_function_decl_diff_sptr_map& map,
@@ -201,6 +201,27 @@ sort_string_function_ptr_map(const string_function_ptr_map& map,
std::sort(sorted.begin(), sorted.end(), comp);
}
+/// Sort a map that's an instance of @ref
+/// string_member_function_sptr_map and fill a vector of member
+/// functions with the sorted result.
+///
+/// @param map the map to sort.
+///
+/// @param sorted the resulting sorted vector.
+void
+sort_string_member_function_sptr_map(const string_member_function_sptr_map& map,
+ class_or_union::member_functions& sorted)
+{
+ sorted.reserve(map.size());
+ for (string_member_function_sptr_map::const_iterator i = map.begin();
+ i != map.end();
+ ++i)
+ sorted.push_back(i->second);
+
+ function_comp comp;
+ std::sort(sorted.begin(), sorted.end(), comp);
+}
+
/// Sort the values of a @ref string_function_decl_diff_sptr_map map
/// and store the result in a vector of @ref function_decl_diff_sptr
/// objects.
@@ -885,55 +906,6 @@ bool
is_child_node_of_base_diff(const diff* diff)
{return diff && is_base_diff(diff->parent_node());}
-/// Test if the current diff node has an ancestor node that has been
-/// filtered out.
-///
-/// This function detects cycles when walking through the "parent"
-/// path.
-///
-/// @param diff the diff node to take into account.
-///
-/// @param ancestor this is a hash map of the pointers of the parents
-/// that are visited. It's used to detect cycles while visiting
-/// parents of this diff tree node.
-///
-/// @return true iff the current diff node has an ancestor node that
-/// has been filtered out.
-static bool
-diff_has_ancestor_filtered_out(const diff* d,
- unordered_map<size_t, bool>& ancestors)
-{
- if (!d || !d->parent_node())
- return false;
- if (d->parent_node()->is_filtered_out())
- return true;
-
- const diff* parent = d->parent_node();
- unordered_map<size_t, bool>::const_iterator i =
- ancestors.find(reinterpret_cast<size_t>(parent));
- if (i != ancestors.end())
- // We've just detected a cycle in the path made of the parents
- // that we are visiting.
- return false;
- ancestors[reinterpret_cast<size_t>(parent)] = true;
-
- return diff_has_ancestor_filtered_out(parent, ancestors);
-}
-
-/// Test if the current diff node has an ancestor node that has been
-/// filtered out.
-///
-/// @param diff the diff node to take into account.
-///
-/// @return true iff the current diff node has an ancestor node that
-/// has been filtered out.
-static bool
-diff_has_ancestor_filtered_out(const diff* diff)
-{
- unordered_map<size_t, bool> ancestors_trace;
- return diff_has_ancestor_filtered_out(diff, ancestors_trace);
-}
-
/// The default traverse function.
///
/// @return true.
@@ -1324,45 +1296,6 @@ void
diff_context::forget_visited_diffs()
{priv_->visited_diff_nodes_.clear();}
-/// Mark a given diff node as being the last one that has been visited
-/// in its class of equivalence.
-///
-/// @param d the diff node to mark.
-void
-diff_context::mark_last_diff_visited_per_class_of_equivalence(const diff* d)
-{
- if (!d->get_canonical_diff())
- return;
-
- size_t v0 = reinterpret_cast<size_t>(d->get_canonical_diff());
- size_t v1 = reinterpret_cast<size_t>(d);
- priv_->last_visited_diff_node_[v0]= v1;
-}
-
-/// Clear the marking about the diff diff nodes in a given class of
-/// equivalence.
-void
-diff_context::clear_last_diffs_visited_per_class_of_equivalence()
-{priv_->last_visited_diff_node_.clear();}
-
-/// Return the last diff node visited in the class of equivalence of
-/// a given diff node.
-///
-/// @param d the diff node which class of equivalence to consider.
-///
-/// @return the last diff node visited in the class of equivalence of
-/// the diff node @p d.
-const diff*
-diff_context::get_last_visited_diff_of_class_of_equivalence(const diff* d)
-{
- size_t v0 = reinterpret_cast<size_t>(d);
-
- pointer_map::const_iterator it = priv_->last_visited_diff_node_.find(v0);
- if (it != priv_->last_visited_diff_node_.end())
- return reinterpret_cast<const diff*>(it->second);
- return 0;
-}
-
/// This sets a flag that, if it's true, then during the traversing of
/// a diff nodes tree each node is visited at most once.
///
@@ -5264,11 +5197,11 @@ class_or_union_diff::chain_into_hierarchy()
if (diff_sptr d = *i)
append_child_node(d);
- for (unsigned_var_diff_sptr_map::const_iterator i =
- get_priv()->changed_dm_.begin();
- i != get_priv()->changed_dm_.end();
+ for (var_diff_sptrs_type::const_iterator i =
+ get_priv()->sorted_changed_dm_.begin();
+ i != get_priv()->sorted_changed_dm_.end();
++i)
- if (diff_sptr d = i->second)
+ if (diff_sptr d = *i)
append_child_node(d);
// member types changes
@@ -5487,6 +5420,12 @@ class_diff::ensure_lookup_tables_populated(void) const
++i)
p->inserted_member_functions_.erase(*i);
+ sort_string_member_function_sptr_map(p->deleted_member_functions_,
+ p->sorted_deleted_member_functions_);
+
+ sort_string_member_function_sptr_map(p->inserted_member_functions_,
+ p->sorted_inserted_member_functions_);
+
sort_string_virtual_member_function_diff_sptr_map
(p->changed_member_functions_,
p->sorted_changed_member_functions_);
@@ -12155,11 +12094,11 @@ struct redundancy_marking_visitor : public diff_node_visitor
&& !is_diff_of_variadic_parameter(d)
&& !is_diff_of_variadic_parameter_type(d)
// If the canonical diff itself has been filtered out,
- // then this one is not marked redundant, obviously.
- && !d->get_canonical_diff()->is_filtered_out()
- && !(diff_has_ancestor_filtered_out
- (d->context()->
- get_last_visited_diff_of_class_of_equivalence(d)))
+ // then this one is not marked redundant, unless the
+ // canonical diff was already redundant.
+ && (!d->get_canonical_diff()->is_filtered_out()
+ || (d->get_canonical_diff()->get_category()
+ & REDUNDANT_CATEGORY))
// If the *same* diff node (not one that is merely
// equivalent to this one) has already been visited
// the do not mark it as beind redundant. It's only
@@ -12197,8 +12136,6 @@ struct redundancy_marking_visitor : public diff_node_visitor
set_visiting_kind(get_visiting_kind() | SKIP_CHILDREN_VISITING_KIND);
skip_children_nodes_ = true;
}
-
- d->context()->mark_last_diff_visited_per_class_of_equivalence(d);
}
virtual void
@@ -12259,6 +12196,12 @@ struct redundancy_marking_visitor : public diff_node_visitor
if ((*i)->has_changes())
{
has_non_empty_child = true;
+ // Let's see if the current child node '*i' is
+ // "non-redundant".
+ //
+ // A non-redundant node would be a node that
+ // carries a change to be reported and has not
+ // been marked as being redundant.
if ((*i)->to_be_reported()
&& ((*i)->get_category() & REDUNDANT_CATEGORY) == 0)
has_non_redundant_child = true;
@@ -12322,12 +12265,10 @@ categorize_redundancy(diff* diff_tree)
if (diff_tree->context()->show_redundant_changes())
return;
redundancy_marking_visitor v;
- diff_tree->context()->clear_last_diffs_visited_per_class_of_equivalence();
bool s = diff_tree->context()->visiting_a_node_twice_is_forbidden();
diff_tree->context()->forbid_visiting_a_node_twice(false);
diff_tree->traverse(v);
diff_tree->context()->forbid_visiting_a_node_twice(s);
- diff_tree->context()->clear_last_diffs_visited_per_class_of_equivalence();
}
/// Walk a given @ref diff sub-tree to categorize each of the nodes
@@ -934,17 +934,17 @@ default_reporter::report(const class_or_union_diff& d,
if (numdels)
report_mem_header(out, numdels, num_filtered, del_kind,
"member function", indent);
- for (string_member_function_sptr_map::const_iterator i =
- d.get_priv()->deleted_member_functions_.begin();
- i != d.get_priv()->deleted_member_functions_.end();
+ for (class_or_union::member_functions::const_iterator i =
+ d.get_priv()->sorted_deleted_member_functions_.begin();
+ i != d.get_priv()->sorted_deleted_member_functions_.end();
++i)
{
if (!(ctxt->get_allowed_category()
& NON_VIRT_MEM_FUN_CHANGE_CATEGORY)
- && !get_member_function_is_virtual(i->second))
+ && !get_member_function_is_virtual(*i))
continue;
- method_decl_sptr mem_fun = i->second;
+ method_decl_sptr mem_fun = *i;
out << indent << " ";
represent(*ctxt, mem_fun, out);
}
@@ -955,17 +955,17 @@ default_reporter::report(const class_or_union_diff& d,
if (numins)
report_mem_header(out, numins, num_filtered, ins_kind,
"member function", indent);
- for (string_member_function_sptr_map::const_iterator i =
- d.get_priv()->inserted_member_functions_.begin();
- i != d.get_priv()->inserted_member_functions_.end();
+ for (class_or_union::member_functions::const_iterator i =
+ d.get_priv()->sorted_inserted_member_functions_.begin();
+ i != d.get_priv()->sorted_inserted_member_functions_.end();
++i)
{
if (!(ctxt->get_allowed_category()
& NON_VIRT_MEM_FUN_CHANGE_CATEGORY)
- && !get_member_function_is_virtual(i->second))
+ && !get_member_function_is_virtual(*i))
continue;
- method_decl_sptr mem_fun = i->second;
+ method_decl_sptr mem_fun = *i;
out << indent << " ";
represent(*ctxt, mem_fun, out);
}
@@ -1,4 +1,4 @@
-Functions changes summary: 0 Removed, 10 Changed (174 filtered out), 13 Added functions
+Functions changes summary: 0 Removed, 5 Changed (179 filtered out), 13 Added functions
Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
Function symbols changes summary: 0 Removed, 0 Added function symbol not referenced by debug info
Variable symbols changes summary: 0 Removed, 6 Added variable symbols not referenced by debug info
@@ -25,7 +25,7 @@ Variable symbols changes summary: 0 Removed, 6 Added variable symbols not refere
[A] 'function std::unexpected_handler std::get_unexpected()'
[A] 'method std::regex_error::regex_error(std::regex_constants::error_type)'
-10 functions with some indirect sub-type change:
+5 functions with some indirect sub-type change:
[C] 'function __cxxabiv1::__cxa_dependent_exception* __cxxabiv1::__cxa_allocate_dependent_exception()' has some indirect sub-type changes:
return type changed:
@@ -70,16 +70,7 @@ Variable symbols changes summary: 0 Removed, 6 Added variable symbols not refere
1 base class insertion:
struct std::_Tuple_impl<0u, std::__future_base::_Result_base*, std::__future_base::_Result_base::_Deleter>
and name of 'std::unique_ptr<std::__future_base::_Result<void>, std::__future_base::_Result_base::_Deleter>::_M_t' changed to 'std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter>::_M_t'
- 1 member function changes (3 filtered):
- 'method virtual std::__future_base::_Async_state_common::~_Async_state_common(int)' has some sub-type changes:
- implicit parameter 0 of type 'std::__future_base::_Async_state_common*' has sub-type changes:
- pointed to type 'class std::__future_base::_Async_state_common' changed, as being reported
-
- [C] 'method virtual std::__future_base::_State_base::~_State_base(int)' has some indirect sub-type changes:
- linkage names of method virtual std::__future_base::_State_base::~_State_base(int)
- changed from '_ZNSt13__future_base11_State_baseD2Ev@@GLIBCXX_3.4.15, _ZNSt13__future_base11_State_baseD1Ev@@GLIBCXX_3.4.15' to '_ZNSt13__future_base11_State_baseD1Ev@@GLIBCXX_3.4.15, _ZNSt13__future_base11_State_baseD2Ev@@GLIBCXX_3.4.15'
- implicit parameter 0 of type 'std::__future_base::_State_base*' has sub-type changes:
- pointed to type 'class std::__future_base::_State_base' changed, as reported earlier
+ no member function changes (4 filtered);
[C] 'function void std::__throw_regex_error(std::regex_constants::error_type)' has some indirect sub-type changes:
parameter 1 of type 'enum std::regex_constants::error_type' has sub-type changes:
@@ -91,10 +82,7 @@ Variable symbols changes summary: 0 Removed, 6 Added variable symbols not refere
implicit parameter 0 of type 'std::basic_filebuf<wchar_t, std::char_traits<wchar_t> >*' has sub-type changes:
in pointed to type 'class std::basic_filebuf<wchar_t, std::char_traits<wchar_t> >':
type size hasn't changed
- 1 member function changes (13 filtered):
- 'method virtual std::basic_filebuf<wchar_t, std::char_traits<wchar_t> >::~basic_filebuf(int)' has some sub-type changes:
- implicit parameter 0 of type 'std::basic_filebuf<wchar_t, std::char_traits<wchar_t> >*' has sub-type changes:
- pointed to type 'class std::basic_filebuf<wchar_t, std::char_traits<wchar_t> >' changed, as being reported
+ no member function changes (14 filtered);
1 data member change:
type of 'const std::basic_filebuf<wchar_t, std::char_traits<wchar_t> >::__codecvt_type* std::basic_filebuf<wchar_t, std::char_traits<wchar_t> >::_M_codecvt' changed:
in pointed to type 'const std::basic_filebuf<wchar_t, std::char_traits<wchar_t> >::__codecvt_type':
@@ -103,46 +91,10 @@ Variable symbols changes summary: 0 Removed, 6 Added variable symbols not refere
type size hasn't changed
no base class change (1 filtered);
2 member function insertions:
- 'method virtual std::codecvt_base::result std::codecvt<wchar_t, char, __mbstate_t>::do_out(std::codecvt<wchar_t, char, __mbstate_t>::state_type&, const std::codecvt<wchar_t, char, __mbstate_t>::intern_type*, const std::codecvt<wchar_t, char, __mbstate_t>::intern_type*, const std::codecvt<wchar_t, char, __mbstate_t>::intern_type*&, std::codecvt<wchar_t, char, __mbstate_t>::extern_type*, std::codecvt<wchar_t, char, __mbstate_t>::extern_type*, std::codecvt<wchar_t, char, __mbstate_t>::extern_type*&) const', virtual at voffset 2/8
'method virtual std::codecvt_base::result std::codecvt<wchar_t, char, __mbstate_t>::do_in(std::codecvt<wchar_t, char, __mbstate_t>::state_type&, const std::codecvt<wchar_t, char, __mbstate_t>::extern_type*, const std::codecvt<wchar_t, char, __mbstate_t>::extern_type*, const std::codecvt<wchar_t, char, __mbstate_t>::extern_type*&, std::codecvt<wchar_t, char, __mbstate_t>::intern_type*, std::codecvt<wchar_t, char, __mbstate_t>::intern_type*, std::codecvt<wchar_t, char, __mbstate_t>::intern_type*&) const', virtual at voffset 4/8
+ 'method virtual std::codecvt_base::result std::codecvt<wchar_t, char, __mbstate_t>::do_out(std::codecvt<wchar_t, char, __mbstate_t>::state_type&, const std::codecvt<wchar_t, char, __mbstate_t>::intern_type*, const std::codecvt<wchar_t, char, __mbstate_t>::intern_type*, const std::codecvt<wchar_t, char, __mbstate_t>::intern_type*&, std::codecvt<wchar_t, char, __mbstate_t>::extern_type*, std::codecvt<wchar_t, char, __mbstate_t>::extern_type*, std::codecvt<wchar_t, char, __mbstate_t>::extern_type*&) const', virtual at voffset 2/8
no member function changes (10 filtered);
- [C] 'method std::basic_fstream<wchar_t, std::char_traits<wchar_t> >* std::basic_fstream<wchar_t, std::char_traits<wchar_t> >::basic_fstream(int, void**, const char*, std::ios_base::openmode)' has some indirect sub-type changes:
- implicit parameter 0 of type 'std::basic_fstream<wchar_t, std::char_traits<wchar_t> >*' has sub-type changes:
- in pointed to type 'class std::basic_fstream<wchar_t, std::char_traits<wchar_t> >':
- type size hasn't changed
- 1 member function changes (3 filtered):
- 'method virtual std::basic_fstream<wchar_t, std::char_traits<wchar_t> >::~basic_fstream(int, void**)' has some sub-type changes:
- implicit parameter 0 of type 'std::basic_fstream<wchar_t, std::char_traits<wchar_t> >*' has sub-type changes:
- pointed to type 'class std::basic_fstream<wchar_t, std::char_traits<wchar_t> >' changed, as being reported
- no data member change (1 filtered);
-
- [C] 'method std::basic_ifstream<wchar_t, std::char_traits<wchar_t> >* std::basic_ifstream<wchar_t, std::char_traits<wchar_t> >::basic_ifstream(int, void**, const char*, std::ios_base::openmode)' has some indirect sub-type changes:
- implicit parameter 0 of type 'std::basic_ifstream<wchar_t, std::char_traits<wchar_t> >*' has sub-type changes:
- in pointed to type 'class std::basic_ifstream<wchar_t, std::char_traits<wchar_t> >':
- type size hasn't changed
- 3 member function changes (1 filtered):
- 'method virtual std::basic_ifstream<wchar_t, std::char_traits<wchar_t> >::~basic_ifstream(int, void**)' has some sub-type changes:
- implicit parameter 0 of type 'std::basic_ifstream<wchar_t, std::char_traits<wchar_t> >*' has sub-type changes:
- pointed to type 'class std::basic_ifstream<wchar_t, std::char_traits<wchar_t> >' changed, as being reported
- 'method virtual std::basic_ifstream<wchar_t, std::char_traits<wchar_t> >::~basic_ifstream(int, void**)' has some sub-type changes:
- implicit parameter 0 of type 'std::basic_ifstream<wchar_t, std::char_traits<wchar_t> >*' has sub-type changes:
- pointed to type 'class std::basic_ifstream<wchar_t, std::char_traits<wchar_t> >' changed, as being reported
- 'method virtual std::basic_ifstream<wchar_t, std::char_traits<wchar_t> >::~basic_ifstream(int, void**)' has some sub-type changes:
- implicit parameter 0 of type 'std::basic_ifstream<wchar_t, std::char_traits<wchar_t> >*' has sub-type changes:
- pointed to type 'class std::basic_ifstream<wchar_t, std::char_traits<wchar_t> >' changed, as being reported
- no data member change (1 filtered);
-
- [C] 'method std::basic_ofstream<wchar_t, std::char_traits<wchar_t> >* std::basic_ofstream<wchar_t, std::char_traits<wchar_t> >::basic_ofstream(int, void**, const char*, std::ios_base::openmode)' has some indirect sub-type changes:
- implicit parameter 0 of type 'std::basic_ofstream<wchar_t, std::char_traits<wchar_t> >*' has sub-type changes:
- in pointed to type 'class std::basic_ofstream<wchar_t, std::char_traits<wchar_t> >':
- type size hasn't changed
- 1 member function changes (3 filtered):
- 'method virtual std::basic_ofstream<wchar_t, std::char_traits<wchar_t> >::~basic_ofstream(int, void**)' has some sub-type changes:
- implicit parameter 0 of type 'std::basic_ofstream<wchar_t, std::char_traits<wchar_t> >*' has sub-type changes:
- pointed to type 'class std::basic_ofstream<wchar_t, std::char_traits<wchar_t> >' changed, as being reported
- no data member change (1 filtered);
-
[C] 'method std::codecvt_byname<wchar_t, char, __mbstate_t>* std::codecvt_byname<wchar_t, char, __mbstate_t>::codecvt_byname(const char*, std::size_t)' has some indirect sub-type changes:
Please note that the symbol of this function is _ZNSt14codecvt_bynameIwc11__mbstate_tEC1EPKcj@@GLIBCXX_3.4
and it aliases symbol: _ZNSt14codecvt_bynameIwc11__mbstate_tEC2EPKcj@@GLIBCXX_3.4
@@ -152,23 +104,7 @@ Variable symbols changes summary: 0 Removed, 6 Added variable symbols not refere
1 base class change:
'class std::codecvt<wchar_t, char, __mbstate_t>' changed:
details were reported earlier
- 2 member function changes (1 filtered):
- 'method virtual std::codecvt_byname<wchar_t, char, __mbstate_t>::~codecvt_byname(int)' has some sub-type changes:
- implicit parameter 0 of type 'std::codecvt_byname<wchar_t, char, __mbstate_t>*' has sub-type changes:
- pointed to type 'class std::codecvt_byname<wchar_t, char, __mbstate_t>' changed, as being reported
- 'method virtual std::codecvt_byname<wchar_t, char, __mbstate_t>::~codecvt_byname(int)' has some sub-type changes:
- implicit parameter 0 of type 'std::codecvt_byname<wchar_t, char, __mbstate_t>*' has sub-type changes:
- pointed to type 'class std::codecvt_byname<wchar_t, char, __mbstate_t>' changed, as being reported
-
- [C] 'method virtual std::regex_error::~regex_error(int)' has some indirect sub-type changes:
- implicit parameter 0 of type 'std::regex_error*' has sub-type changes:
- in pointed to type 'class std::regex_error':
- type size hasn't changed
- 1 member function changes (2 filtered):
- 'method virtual std::regex_error::~regex_error(int)' has some sub-type changes:
- implicit parameter 0 of type 'std::regex_error*' has sub-type changes:
- pointed to type 'class std::regex_error' changed, as being reported
- no data member change (1 filtered);
+ no member function changes (3 filtered);
6 Added variable symbols not referenced by debug info:
@@ -1,4 +1,4 @@
-Functions changes summary: 0 Removed, 10 Changed (174 filtered out), 13 Added functions
+Functions changes summary: 0 Removed, 5 Changed (179 filtered out), 13 Added functions
Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
Function symbols changes summary: 0 Removed, 0 Added function symbol not referenced by debug info
Variable symbols changes summary: 0 Removed, 6 Added variable symbols not referenced by debug info
@@ -25,7 +25,7 @@ Variable symbols changes summary: 0 Removed, 6 Added variable symbols not refere
[A] 'function std::unexpected_handler std::get_unexpected()'
[A] 'method std::regex_error::regex_error(std::regex_constants::error_type)'
-10 functions with some indirect sub-type change:
+5 functions with some indirect sub-type change:
[C] 'function __cxxabiv1::__cxa_dependent_exception* __cxxabiv1::__cxa_allocate_dependent_exception()' at eh_alloc.cc:158:1 has some indirect sub-type changes:
return type changed:
@@ -70,16 +70,7 @@ Variable symbols changes summary: 0 Removed, 6 Added variable symbols not refere
1 base class insertion:
struct std::_Tuple_impl<0u, std::__future_base::_Result_base*, std::__future_base::_Result_base::_Deleter> at tuple:231:1
and name of 'std::unique_ptr<std::__future_base::_Result<void>, std::__future_base::_Result_base::_Deleter>::_M_t' changed to 'std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter>::_M_t' at unique_ptr.h:147:1
- 1 member function changes (3 filtered):
- 'method virtual std::__future_base::_Async_state_common::~_Async_state_common(int)' has some sub-type changes:
- implicit parameter 0 of type 'std::__future_base::_Async_state_common*' has sub-type changes:
- pointed to type 'class std::__future_base::_Async_state_common' changed, as being reported
-
- [C] 'method virtual std::__future_base::_State_base::~_State_base(int)' at compatibility-thread-c++0x.cc:103:1 has some indirect sub-type changes:
- linkage names of method virtual std::__future_base::_State_base::~_State_base(int)
- changed from '_ZNSt13__future_base11_State_baseD2Ev@@GLIBCXX_3.4.15, _ZNSt13__future_base11_State_baseD1Ev@@GLIBCXX_3.4.15' to '_ZNSt13__future_base11_State_baseD1Ev@@GLIBCXX_3.4.15, _ZNSt13__future_base11_State_baseD2Ev@@GLIBCXX_3.4.15'
- implicit parameter 0 of type 'std::__future_base::_State_base*' has sub-type changes:
- pointed to type 'class std::__future_base::_State_base' changed at future:306:1, as reported earlier
+ no member function changes (4 filtered);
[C] 'function void std::__throw_regex_error(std::regex_constants::error_type)' at functexcept.cc:139:1 has some indirect sub-type changes:
parameter 1 of type 'enum std::regex_constants::error_type' has sub-type changes:
@@ -91,10 +82,7 @@ Variable symbols changes summary: 0 Removed, 6 Added variable symbols not refere
implicit parameter 0 of type 'std::basic_filebuf<wchar_t, std::char_traits<wchar_t> >*' has sub-type changes:
in pointed to type 'class std::basic_filebuf<wchar_t, std::char_traits<wchar_t> >' at fstream:72:1:
type size hasn't changed
- 1 member function changes (13 filtered):
- 'method virtual std::basic_filebuf<wchar_t, std::char_traits<wchar_t> >::~basic_filebuf(int)' has some sub-type changes:
- implicit parameter 0 of type 'std::basic_filebuf<wchar_t, std::char_traits<wchar_t> >*' has sub-type changes:
- pointed to type 'class std::basic_filebuf<wchar_t, std::char_traits<wchar_t> >' changed, as being reported
+ no member function changes (14 filtered);
1 data member change:
type of 'const std::basic_filebuf<wchar_t, std::char_traits<wchar_t> >::__codecvt_type* std::basic_filebuf<wchar_t, std::char_traits<wchar_t> >::_M_codecvt' changed:
in pointed to type 'const std::basic_filebuf<wchar_t, std::char_traits<wchar_t> >::__codecvt_type':
@@ -103,46 +91,10 @@ Variable symbols changes summary: 0 Removed, 6 Added variable symbols not refere
type size hasn't changed
no base class change (1 filtered);
2 member function insertions:
- 'method virtual std::codecvt_base::result std::codecvt<wchar_t, char, __mbstate_t>::do_out(std::codecvt<wchar_t, char, __mbstate_t>::state_type&, const std::codecvt<wchar_t, char, __mbstate_t>::intern_type*, const std::codecvt<wchar_t, char, __mbstate_t>::intern_type*, const std::codecvt<wchar_t, char, __mbstate_t>::intern_type*&, std::codecvt<wchar_t, char, __mbstate_t>::extern_type*, std::codecvt<wchar_t, char, __mbstate_t>::extern_type*, std::codecvt<wchar_t, char, __mbstate_t>::extern_type*&) const' at codecvt_members.cc:43:1, virtual at voffset 2/8
'method virtual std::codecvt_base::result std::codecvt<wchar_t, char, __mbstate_t>::do_in(std::codecvt<wchar_t, char, __mbstate_t>::state_type&, const std::codecvt<wchar_t, char, __mbstate_t>::extern_type*, const std::codecvt<wchar_t, char, __mbstate_t>::extern_type*, const std::codecvt<wchar_t, char, __mbstate_t>::extern_type*&, std::codecvt<wchar_t, char, __mbstate_t>::intern_type*, std::codecvt<wchar_t, char, __mbstate_t>::intern_type*, std::codecvt<wchar_t, char, __mbstate_t>::intern_type*&) const' at codecvt_members.cc:118:1, virtual at voffset 4/8
+ 'method virtual std::codecvt_base::result std::codecvt<wchar_t, char, __mbstate_t>::do_out(std::codecvt<wchar_t, char, __mbstate_t>::state_type&, const std::codecvt<wchar_t, char, __mbstate_t>::intern_type*, const std::codecvt<wchar_t, char, __mbstate_t>::intern_type*, const std::codecvt<wchar_t, char, __mbstate_t>::intern_type*&, std::codecvt<wchar_t, char, __mbstate_t>::extern_type*, std::codecvt<wchar_t, char, __mbstate_t>::extern_type*, std::codecvt<wchar_t, char, __mbstate_t>::extern_type*&) const' at codecvt_members.cc:43:1, virtual at voffset 2/8
no member function changes (10 filtered);
- [C] 'method std::basic_fstream<wchar_t, std::char_traits<wchar_t> >* std::basic_fstream<wchar_t, std::char_traits<wchar_t> >::basic_fstream(int, void**, const char*, std::ios_base::openmode)' at fstream:819:1 has some indirect sub-type changes:
- implicit parameter 0 of type 'std::basic_fstream<wchar_t, std::char_traits<wchar_t> >*' has sub-type changes:
- in pointed to type 'class std::basic_fstream<wchar_t, std::char_traits<wchar_t> >' at fstream:779:1:
- type size hasn't changed
- 1 member function changes (3 filtered):
- 'method virtual std::basic_fstream<wchar_t, std::char_traits<wchar_t> >::~basic_fstream(int, void**)' has some sub-type changes:
- implicit parameter 0 of type 'std::basic_fstream<wchar_t, std::char_traits<wchar_t> >*' has sub-type changes:
- pointed to type 'class std::basic_fstream<wchar_t, std::char_traits<wchar_t> >' changed, as being reported
- no data member change (1 filtered);
-
- [C] 'method std::basic_ifstream<wchar_t, std::char_traits<wchar_t> >* std::basic_ifstream<wchar_t, std::char_traits<wchar_t> >::basic_ifstream(int, void**, const char*, std::ios_base::openmode)' at fstream:470:1 has some indirect sub-type changes:
- implicit parameter 0 of type 'std::basic_ifstream<wchar_t, std::char_traits<wchar_t> >*' has sub-type changes:
- in pointed to type 'class std::basic_ifstream<wchar_t, std::char_traits<wchar_t> >' at fstream:430:1:
- type size hasn't changed
- 3 member function changes (1 filtered):
- 'method virtual std::basic_ifstream<wchar_t, std::char_traits<wchar_t> >::~basic_ifstream(int, void**)' has some sub-type changes:
- implicit parameter 0 of type 'std::basic_ifstream<wchar_t, std::char_traits<wchar_t> >*' has sub-type changes:
- pointed to type 'class std::basic_ifstream<wchar_t, std::char_traits<wchar_t> >' changed, as being reported
- 'method virtual std::basic_ifstream<wchar_t, std::char_traits<wchar_t> >::~basic_ifstream(int, void**)' has some sub-type changes:
- implicit parameter 0 of type 'std::basic_ifstream<wchar_t, std::char_traits<wchar_t> >*' has sub-type changes:
- pointed to type 'class std::basic_ifstream<wchar_t, std::char_traits<wchar_t> >' changed, as being reported
- 'method virtual std::basic_ifstream<wchar_t, std::char_traits<wchar_t> >::~basic_ifstream(int, void**)' has some sub-type changes:
- implicit parameter 0 of type 'std::basic_ifstream<wchar_t, std::char_traits<wchar_t> >*' has sub-type changes:
- pointed to type 'class std::basic_ifstream<wchar_t, std::char_traits<wchar_t> >' changed, as being reported
- no data member change (1 filtered);
-
- [C] 'method std::basic_ofstream<wchar_t, std::char_traits<wchar_t> >* std::basic_ofstream<wchar_t, std::char_traits<wchar_t> >::basic_ofstream(int, void**, const char*, std::ios_base::openmode)' at fstream:643:1 has some indirect sub-type changes:
- implicit parameter 0 of type 'std::basic_ofstream<wchar_t, std::char_traits<wchar_t> >*' has sub-type changes:
- in pointed to type 'class std::basic_ofstream<wchar_t, std::char_traits<wchar_t> >' at fstream:602:1:
- type size hasn't changed
- 1 member function changes (3 filtered):
- 'method virtual std::basic_ofstream<wchar_t, std::char_traits<wchar_t> >::~basic_ofstream(int, void**)' has some sub-type changes:
- implicit parameter 0 of type 'std::basic_ofstream<wchar_t, std::char_traits<wchar_t> >*' has sub-type changes:
- pointed to type 'class std::basic_ofstream<wchar_t, std::char_traits<wchar_t> >' changed, as being reported
- no data member change (1 filtered);
-
[C] 'method std::codecvt_byname<wchar_t, char, __mbstate_t>* std::codecvt_byname<wchar_t, char, __mbstate_t>::codecvt_byname(const char*, std::size_t)' at codecvt.h:462:1 has some indirect sub-type changes:
Please note that the symbol of this function is _ZNSt14codecvt_bynameIwc11__mbstate_tEC1EPKcj@@GLIBCXX_3.4
and it aliases symbol: _ZNSt14codecvt_bynameIwc11__mbstate_tEC2EPKcj@@GLIBCXX_3.4
@@ -152,23 +104,7 @@ Variable symbols changes summary: 0 Removed, 6 Added variable symbols not refere
1 base class change:
'class std::codecvt<wchar_t, char, __mbstate_t>' at codecvt.h:398:1 changed:
details were reported earlier
- 2 member function changes (1 filtered):
- 'method virtual std::codecvt_byname<wchar_t, char, __mbstate_t>::~codecvt_byname(int)' has some sub-type changes:
- implicit parameter 0 of type 'std::codecvt_byname<wchar_t, char, __mbstate_t>*' has sub-type changes:
- pointed to type 'class std::codecvt_byname<wchar_t, char, __mbstate_t>' changed, as being reported
- 'method virtual std::codecvt_byname<wchar_t, char, __mbstate_t>::~codecvt_byname(int)' has some sub-type changes:
- implicit parameter 0 of type 'std::codecvt_byname<wchar_t, char, __mbstate_t>*' has sub-type changes:
- pointed to type 'class std::codecvt_byname<wchar_t, char, __mbstate_t>' changed, as being reported
-
- [C] 'method virtual std::regex_error::~regex_error(int)' at regex.cc:36:1 has some indirect sub-type changes:
- implicit parameter 0 of type 'std::regex_error*' has sub-type changes:
- in pointed to type 'class std::regex_error' at regex_error.h:135:1:
- type size hasn't changed
- 1 member function changes (2 filtered):
- 'method virtual std::regex_error::~regex_error(int)' has some sub-type changes:
- implicit parameter 0 of type 'std::regex_error*' has sub-type changes:
- pointed to type 'class std::regex_error' changed, as being reported
- no data member change (1 filtered);
+ no member function changes (3 filtered);
6 Added variable symbols not referenced by debug info:
@@ -27,53 +27,7 @@
2 data member insertions:
'_XtransConnFd* _XtransConnInfo::recv_fds', at offset 640 (in bits) at Xtransint.h:148:1
'_XtransConnFd* _XtransConnInfo::send_fds', at offset 704 (in bits) at Xtransint.h:149:1
- 1 data member change:
- type of '_Xtransport* _XtransConnInfo::transptr' changed:
- in pointed to type 'struct _Xtransport' at Xtransint.h:158:1:
- type size hasn't changed
- 3 data member changes (16 filtered):
- type of 'typedef XtransConnInfo (_Xtransport*, char*, char*, char*)* _Xtransport::OpenCOTSClient' changed:
- in pointed to type 'function type typedef XtransConnInfo (_Xtransport*, char*, char*, char*)':
- parameter 2 of type 'char*' changed:
- in pointed to type 'char':
- entity changed from 'char' to 'const char'
- type size hasn't changed
- parameter 3 of type 'char*' changed:
- in pointed to type 'char':
- entity changed from 'char' to 'const char'
- type size hasn't changed
- parameter 4 of type 'char*' changed:
- in pointed to type 'char':
- entity changed from 'char' to 'const char'
- type size hasn't changed
- type of 'typedef XtransConnInfo (_Xtransport*, char*, char*, char*)* _Xtransport::OpenCOTSServer' changed:
- in pointed to type 'function type typedef XtransConnInfo (_Xtransport*, char*, char*, char*)':
- parameter 2 of type 'char*' changed:
- in pointed to type 'char':
- entity changed from 'char' to 'const char'
- type size hasn't changed
- parameter 3 of type 'char*' changed:
- in pointed to type 'char':
- entity changed from 'char' to 'const char'
- type size hasn't changed
- parameter 4 of type 'char*' changed:
- in pointed to type 'char':
- entity changed from 'char' to 'const char'
- type size hasn't changed
- type of 'typedef XtransConnInfo (_Xtransport*, char*, char*, char*)* _Xtransport::OpenCLTSServer' changed:
- in pointed to type 'function type typedef XtransConnInfo (_Xtransport*, char*, char*, char*)':
- parameter 2 of type 'char*' changed:
- in pointed to type 'char':
- entity changed from 'char' to 'const char'
- type size hasn't changed
- parameter 3 of type 'char*' changed:
- in pointed to type 'char':
- entity changed from 'char' to 'const char'
- type size hasn't changed
- parameter 4 of type 'char*' changed:
- in pointed to type 'char':
- entity changed from 'char' to 'const char'
- type size hasn't changed
+ no data member change (1 filtered);
type of '_IcePingWait* _IceConn::ping_waits' changed:
in pointed to type 'struct _IcePingWait' at ICEconn.h:48:1:
entity changed from 'struct _IcePingWait' to compatible type 'typedef _IcePingWait' at ICEconn.h:48:1
@@ -1,5 +1,5 @@
================ changes of 'libtbb.so.2'===============
- Functions changes summary: 0 Removed, 13 Changed (94 filtered out), 17 Added functions
+ Functions changes summary: 0 Removed, 10 Changed (97 filtered out), 17 Added functions
Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
Function symbols changes summary: 0 Removed, 0 Added function symbol not referenced by debug info
Variable symbols changes summary: 3 Removed, 0 Added variable symbols not referenced by debug info
@@ -24,7 +24,7 @@
[A] 'method void tbb::internal::concurrent_queue_base_v8::move_content(tbb::internal::concurrent_queue_base_v8&)' {_ZN3tbb8internal24concurrent_queue_base_v812move_contentERS1_}
[A] 'method void tbb::task_group_context::capture_fp_settings()' {_ZN3tbb18task_group_context19capture_fp_settingsEv}
- 13 functions with some indirect sub-type change:
+ 10 functions with some indirect sub-type change:
[C] 'method void tbb::filter::set_end_of_input()' at pipeline.cpp:700:1 has some indirect sub-type changes:
implicit parameter 0 of type 'tbb::filter*' has sub-type changes:
@@ -105,10 +105,7 @@
'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
1 member function insertion:
'method virtual tbb::task* tbb::internal::generic_scheduler::receive_or_steal_task(tbb::internal::reference_count&)' at scheduler.h:362:1, virtual at voffset 7/7
- 1 member function changes (3 filtered):
- 'method virtual void tbb::internal::generic_scheduler::spawn(tbb::task&, tbb::task*&)' has some sub-type changes:
- implicit parameter 0 of type 'tbb::internal::generic_scheduler*' has sub-type changes:
- pointed to type 'class tbb::internal::generic_scheduler' changed, as being reported
+ no member function changes (4 filtered);
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
@@ -118,10 +115,7 @@
type of 'tbb::internal::market* tbb::internal::generic_scheduler::my_market' changed:
in pointed to type 'class tbb::internal::market' at market.h:49:1:
type size changed from 1664 to 1728 (in bits)
- 1 member function changes (7 filtered):
- 'method virtual rml::job* tbb::internal::market::create_one_job()' has some sub-type changes:
- implicit parameter 0 of type 'tbb::internal::market*' has sub-type changes:
- pointed to type 'class tbb::internal::market' changed, as being reported
+ no member function changes (8 filtered);
1 data member insertion:
'bool tbb::internal::market::join_workers', at offset 384 (in bits) at market.h:88:1
7 data member changes:
@@ -182,10 +176,7 @@
'method virtual tbb::internal::concurrent_queue_base::~concurrent_queue_base(int)' at concurrent_queue_v2.cpp:225:1
1 member function insertion:
'method virtual tbb::internal::concurrent_queue_base::~concurrent_queue_base(int)' at concurrent_queue_v2.cpp:217:1
- 1 member function changes (3 filtered):
- 'method virtual tbb::internal::concurrent_queue_base::~concurrent_queue_base(int)' has some sub-type changes:
- implicit parameter 0 of type 'tbb::internal::concurrent_queue_base*' has sub-type changes:
- pointed to type 'class tbb::internal::concurrent_queue_base' changed, as being reported
+ no member function changes (4 filtered);
1 data member change:
type of 'tbb::internal::concurrent_queue_rep* tbb::internal::concurrent_queue_base::my_rep' changed:
in pointed to type 'class tbb::internal::concurrent_queue_rep' at concurrent_queue_v2.cpp:102:1:
@@ -225,10 +216,6 @@
1 base class insertion:
class tbb::internal::mutex_copy_deprecated_and_disabled at tbb_stddef.h:334:1
- [C] 'method bool tbb::mutex::scoped_lock::internal_try_acquire(tbb::mutex&)' at mutex.h:132:1 has some indirect sub-type changes:
- parameter 1 of type 'tbb::mutex&' has sub-type changes:
- referenced type 'class tbb::mutex' changed at mutex.h:48:1, as reported earlier
-
[C] 'method void tbb::queuing_mutex::internal_construct()' at queuing_mutex.h:106:1 has some indirect sub-type changes:
implicit parameter 0 of type 'tbb::queuing_mutex*' has sub-type changes:
in pointed to type 'class tbb::queuing_mutex' at queuing_mutex.h:45:1:
@@ -250,14 +237,6 @@
1 base class insertion:
class tbb::internal::mutex_copy_deprecated_and_disabled at tbb_stddef.h:334:1
- [C] 'method bool tbb::recursive_mutex::scoped_lock::internal_try_acquire(tbb::recursive_mutex&)' at recursive_mutex.h:142:1 has some indirect sub-type changes:
- parameter 1 of type 'tbb::recursive_mutex&' has sub-type changes:
- referenced type 'class tbb::recursive_mutex' changed at recursive_mutex.h:47:1, as reported earlier
-
- [C] 'method void tbb::spin_mutex::scoped_lock::internal_acquire(tbb::spin_mutex&)' at spin_mutex.h:66:1 has some indirect sub-type changes:
- parameter 1 of type 'tbb::spin_mutex&' has sub-type changes:
- referenced type 'class tbb::spin_mutex' changed at spin_mutex.h:47:1, as reported earlier
-
[C] 'method tbb::thread_bound_filter::result_type tbb::thread_bound_filter::process_item()' at pipeline.cpp:712:1 has some indirect sub-type changes:
implicit parameter 0 of type 'tbb::thread_bound_filter*' has sub-type changes:
in pointed to type 'class tbb::thread_bound_filter' at pipeline.h:197:1:
@@ -1,5 +1,5 @@
================ changes of 'libtbb.so.2'===============
- Functions changes summary: 0 Removed, 13 Changed (94 filtered out), 17 Added functions
+ Functions changes summary: 0 Removed, 8 Changed (99 filtered out), 17 Added functions
Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
Function symbols changes summary: 0 Removed, 0 Added function symbol not referenced by debug info
Variable symbols changes summary: 3 Removed, 0 Added variable symbols not referenced by debug info
@@ -24,18 +24,7 @@
[A] 'method void tbb::internal::concurrent_queue_base_v8::move_content(tbb::internal::concurrent_queue_base_v8&)' {_ZN3tbb8internal24concurrent_queue_base_v812move_contentERS1_}
[A] 'method void tbb::task_group_context::capture_fp_settings()' {_ZN3tbb18task_group_context19capture_fp_settingsEv}
- 13 functions with some indirect sub-type change:
-
- [C] 'method void tbb::filter::set_end_of_input()' at pipeline.cpp:700:1 has some indirect sub-type changes:
- implicit parameter 0 of type 'tbb::filter*' has sub-type changes:
- in pointed to type 'class tbb::filter' at pipeline.h:65:1:
- type size hasn't changed
- 1 member function deletion:
- 'method virtual tbb::filter::~filter(int)' at pipeline.cpp:698:1
- 1 member function insertion:
- 'method virtual tbb::filter::~filter(int)' at pipeline.cpp:688:1
- no member function changes (4 filtered);
- no data member changes (5 filtered);
+ 8 functions with some indirect sub-type change:
[C] 'method tbb::task& tbb::internal::allocate_root_with_context_proxy::allocate(std::size_t) const' at task.h:135:1 has some indirect sub-type changes:
implicit parameter 0 of type 'const tbb::internal::allocate_root_with_context_proxy*' has sub-type changes:
@@ -54,20 +43,6 @@
array type size changed from 640 to 576
array type subrange 1 changed length from 80 to 72
- [C] 'method void tbb::internal::concurrent_queue_base_v3::assign(const tbb::internal::concurrent_queue_base&)' at concurrent_queue.cpp:570:1 has some indirect sub-type changes:
- implicit parameter 0 of type 'tbb::internal::concurrent_queue_base_v3*' has sub-type changes:
- in pointed to type 'class tbb::internal::concurrent_queue_base_v3' at _concurrent_queue_impl.h:834:1:
- type size hasn't changed
- 1 member function deletion:
- 'method virtual tbb::internal::concurrent_queue_base_v3::~concurrent_queue_base_v3(int)' at concurrent_queue.cpp:361:1
- 1 member function insertion:
- 'method virtual tbb::internal::concurrent_queue_base_v3::~concurrent_queue_base_v3(int)' at concurrent_queue.cpp:370:1
- 1 member function changes (6 filtered):
- 'method virtual tbb::internal::concurrent_queue_base_v3::~concurrent_queue_base_v3(int)' has some sub-type changes:
- implicit parameter 0 of type 'tbb::internal::concurrent_queue_base_v3*' has sub-type changes:
- pointed to type 'class tbb::internal::concurrent_queue_base_v3' changed, as being reported
- no data member change (1 filtered);
-
[C] 'function void tbb::internal::throw_exception_v4(tbb::internal::exception_id)' at tbb_misc.cpp:119:1 has some indirect sub-type changes:
parameter 1 of type 'enum tbb::internal::exception_id' has sub-type changes:
type size hasn't changed
@@ -83,10 +58,6 @@
1 base class insertion:
class tbb::internal::mutex_copy_deprecated_and_disabled at tbb_stddef.h:334:1
- [C] 'method bool tbb::mutex::scoped_lock::internal_try_acquire(tbb::mutex&)' at mutex.h:132:1 has some indirect sub-type changes:
- parameter 1 of type 'tbb::mutex&' has sub-type changes:
- referenced type 'class tbb::mutex' changed at mutex.h:48:1, as reported earlier
-
[C] 'method void tbb::queuing_mutex::internal_construct()' at queuing_mutex.h:106:1 has some indirect sub-type changes:
implicit parameter 0 of type 'tbb::queuing_mutex*' has sub-type changes:
in pointed to type 'class tbb::queuing_mutex' at queuing_mutex.h:45:1:
@@ -108,10 +79,6 @@
1 base class insertion:
class tbb::internal::mutex_copy_deprecated_and_disabled at tbb_stddef.h:334:1
- [C] 'method bool tbb::recursive_mutex::scoped_lock::internal_try_acquire(tbb::recursive_mutex&)' at recursive_mutex.h:142:1 has some indirect sub-type changes:
- parameter 1 of type 'tbb::recursive_mutex&' has sub-type changes:
- referenced type 'class tbb::recursive_mutex' changed at recursive_mutex.h:47:1, as reported earlier
-
[C] 'method void tbb::spin_mutex::internal_construct()' at spin_mutex.h:138:1 has some indirect sub-type changes:
implicit parameter 0 of type 'tbb::spin_mutex*' has sub-type changes:
in pointed to type 'class tbb::spin_mutex' at spin_mutex.h:40:1:
@@ -119,10 +86,6 @@
1 base class insertion:
class tbb::internal::mutex_copy_deprecated_and_disabled at tbb_stddef.h:334:1
- [C] 'method bool tbb::spin_mutex::scoped_lock::internal_try_acquire(tbb::spin_mutex&)' at spin_mutex.h:69:1 has some indirect sub-type changes:
- parameter 1 of type 'tbb::spin_mutex&' has sub-type changes:
- referenced type 'class tbb::spin_mutex' changed at spin_mutex.h:47:1, as reported earlier
-
[C] 'method void tbb::spin_rw_mutex::internal_acquire_reader()' at spin_rw_mutex_v2.h:44:1 has some indirect sub-type changes:
parameter 1 of type 'tbb::spin_rw_mutex*' has sub-type changes:
in pointed to type 'typedef tbb::spin_rw_mutex' at spin_rw_mutex.h:38:1: