Canonicalize all types that got scheduled for late canonicalization

Until now, when late type canonicalization time come (after having
read all of the ABI corpus), the types scheduled for late
canonicalization were considered and only those that don't have
non-canonicalized sub-types were canonicalized.

This patch just canonicalizes all the scheduled type.  As a result,
all types should now be canonicalized, so type comparison should be as
fast as a pointer comparison now.  But then, loading DWARF is now even
longer, type canonicalization needs to happen.

	* src/abg-dwarf-reader.cc
	(read_context::canonicalize_types_scheduled): Canonicalize all
	types scheduled for late canonicalization.
	* tests/data/test-read-dwarf/test9-pr18818-clang.so.abi: Adjust.
	* tests/data/test-read-dwarf/test9-pr18818-clang.so.abi: Adjust.

Signed-off-by: Dodji Seketeli <dodji@redhat.com>
This commit is contained in:
Dodji Seketeli 2015-08-19 18:59:53 +02:00
parent 9e656c7e49
commit 4f5c0326a4
3 changed files with 90 additions and 91 deletions

View File

@ -2484,8 +2484,7 @@ public:
{
type_base_sptr t = lookup_type_from_die_offset(*i, in_alt_di);
assert(t);
if (!type_has_non_canonicalized_subtype(t))
canonicalize(t);
canonicalize(t);
}
}
}

View File

@ -1,5 +1,5 @@
================ changes of 'libsigc-2.0.so.0.0.0'===============
Functions changes summary: 1 Removed, 2 Changed (15 filtered out), 1 Added functions
Functions changes summary: 1 Removed, 2 Changed (17 filtered out), 1 Added functions
Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
1 Removed function:

View File

@ -10002,7 +10002,7 @@
</function-decl>
</namespace-decl>
</namespace-decl>
<qualified-type-def type-id='type-id-4' const='yes' id='type-id-80'/>
<qualified-type-def type-id='type-id-4' const='yes' id='type-id-243'/>
<type-decl name='void' id='type-id-1'/>
<function-decl name='abort' filepath='/usr/include/stdlib.h' line='515' column='1' visibility='default' binding='global' size-in-bits='64'>
<return type-id='type-id-1'/>
@ -11410,7 +11410,7 @@
<qualified-type-def type-id='type-id-95' const='yes' id='type-id-174'/>
<qualified-type-def type-id='type-id-7' const='yes' id='type-id-16'/>
<qualified-type-def type-id='type-id-2' const='yes' id='type-id-15'/>
<qualified-type-def type-id='type-id-242' const='yes' id='type-id-177'/>
<qualified-type-def type-id='type-id-242' const='yes' id='type-id-244'/>
<qualified-type-def type-id='type-id-218' const='yes' id='type-id-222'/>
</abi-instr>
<abi-instr version='1.0' address-size='64' path='src/third_party/boost-1.56.0/libs/filesystem/src/unique_path.cpp' language='LANG_C_plus_plus'>
@ -11418,24 +11418,24 @@
<namespace-decl name='filesystem'>
<namespace-decl name='detail'>
<function-decl name='unique_path' mangled-name='_ZN5boost10filesystem6detail11unique_pathERKNS0_4pathEPNS_6system10error_codeE' filepath='src/third_party/boost-1.56.0/libs/filesystem/src/unique_path.cpp' line='111' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost10filesystem6detail11unique_pathERKNS0_4pathEPNS_6system10error_codeE'>
<return type-id='type-id-243'/>
<return type-id='type-id-245'/>
</function-decl>
</namespace-decl>
<class-decl name='path' size-in-bits='64' visibility='default' filepath='src/third_party/boost-1.56.0/boost/filesystem/path.hpp' line='55' column='1' id='type-id-243'>
<class-decl name='path' size-in-bits='64' visibility='default' filepath='src/third_party/boost-1.56.0/boost/filesystem/path.hpp' line='55' column='1' id='type-id-245'>
<member-type access='private'>
<typedef-decl name='value_type' type-id='type-id-11' filepath='src/third_party/boost-1.56.0/boost/filesystem/path.hpp' line='66' column='1' id='type-id-69'/>
</member-type>
<member-type access='private'>
<typedef-decl name='string_type' type-id='type-id-14' filepath='src/third_party/boost-1.56.0/boost/filesystem/path.hpp' line='69' column='1' id='type-id-244'/>
<typedef-decl name='string_type' type-id='type-id-14' filepath='src/third_party/boost-1.56.0/boost/filesystem/path.hpp' line='69' column='1' id='type-id-246'/>
</member-type>
<member-type access='private'>
<typedef-decl name='codecvt_type' type-id='type-id-73' filepath='src/third_party/boost-1.56.0/boost/filesystem/path.hpp' line='71' column='1' id='type-id-72'/>
</member-type>
<member-type access='private'>
<class-decl name='iterator' size-in-bits='192' visibility='default' filepath='src/third_party/boost-1.56.0/boost/filesystem/path.hpp' line='569' column='1' id='type-id-245'>
<class-decl name='iterator' size-in-bits='192' visibility='default' filepath='src/third_party/boost-1.56.0/boost/filesystem/path.hpp' line='569' column='1' id='type-id-247'>
<base-class access='public' layout-offset-in-bits='0' type-id='type-id-75'/>
<data-member access='private' layout-offset-in-bits='0'>
<var-decl name='m_element' type-id='type-id-243' visibility='default' filepath='src/third_party/boost-1.56.0/boost/filesystem/path.hpp' line='593' column='1'/>
<var-decl name='m_element' type-id='type-id-245' visibility='default' filepath='src/third_party/boost-1.56.0/boost/filesystem/path.hpp' line='593' column='1'/>
</data-member>
<data-member access='private' layout-offset-in-bits='128'>
<var-decl name='m_pos' type-id='type-id-76' visibility='default' filepath='src/third_party/boost-1.56.0/boost/filesystem/path.hpp' line='595' column='1'/>
@ -11466,7 +11466,7 @@
<var-decl name='preferred_separator' type-id='type-id-77' visibility='default' filepath='src/third_party/boost-1.56.0/boost/filesystem/path.hpp' line='67' column='1'/>
</data-member>
<data-member access='private' layout-offset-in-bits='0'>
<var-decl name='m_pathname' type-id='type-id-244' visibility='default' filepath='src/third_party/boost-1.56.0/boost/filesystem/path.hpp' line='528' column='1'/>
<var-decl name='m_pathname' type-id='type-id-246' visibility='default' filepath='src/third_party/boost-1.56.0/boost/filesystem/path.hpp' line='528' column='1'/>
</data-member>
<member-function access='public' static='yes' constructor='yes'>
<function-decl name='path' filepath='src/third_party/boost-1.56.0/boost/filesystem/path.hpp' line='130' column='1' visibility='default' binding='global' size-in-bits='64'>
@ -11631,42 +11631,42 @@
</member-function>
<member-function access='public' static='yes'>
<function-decl name='root_path' mangled-name='_ZNK5boost10filesystem4path9root_pathEv' filepath='src/third_party/boost-1.56.0/boost/filesystem/path.hpp' line='429' column='1' visibility='default' binding='global' size-in-bits='64'>
<return type-id='type-id-243'/>
<return type-id='type-id-245'/>
</function-decl>
</member-function>
<member-function access='public' static='yes'>
<function-decl name='root_name' mangled-name='_ZNK5boost10filesystem4path9root_nameEv' filepath='src/third_party/boost-1.56.0/boost/filesystem/path.hpp' line='430' column='1' visibility='default' binding='global' size-in-bits='64'>
<return type-id='type-id-243'/>
<return type-id='type-id-245'/>
</function-decl>
</member-function>
<member-function access='public' static='yes'>
<function-decl name='root_directory' mangled-name='_ZNK5boost10filesystem4path14root_directoryEv' filepath='src/third_party/boost-1.56.0/boost/filesystem/path.hpp' line='432' column='1' visibility='default' binding='global' size-in-bits='64'>
<return type-id='type-id-243'/>
<return type-id='type-id-245'/>
</function-decl>
</member-function>
<member-function access='public' static='yes'>
<function-decl name='relative_path' mangled-name='_ZNK5boost10filesystem4path13relative_pathEv' filepath='src/third_party/boost-1.56.0/boost/filesystem/path.hpp' line='433' column='1' visibility='default' binding='global' size-in-bits='64'>
<return type-id='type-id-243'/>
<return type-id='type-id-245'/>
</function-decl>
</member-function>
<member-function access='public' static='yes'>
<function-decl name='parent_path' mangled-name='_ZNK5boost10filesystem4path11parent_pathEv' filepath='src/third_party/boost-1.56.0/boost/filesystem/path.hpp' line='434' column='1' visibility='default' binding='global' size-in-bits='64'>
<return type-id='type-id-243'/>
<return type-id='type-id-245'/>
</function-decl>
</member-function>
<member-function access='public' static='yes'>
<function-decl name='filename' mangled-name='_ZNK5boost10filesystem4path8filenameEv' filepath='src/third_party/boost-1.56.0/boost/filesystem/path.hpp' line='435' column='1' visibility='default' binding='global' size-in-bits='64'>
<return type-id='type-id-243'/>
<return type-id='type-id-245'/>
</function-decl>
</member-function>
<member-function access='public' static='yes'>
<function-decl name='stem' mangled-name='_ZNK5boost10filesystem4path4stemEv' filepath='src/third_party/boost-1.56.0/boost/filesystem/path.hpp' line='436' column='1' visibility='default' binding='global' size-in-bits='64'>
<return type-id='type-id-243'/>
<return type-id='type-id-245'/>
</function-decl>
</member-function>
<member-function access='public' static='yes'>
<function-decl name='extension' mangled-name='_ZNK5boost10filesystem4path9extensionEv' filepath='src/third_party/boost-1.56.0/boost/filesystem/path.hpp' line='437' column='1' visibility='default' binding='global' size-in-bits='64'>
<return type-id='type-id-243'/>
<return type-id='type-id-245'/>
</function-decl>
</member-function>
<member-function access='public' static='yes'>
@ -11726,12 +11726,12 @@
</member-function>
<member-function access='public' static='yes'>
<function-decl name='begin' mangled-name='_ZNK5boost10filesystem4path5beginEv' filepath='src/third_party/boost-1.56.0/boost/filesystem/path.hpp' line='465' column='1' visibility='default' binding='global' size-in-bits='64'>
<return type-id='type-id-245'/>
<return type-id='type-id-247'/>
</function-decl>
</member-function>
<member-function access='public' static='yes'>
<function-decl name='end' mangled-name='_ZNK5boost10filesystem4path3endEv' filepath='src/third_party/boost-1.56.0/boost/filesystem/path.hpp' line='466' column='1' visibility='default' binding='global' size-in-bits='64'>
<return type-id='type-id-245'/>
<return type-id='type-id-247'/>
</function-decl>
</member-function>
<member-function access='public' static='yes'>
@ -11756,12 +11756,12 @@
</member-function>
<member-function access='public' static='yes'>
<function-decl name='leaf' mangled-name='_ZNK5boost10filesystem4path4leafEv' filepath='src/third_party/boost-1.56.0/boost/filesystem/path.hpp' line='483' column='1' visibility='default' binding='global' size-in-bits='64'>
<return type-id='type-id-243'/>
<return type-id='type-id-245'/>
</function-decl>
</member-function>
<member-function access='public' static='yes'>
<function-decl name='branch_path' mangled-name='_ZNK5boost10filesystem4path11branch_pathEv' filepath='src/third_party/boost-1.56.0/boost/filesystem/path.hpp' line='484' column='1' visibility='default' binding='global' size-in-bits='64'>
<return type-id='type-id-243'/>
<return type-id='type-id-245'/>
</function-decl>
</member-function>
<member-function access='public' static='yes'>
@ -11781,32 +11781,32 @@
</member-function>
<member-function access='public' static='yes'>
<function-decl name='file_string' mangled-name='_ZNK5boost10filesystem4path11file_stringEv' filepath='src/third_party/boost-1.56.0/boost/filesystem/path.hpp' line='493' column='1' visibility='default' binding='global' size-in-bits='64'>
<return type-id='type-id-80'/>
<return type-id='type-id-243'/>
</function-decl>
</member-function>
<member-function access='public' static='yes'>
<function-decl name='directory_string' mangled-name='_ZNK5boost10filesystem4path16directory_stringEv' filepath='src/third_party/boost-1.56.0/boost/filesystem/path.hpp' line='494' column='1' visibility='default' binding='global' size-in-bits='64'>
<return type-id='type-id-80'/>
<return type-id='type-id-243'/>
</function-decl>
</member-function>
<member-function access='public' static='yes'>
<function-decl name='native_file_string' mangled-name='_ZNK5boost10filesystem4path18native_file_stringEv' filepath='src/third_party/boost-1.56.0/boost/filesystem/path.hpp' line='495' column='1' visibility='default' binding='global' size-in-bits='64'>
<return type-id='type-id-80'/>
<return type-id='type-id-243'/>
</function-decl>
</member-function>
<member-function access='public' static='yes'>
<function-decl name='native_directory_string' mangled-name='_ZNK5boost10filesystem4path23native_directory_stringEv' filepath='src/third_party/boost-1.56.0/boost/filesystem/path.hpp' line='496' column='1' visibility='default' binding='global' size-in-bits='64'>
<return type-id='type-id-80'/>
<return type-id='type-id-243'/>
</function-decl>
</member-function>
<member-function access='public' static='yes'>
<function-decl name='external_file_string' mangled-name='_ZNK5boost10filesystem4path20external_file_stringEv' filepath='src/third_party/boost-1.56.0/boost/filesystem/path.hpp' line='497' column='1' visibility='default' binding='global' size-in-bits='64'>
<return type-id='type-id-81'/>
<return type-id='type-id-248'/>
</function-decl>
</member-function>
<member-function access='public' static='yes'>
<function-decl name='external_directory_string' mangled-name='_ZNK5boost10filesystem4path25external_directory_stringEv' filepath='src/third_party/boost-1.56.0/boost/filesystem/path.hpp' line='498' column='1' visibility='default' binding='global' size-in-bits='64'>
<return type-id='type-id-81'/>
<return type-id='type-id-248'/>
</function-decl>
</member-function>
<member-function access='private' static='yes'>
@ -11896,7 +11896,7 @@
<member-function access='public' static='yes'>
<function-decl name='operator--' mangled-name='_ZN5boost15iterator_facadeINS_10filesystem4path8iteratorEKS2_NS_27bidirectional_traversal_tagERS4_lEmmEi' filepath='src/third_party/boost-1.56.0/boost/iterator/iterator_facade.hpp' line='681' column='1' visibility='default' binding='global' size-in-bits='64'>
<parameter type-id='type-id-3'/>
<return type-id='type-id-245'/>
<return type-id='type-id-247'/>
</function-decl>
</member-function>
<member-function access='public' static='yes'>
@ -11914,7 +11914,7 @@
<member-function access='public' static='yes'>
<function-decl name='operator-' mangled-name='_ZNK5boost15iterator_facadeINS_10filesystem4path8iteratorEKS2_NS_27bidirectional_traversal_tagERS4_lEmiEl' filepath='src/third_party/boost-1.56.0/boost/iterator/iterator_facade.hpp' line='700' column='1' visibility='default' binding='global' size-in-bits='64'>
<parameter type-id='type-id-131'/>
<return type-id='type-id-245'/>
<return type-id='type-id-247'/>
</function-decl>
</member-function>
</class-decl>
@ -11951,7 +11951,7 @@
</member-type>
</class-decl>
</namespace-decl>
<class-decl name='enable_if_c&lt;true, void&gt;' size-in-bits='8' is-struct='yes' visibility='default' filepath='src/third_party/boost-1.56.0/boost/core/enable_if.hpp' line='28' column='1' id='type-id-246'/>
<class-decl name='enable_if_c&lt;true, void&gt;' size-in-bits='8' is-struct='yes' visibility='default' filepath='src/third_party/boost-1.56.0/boost/core/enable_if.hpp' line='28' column='1' id='type-id-249'/>
<namespace-decl name='system'>
<class-decl name='error_code' size-in-bits='128' visibility='default' filepath='src/third_party/boost-1.56.0/boost/system/error_code.hpp' line='317' column='1' id='type-id-7'>
<data-member access='private' layout-offset-in-bits='0'>
@ -12157,12 +12157,12 @@
<typedef-decl name='string' type-id='type-id-14' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/stringfwd.h' line='62' column='1' id='type-id-4'/>
<class-decl name='basic_string&lt;wchar_t, std::char_traits&lt;wchar_t&gt;, std::allocator&lt;wchar_t&gt; &gt;' visibility='default' is-declaration-only='yes' id='type-id-163'>
<member-type access='private'>
<typedef-decl name='size_type' type-id='type-id-248' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/basic_string.h' line='121' column='1' id='type-id-247'/>
<typedef-decl name='size_type' type-id='type-id-251' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/basic_string.h' line='121' column='1' id='type-id-250'/>
</member-type>
</class-decl>
<class-decl name='allocator&lt;wchar_t&gt;' visibility='default' is-declaration-only='yes' id='type-id-249'>
<class-decl name='allocator&lt;wchar_t&gt;' visibility='default' is-declaration-only='yes' id='type-id-252'>
<member-type access='private'>
<typedef-decl name='size_type' type-id='type-id-154' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/allocator.h' line='95' column='1' id='type-id-248'/>
<typedef-decl name='size_type' type-id='type-id-154' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/allocator.h' line='95' column='1' id='type-id-251'/>
</member-type>
</class-decl>
<typedef-decl name='wstring' type-id='type-id-163' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/stringfwd.h' line='68' column='1' id='type-id-164'/>
@ -12406,9 +12406,9 @@
</member-function>
</class-decl>
<class-decl name='runtime_error' size-in-bits='1' visibility='default' id='type-id-96'/>
<class-decl name='iterator_traits&lt;const wchar_t *&gt;' size-in-bits='8' is-struct='yes' visibility='default' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/stl_iterator_base_types.h' line='186' column='1' id='type-id-250'>
<class-decl name='iterator_traits&lt;const wchar_t *&gt;' size-in-bits='8' is-struct='yes' visibility='default' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/stl_iterator_base_types.h' line='186' column='1' id='type-id-253'>
<member-type access='public'>
<typedef-decl name='difference_type' type-id='type-id-100' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/stl_iterator_base_types.h' line='190' column='1' id='type-id-251'/>
<typedef-decl name='difference_type' type-id='type-id-100' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/stl_iterator_base_types.h' line='190' column='1' id='type-id-254'/>
</member-type>
</class-decl>
<typedef-decl name='ptrdiff_t' type-id='type-id-19' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/x86_64-linux-gnu/c++/4.9/bits/c++config.h' line='189' column='1' id='type-id-100'/>
@ -12420,15 +12420,15 @@
</namespace-decl>
<type-decl name='long unsigned int' size-in-bits='64' id='type-id-20'/>
<type-decl name='void' id='type-id-1'/>
<qualified-type-def type-id='type-id-243' const='yes' id='type-id-172'/>
<qualified-type-def type-id='type-id-245' const='yes' id='type-id-255'/>
<qualified-type-def type-id='type-id-14' const='yes' id='type-id-185'/>
<qualified-type-def type-id='type-id-72' const='yes' id='type-id-186'/>
<qualified-type-def type-id='type-id-244' const='yes' id='type-id-81'/>
<qualified-type-def type-id='type-id-4' const='yes' id='type-id-80'/>
<qualified-type-def type-id='type-id-246' const='yes' id='type-id-248'/>
<qualified-type-def type-id='type-id-4' const='yes' id='type-id-243'/>
<qualified-type-def type-id='type-id-164' const='yes' id='type-id-78'/>
<type-decl name='int' size-in-bits='32' id='type-id-3'/>
<type-decl name='bool' size-in-bits='8' id='type-id-5'/>
<qualified-type-def type-id='type-id-245' const='yes' id='type-id-187'/>
<qualified-type-def type-id='type-id-247' const='yes' id='type-id-256'/>
<qualified-type-def type-id='type-id-75' const='yes' id='type-id-188'/>
<type-decl name='long int' size-in-bits='64' id='type-id-19'/>
<qualified-type-def type-id='type-id-165' const='yes' id='type-id-169'/>
@ -12440,7 +12440,7 @@
<typedef-decl name='pthread_once_t' type-id='type-id-3' filepath='/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' line='168' column='1' id='type-id-192'/>
<typedef-decl name='__gthread_once_t' type-id='type-id-192' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/x86_64-linux-gnu/c++/4.9/bits/gthr-default.h' line='49' column='1' id='type-id-170'/>
<qualified-type-def type-id='type-id-79' const='yes' id='type-id-193'/>
<qualified-type-def type-id='type-id-163' const='yes' id='type-id-252'/>
<qualified-type-def type-id='type-id-163' const='yes' id='type-id-257'/>
<qualified-type-def type-id='type-id-95' const='yes' id='type-id-174'/>
<qualified-type-def type-id='type-id-7' const='yes' id='type-id-16'/>
<qualified-type-def type-id='type-id-2' const='yes' id='type-id-15'/>
@ -12451,9 +12451,9 @@
<parameter type-id='type-id-29'/>
<return type-id='type-id-30'/>
</function-decl>
<class-decl name='__normal_iterator&lt;const wchar_t *, std::basic_string&lt;wchar_t&gt; &gt;' size-in-bits='64' visibility='default' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/stl_iterator.h' line='709' column='1' id='type-id-253'>
<class-decl name='__normal_iterator&lt;const wchar_t *, std::basic_string&lt;wchar_t&gt; &gt;' size-in-bits='64' visibility='default' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/stl_iterator.h' line='709' column='1' id='type-id-258'>
<member-type access='private'>
<typedef-decl name='difference_type' type-id='type-id-251' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/stl_iterator.h' line='720' column='1' id='type-id-254'/>
<typedef-decl name='difference_type' type-id='type-id-254' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/stl_iterator.h' line='720' column='1' id='type-id-259'/>
</member-type>
<member-function access='public' static='yes'>
<function-decl name='__normal_iterator' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/stl_iterator.h' line='724' column='1' visibility='default' binding='global' size-in-bits='64'>
@ -12483,7 +12483,7 @@
<member-function access='public' static='yes'>
<function-decl name='operator++' mangled-name='_ZN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEppEi' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/stl_iterator.h' line='756' column='1' visibility='default' binding='global' size-in-bits='64'>
<parameter type-id='type-id-3'/>
<return type-id='type-id-253'/>
<return type-id='type-id-258'/>
</function-decl>
</member-function>
<member-function access='public' static='yes'>
@ -12494,37 +12494,37 @@
<member-function access='public' static='yes'>
<function-decl name='operator--' mangled-name='_ZN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEmmEi' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/stl_iterator.h' line='768' column='1' visibility='default' binding='global' size-in-bits='64'>
<parameter type-id='type-id-3'/>
<return type-id='type-id-253'/>
<return type-id='type-id-258'/>
</function-decl>
</member-function>
<member-function access='public' static='yes'>
<function-decl name='operator[]' mangled-name='_ZNK9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEixEl' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/stl_iterator.h' line='773' column='1' visibility='default' binding='global' size-in-bits='64'>
<parameter type-id='type-id-254'/>
<parameter type-id='type-id-259'/>
<return type-id='type-id-1'/>
</function-decl>
</member-function>
<member-function access='public' static='yes'>
<function-decl name='operator+=' mangled-name='_ZN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEpLEl' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/stl_iterator.h' line='777' column='1' visibility='default' binding='global' size-in-bits='64'>
<parameter type-id='type-id-254'/>
<parameter type-id='type-id-259'/>
<return type-id='type-id-1'/>
</function-decl>
</member-function>
<member-function access='public' static='yes'>
<function-decl name='operator+' mangled-name='_ZNK9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEplEl' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/stl_iterator.h' line='781' column='1' visibility='default' binding='global' size-in-bits='64'>
<parameter type-id='type-id-254'/>
<return type-id='type-id-253'/>
<parameter type-id='type-id-259'/>
<return type-id='type-id-258'/>
</function-decl>
</member-function>
<member-function access='public' static='yes'>
<function-decl name='operator-=' mangled-name='_ZN9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEmIEl' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/stl_iterator.h' line='785' column='1' visibility='default' binding='global' size-in-bits='64'>
<parameter type-id='type-id-254'/>
<parameter type-id='type-id-259'/>
<return type-id='type-id-1'/>
</function-decl>
</member-function>
<member-function access='public' static='yes'>
<function-decl name='operator-' mangled-name='_ZNK9__gnu_cxx17__normal_iteratorIPKwSbIwSt11char_traitsIwESaIwEEEmiEl' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/stl_iterator.h' line='789' column='1' visibility='default' binding='global' size-in-bits='64'>
<parameter type-id='type-id-254'/>
<return type-id='type-id-253'/>
<parameter type-id='type-id-259'/>
<return type-id='type-id-258'/>
</function-decl>
</member-function>
<member-function access='public' static='yes'>
@ -14031,18 +14031,18 @@
<function-decl name='strstr' filepath='/usr/include/string.h' line='323' column='1' visibility='default' binding='global' size-in-bits='64'>
<return type-id='type-id-1'/>
</function-decl>
<qualified-type-def type-id='type-id-242' const='yes' id='type-id-177'/>
<qualified-type-def type-id='type-id-242' const='yes' id='type-id-244'/>
<namespace-decl name=''>
</namespace-decl>
<qualified-type-def type-id='type-id-253' const='yes' id='type-id-255'/>
<qualified-type-def type-id='type-id-258' const='yes' id='type-id-260'/>
<qualified-type-def type-id='type-id-218' const='yes' id='type-id-222'/>
</abi-instr>
<abi-instr version='1.0' address-size='64' path='src/third_party/boost-1.56.0/libs/filesystem/src/utf8_codecvt_facet.cpp' language='LANG_C_plus_plus'>
<namespace-decl name='boost'>
<namespace-decl name='filesystem'>
<namespace-decl name='detail'>
<class-decl name='utf8_codecvt_facet' size-in-bits='192' is-struct='yes' visibility='default' filepath='src/third_party/boost-1.56.0/boost/detail/utf8_codecvt_facet.hpp' line='106' column='1' id='type-id-256'>
<base-class access='public' layout-offset-in-bits='0' type-id='type-id-257'/>
<class-decl name='utf8_codecvt_facet' size-in-bits='192' is-struct='yes' visibility='default' filepath='src/third_party/boost-1.56.0/boost/detail/utf8_codecvt_facet.hpp' line='106' column='1' id='type-id-261'>
<base-class access='public' layout-offset-in-bits='0' type-id='type-id-262'/>
<member-function access='public' static='yes' constructor='yes'>
<function-decl name='utf8_codecvt_facet' filepath='src/third_party/boost-1.56.0/boost/detail/utf8_codecvt_facet.hpp' line='110' column='1' visibility='default' binding='global' size-in-bits='64'>
<parameter type-id='type-id-154'/>
@ -14051,25 +14051,25 @@
</member-function>
<member-function access='protected' static='yes'>
<function-decl name='invalid_continuing_octet' mangled-name='_ZNK5boost10filesystem6detail18utf8_codecvt_facet24invalid_continuing_octetEh' filepath='src/third_party/boost-1.56.0/boost/detail/utf8_codecvt_facet.hpp' line='134' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNK5boost10filesystem6detail18utf8_codecvt_facet24invalid_continuing_octetEh'>
<parameter type-id='type-id-258'/>
<parameter type-id='type-id-263'/>
<return type-id='type-id-5'/>
</function-decl>
</member-function>
<member-function access='protected' static='yes'>
<function-decl name='invalid_leading_octet' mangled-name='_ZNK5boost10filesystem6detail18utf8_codecvt_facet21invalid_leading_octetEh' filepath='src/third_party/boost-1.56.0/boost/detail/utf8_codecvt_facet.hpp' line='138' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNK5boost10filesystem6detail18utf8_codecvt_facet21invalid_leading_octetEh'>
<parameter type-id='type-id-258'/>
<parameter type-id='type-id-263'/>
<return type-id='type-id-5'/>
</function-decl>
</member-function>
<member-function access='protected' static='yes'>
<function-decl name='get_cont_octet_count' mangled-name='_ZN5boost10filesystem6detail18utf8_codecvt_facet20get_cont_octet_countEh' filepath='src/third_party/boost-1.56.0/boost/detail/utf8_codecvt_facet.hpp' line='144' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost10filesystem6detail18utf8_codecvt_facet20get_cont_octet_countEh'>
<parameter type-id='type-id-258'/>
<parameter type-id='type-id-263'/>
<return type-id='type-id-27'/>
</function-decl>
</member-function>
<member-function access='protected' static='yes'>
<function-decl name='get_octet_count' mangled-name='_ZN5boost10filesystem6detail18utf8_codecvt_facet15get_octet_countEh' filepath='src/third_party/boost-1.56.0/boost/detail/utf8_codecvt_facet.hpp' line='148' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost10filesystem6detail18utf8_codecvt_facet15get_octet_countEh'>
<parameter type-id='type-id-258'/>
<parameter type-id='type-id-263'/>
<return type-id='type-id-27'/>
</function-decl>
</member-function>
@ -14124,7 +14124,7 @@
</namespace-decl>
<namespace-decl name='__debug'>
</namespace-decl>
<class-decl name='codecvt&lt;wchar_t, char, __mbstate_t&gt;' size-in-bits='1' visibility='default' id='type-id-257'/>
<class-decl name='codecvt&lt;wchar_t, char, __mbstate_t&gt;' size-in-bits='1' visibility='default' id='type-id-262'/>
<typedef-decl name='size_t' type-id='type-id-20' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/x86_64-linux-gnu/c++/4.9/bits/c++config.h' line='188' column='1' id='type-id-154'/>
<class-decl name='codecvt_base' size-in-bits='8' visibility='default' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/codecvt.h' line='46' column='1' id='type-id-235'>
<member-type access='private'>
@ -14137,18 +14137,18 @@
</enum-decl>
</member-type>
</class-decl>
<class-decl name='numeric_limits&lt;wchar_t&gt;' size-in-bits='8' is-struct='yes' visibility='default' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/limits' line='650' column='1' id='type-id-259'>
<class-decl name='numeric_limits&lt;wchar_t&gt;' size-in-bits='8' is-struct='yes' visibility='default' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/limits' line='650' column='1' id='type-id-264'>
<data-member access='public' static='yes'>
<var-decl name='is_specialized' type-id='type-id-199' visibility='default' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/limits' line='652' column='1'/>
</data-member>
<data-member access='public' static='yes'>
<var-decl name='digits' type-id='type-id-260' visibility='default' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/limits' line='665' column='1'/>
<var-decl name='digits' type-id='type-id-265' visibility='default' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/limits' line='665' column='1'/>
</data-member>
<data-member access='public' static='yes'>
<var-decl name='digits10' type-id='type-id-260' visibility='default' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/limits' line='666' column='1'/>
<var-decl name='digits10' type-id='type-id-265' visibility='default' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/limits' line='666' column='1'/>
</data-member>
<data-member access='public' static='yes'>
<var-decl name='max_digits10' type-id='type-id-260' visibility='default' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/limits' line='669' column='1'/>
<var-decl name='max_digits10' type-id='type-id-265' visibility='default' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/limits' line='669' column='1'/>
</data-member>
<data-member access='public' static='yes'>
<var-decl name='is_signed' type-id='type-id-199' visibility='default' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/limits' line='671' column='1'/>
@ -14160,19 +14160,19 @@
<var-decl name='is_exact' type-id='type-id-199' visibility='default' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/limits' line='673' column='1'/>
</data-member>
<data-member access='public' static='yes'>
<var-decl name='radix' type-id='type-id-260' visibility='default' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/limits' line='674' column='1'/>
<var-decl name='radix' type-id='type-id-265' visibility='default' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/limits' line='674' column='1'/>
</data-member>
<data-member access='public' static='yes'>
<var-decl name='min_exponent' type-id='type-id-260' visibility='default' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/limits' line='682' column='1'/>
<var-decl name='min_exponent' type-id='type-id-265' visibility='default' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/limits' line='682' column='1'/>
</data-member>
<data-member access='public' static='yes'>
<var-decl name='min_exponent10' type-id='type-id-260' visibility='default' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/limits' line='683' column='1'/>
<var-decl name='min_exponent10' type-id='type-id-265' visibility='default' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/limits' line='683' column='1'/>
</data-member>
<data-member access='public' static='yes'>
<var-decl name='max_exponent' type-id='type-id-260' visibility='default' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/limits' line='684' column='1'/>
<var-decl name='max_exponent' type-id='type-id-265' visibility='default' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/limits' line='684' column='1'/>
</data-member>
<data-member access='public' static='yes'>
<var-decl name='max_exponent10' type-id='type-id-260' visibility='default' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/limits' line='685' column='1'/>
<var-decl name='max_exponent10' type-id='type-id-265' visibility='default' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/limits' line='685' column='1'/>
</data-member>
<data-member access='public' static='yes'>
<var-decl name='has_infinity' type-id='type-id-199' visibility='default' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/limits' line='687' column='1'/>
@ -14184,7 +14184,7 @@
<var-decl name='has_signaling_NaN' type-id='type-id-199' visibility='default' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/limits' line='689' column='1'/>
</data-member>
<data-member access='public' static='yes'>
<var-decl name='has_denorm' type-id='type-id-261' visibility='default' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/limits' line='690' column='1'/>
<var-decl name='has_denorm' type-id='type-id-266' visibility='default' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/limits' line='690' column='1'/>
</data-member>
<data-member access='public' static='yes'>
<var-decl name='has_denorm_loss' type-id='type-id-199' visibility='default' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/limits' line='692' column='1'/>
@ -14205,7 +14205,7 @@
<var-decl name='tinyness_before' type-id='type-id-199' visibility='default' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/limits' line='711' column='1'/>
</data-member>
<data-member access='public' static='yes'>
<var-decl name='round_style' type-id='type-id-262' visibility='default' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/limits' line='712' column='1'/>
<var-decl name='round_style' type-id='type-id-267' visibility='default' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/limits' line='712' column='1'/>
</data-member>
<member-function access='public' static='yes'>
<function-decl name='min' mangled-name='_ZNSt14numeric_limitsIwE3minEv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/limits' line='655' column='1' visibility='default' binding='global' size-in-bits='64'>
@ -14253,14 +14253,14 @@
</function-decl>
</member-function>
</class-decl>
<enum-decl name='float_denorm_style' id='type-id-263'>
<underlying-type type-id='type-id-264'/>
<enum-decl name='float_denorm_style' id='type-id-268'>
<underlying-type type-id='type-id-269'/>
<enumerator name='denorm_indeterminate' value='18446744073709551615'/>
<enumerator name='denorm_absent' value='0'/>
<enumerator name='denorm_present' value='1'/>
</enum-decl>
<enum-decl name='float_round_style' id='type-id-265'>
<underlying-type type-id='type-id-266'/>
<enum-decl name='float_round_style' id='type-id-270'>
<underlying-type type-id='type-id-271'/>
<enumerator name='round_indeterminate' value='18446744073709551615'/>
<enumerator name='round_toward_zero' value='0'/>
<enumerator name='round_to_nearest' value='1'/>
@ -14271,7 +14271,7 @@
<type-decl name='void' id='type-id-1'/>
<type-decl name='long unsigned int' size-in-bits='64' id='type-id-20'/>
<type-decl name='enum-result-underlying-type' size-in-bits='32' alignment-in-bits='32' id='type-id-236'/>
<qualified-type-def type-id='type-id-256' const='yes' id='type-id-267'/>
<qualified-type-def type-id='type-id-261' const='yes' id='type-id-272'/>
<class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' visibility='default' filepath='/usr/include/wchar.h' line='82' column='1' id='type-id-38'>
<data-member access='public' layout-offset-in-bits='0'>
<var-decl name='__count' type-id='type-id-3' visibility='default' filepath='/usr/include/wchar.h' line='84' column='1'/>
@ -14285,7 +14285,7 @@
<type-decl name='wchar_t' size-in-bits='32' id='type-id-26'/>
<qualified-type-def type-id='type-id-26' const='yes' id='type-id-28'/>
<type-decl name='bool' size-in-bits='8' id='type-id-5'/>
<type-decl name='unsigned char' size-in-bits='8' id='type-id-258'/>
<type-decl name='unsigned char' size-in-bits='8' id='type-id-263'/>
<type-decl name='unsigned int' size-in-bits='32' id='type-id-27'/>
<function-decl name='abort' filepath='/usr/include/stdlib.h' line='515' column='1' visibility='default' binding='global' size-in-bits='64'>
<return type-id='type-id-1'/>
@ -15067,11 +15067,11 @@
<return type-id='type-id-21'/>
</function-decl>
<qualified-type-def type-id='type-id-5' const='yes' id='type-id-199'/>
<qualified-type-def type-id='type-id-3' const='yes' id='type-id-260'/>
<type-decl name='enum-float_denorm_style-underlying-type' size-in-bits='32' alignment-in-bits='32' id='type-id-264'/>
<qualified-type-def type-id='type-id-263' const='yes' id='type-id-261'/>
<type-decl name='enum-float_round_style-underlying-type' size-in-bits='32' alignment-in-bits='32' id='type-id-266'/>
<qualified-type-def type-id='type-id-265' const='yes' id='type-id-262'/>
<qualified-type-def type-id='type-id-3' const='yes' id='type-id-265'/>
<type-decl name='enum-float_denorm_style-underlying-type' size-in-bits='32' alignment-in-bits='32' id='type-id-269'/>
<qualified-type-def type-id='type-id-268' const='yes' id='type-id-266'/>
<type-decl name='enum-float_round_style-underlying-type' size-in-bits='32' alignment-in-bits='32' id='type-id-271'/>
<qualified-type-def type-id='type-id-270' const='yes' id='type-id-267'/>
<namespace-decl name=''>
</namespace-decl>
</abi-instr>
@ -15303,8 +15303,8 @@
<function-decl name='getwchar' filepath='/usr/include/wchar.h' line='752' column='1' visibility='default' binding='global' size-in-bits='64'>
<return type-id='type-id-35'/>
</function-decl>
<typedef-decl name='__mbstate_t' type-id='type-id-22' filepath='/usr/include/wchar.h' line='94' column='1' id='type-id-268'/>
<typedef-decl name='mbstate_t' type-id='type-id-268' filepath='/usr/include/wchar.h' line='106' column='1' id='type-id-269'/>
<typedef-decl name='__mbstate_t' type-id='type-id-22' filepath='/usr/include/wchar.h' line='94' column='1' id='type-id-273'/>
<typedef-decl name='mbstate_t' type-id='type-id-273' filepath='/usr/include/wchar.h' line='106' column='1' id='type-id-274'/>
<function-decl name='mbrlen' filepath='/usr/include/wchar.h' line='376' column='1' visibility='default' binding='global' size-in-bits='64'>
<parameter type-id='type-id-21'/>
<return type-id='type-id-21'/>
@ -15313,7 +15313,7 @@
<parameter type-id='type-id-21'/>
<return type-id='type-id-21'/>
</function-decl>
<qualified-type-def type-id='type-id-269' const='yes' id='type-id-270'/>
<qualified-type-def type-id='type-id-274' const='yes' id='type-id-275'/>
<function-decl name='mbsinit' filepath='/usr/include/wchar.h' line='361' column='1' visibility='default' binding='global' size-in-bits='64'>
<return type-id='type-id-3'/>
</function-decl>
@ -15342,8 +15342,8 @@
<parameter type-id='type-id-35'/>
<return type-id='type-id-35'/>
</function-decl>
<class-decl name='__va_list_tag' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-271'/>
<typedef-decl name='__va_list_tag' type-id='type-id-271' id='type-id-272'/>
<class-decl name='__va_list_tag' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-276'/>
<typedef-decl name='__va_list_tag' type-id='type-id-276' id='type-id-277'/>
<function-decl name='vfwprintf' filepath='/usr/include/wchar.h' line='612' column='1' visibility='default' binding='global' size-in-bits='64'>
<return type-id='type-id-3'/>
</function-decl>
@ -15382,8 +15382,8 @@
<function-decl name='wcscspn' filepath='/usr/include/wchar.h' line='252' column='1' visibility='default' binding='global' size-in-bits='64'>
<return type-id='type-id-21'/>
</function-decl>
<class-decl name='tm' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-273'/>
<qualified-type-def type-id='type-id-273' const='yes' id='type-id-274'/>
<class-decl name='tm' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-278'/>
<qualified-type-def type-id='type-id-278' const='yes' id='type-id-279'/>
<function-decl name='wcsftime' filepath='/usr/include/wchar.h' line='855' column='1' visibility='default' binding='global' size-in-bits='64'>
<parameter type-id='type-id-21'/>
<return type-id='type-id-21'/>