libabigail/tests/data/test-read-write/test28-without-std-vars-ref.xml
Dodji Seketeli a7492fea56 Support ELF symbol visibility property
This patch models the ELF symbol visibility property and support
ignoring function and variable symbols that are HIDDEN and INTERNAL,
even if they have default binding.

	* include/abg-ir.h (enum elf_symbol::visibility): Define new enum.
	(elf_symbol::{elf_symbol, create}): Take a visibility parameter.
	(elf_symbol::{set, get}_visibility): Declare new accessors.
	(string_to_elf_symbol_binding): Declare new function.
	* src/abg-ir.cc (elf_symbol::priv::visibility_): New data member.
	(elf_symbol::priv::priv): Adjust.
	(elf_symbol::elf_symbol): Take a visibility parameter.
	(elf_symbol::create): Likewise
	(elf_symbol::{s,g}et_visibility): Define new accessors.
	(elf_symbol::is_public): Adjust.
	(operator<<(std::ostream&, elf_symbol::visibility)): Define new
	operator.
	(string_to_elf_symbol_visibility): Define new function.
	* src/abg-dwarf-reader.cc (stv_to_elf_symbol_visibility): Define
	new static function.
	(lookup_symbol_from_sysv_hash_tab)
	(lookup_symbol_from_gnu_hash_tab, lookup_symbol_from_symtab)
	(create_default_var_sym, create_default_fn_sym): Adjust.
	* src/abg-reader.cc (read_elf_symbol_binding): Define new
	function.
	(build_elf_symbol): Adjust.
	* src/abg-writer.cc (write_elf_symbol_visibility): Define new
	function.
	* tests/data/test-annotate/libtest23.so.abi: Adjust.
	* tests/data/test-annotate/libtest24-drop-fns-2.so.abi: Adjust.
	* tests/data/test-annotate/libtest24-drop-fns.so.abi: Adjust.
	* tests/data/test-annotate/test0.abi: Adjust.
	* tests/data/test-annotate/test1.abi: Adjust.
	* tests/data/test-annotate/test13-pr18894.so.abi: Adjust.
	* tests/data/test-annotate/test14-pr18893.so.abi: Adjust.
	* tests/data/test-annotate/test15-pr18892.so.abi: Adjust.
	* tests/data/test-annotate/test17-pr19027.so.abi: Adjust.
	* tests/data/test-annotate/test18-pr19037-libvtkRenderingLIC-6.1.so.abi:
	Adjust.
	* tests/data/test-annotate/test19-pr19023-libtcmalloc_and_profiler.so.abi:
	Adjust.
	* tests/data/test-annotate/test2.so.abi: Adjust.
	* tests/data/test-annotate/test20-pr19025-libvtkParallelCore-6.1.so.abi:
	Adjust.
	* tests/data/test-annotate/test21-pr19092.so.abi: Adjust.
	* tests/data/test-annotate/test3.so.abi: Adjust.
	* tests/data/test-annotate/test4.so.abi: Adjust.
	* tests/data/test-annotate/test5.o.abi: Adjust.
	* tests/data/test-annotate/test6.so.abi: Adjust.
	* tests/data/test-annotate/test7.so.abi: Adjust.
	* tests/data/test-annotate/test8-qualified-this-pointer.so.abi:
	Adjust.
	* tests/data/test-read-dwarf/libtest23.so.abi: Adjust.
	* tests/data/test-read-dwarf/libtest24-drop-fns-2.so.abi: Adjust.
	* tests/data/test-read-dwarf/libtest24-drop-fns.so.abi: Adjust.
	* tests/data/test-read-dwarf/test0.abi: Adjust.
	* tests/data/test-read-dwarf/test1.abi: Adjust.
	* tests/data/test-read-dwarf/test10-pr18818-gcc.so.abi: Adjust.
	* tests/data/test-read-dwarf/test11-pr18828.so.abi: Adjust.
	* tests/data/test-read-dwarf/test12-pr18844.so.abi: Adjust.
	* tests/data/test-read-dwarf/test13-pr18894.so.abi: Adjust.
	* tests/data/test-read-dwarf/test14-pr18893.so.abi: Adjust.
	* tests/data/test-read-dwarf/test15-pr18892.so.abi: Adjust.
	* tests/data/test-read-dwarf/test16-pr18904.so.abi: Adjust.
	* tests/data/test-read-dwarf/test17-pr19027.so.abi: Adjust.
	* tests/data/test-read-dwarf/test18-pr19037-libvtkRenderingLIC-6.1.so.abi:
	Adjust.
	* tests/data/test-read-dwarf/test19-pr19023-libtcmalloc_and_profiler.so.abi:
	Adjust.
	* tests/data/test-read-dwarf/test2.so.abi: Adjust.
	* tests/data/test-read-dwarf/test20-pr19025-libvtkParallelCore-6.1.so.abi:
	Adjust.
	* tests/data/test-read-dwarf/test21-pr19092.so.abi: Adjust.
	* tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi:
	Adjust.
	* tests/data/test-read-dwarf/test3.so.abi: Adjust.
	* tests/data/test-read-dwarf/test4.so.abi: Adjust.
	* tests/data/test-read-dwarf/test5.o.abi: Adjust.
	* tests/data/test-read-dwarf/test6.so.abi: Adjust.
	* tests/data/test-read-dwarf/test7.so.abi: Adjust.
	* tests/data/test-read-dwarf/test8-qualified-this-pointer.so.abi:
	Adjust.
	* tests/data/test-read-dwarf/test9-pr18818-clang.so.abi: Adjust.
	* tests/data/test-read-write/test26.xml: Adjust.
	* tests/data/test-read-write/test27.xml: Adjust.
	* tests/data/test-read-write/test28-without-std-fns-ref.xml:
	Adjust.
	* tests/data/test-read-write/test28-without-std-vars-ref.xml:
	Adjust.

Signed-off-by: Dodji Seketeli <dodji@redhat.com>
2017-07-03 17:45:47 +02:00

764 lines
51 KiB
XML

<abi-corpus path='tests/data/test-read-dwarf/libtest24-drop-fns.so'>
<elf-needed>
<dependency name='libgcc_s.so.1'/>
<dependency name='libc.so.6'/>
</elf-needed>
<elf-function-symbols>
<elf-symbol name='_Z3barRKSs' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
<elf-symbol name='_Z3fooRKSs' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
<elf-symbol name='_ZNSt11char_traitsIcE6lengthEPKc' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
<elf-symbol name='_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_EPKS3_RKS6_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
<elf-symbol name='_fini' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
<elf-symbol name='_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
</elf-function-symbols>
<abi-instr version='1.0' address-size='64' path='test24-drop-fns.cc' language='LANG_C_plus_plus'>
<namespace-decl name='std'>
<class-decl name='basic_ostream&lt;char, std::char_traits&lt;char&gt; &gt;' visibility='default' is-declaration-only='yes' id='type-id-1'/>
<typedef-decl name='ostream' type-id='type-id-1' filepath='/usr/include/c++/5.3.1/iosfwd' line='141' column='1' id='type-id-2'/>
<class-decl name='basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt;' size-in-bits='64' visibility='default' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2510' column='1' id='type-id-3'>
<member-type access='private'>
<class-decl name='_Alloc_hider' size-in-bits='64' is-struct='yes' visibility='default' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2670' column='1' id='type-id-4'>
<base-class access='public' layout-offset-in-bits='0' type-id='type-id-5'/>
<data-member access='public' layout-offset-in-bits='0'>
<var-decl name='_M_p' type-id='type-id-6' visibility='default' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2675' column='1'/>
</data-member>
</class-decl>
</member-type>
<member-type access='public'>
<typedef-decl name='size_type' type-id='type-id-8' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2519' column='1' id='type-id-7'/>
</member-type>
<member-type access='public'>
<typedef-decl name='allocator_type' type-id='type-id-5' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2518' column='1' id='type-id-9'/>
</member-type>
<member-type access='public'>
<typedef-decl name='reference' type-id='type-id-11' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2521' column='1' id='type-id-10'/>
</member-type>
<member-type access='public'>
<typedef-decl name='const_reference' type-id='type-id-13' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2522' column='1' id='type-id-12'/>
</member-type>
<member-type access='public'>
<typedef-decl name='iterator' type-id='type-id-15' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2525' column='1' id='type-id-14'/>
</member-type>
<member-type access='public'>
<typedef-decl name='const_iterator' type-id='type-id-17' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2527' column='1' id='type-id-16'/>
</member-type>
<member-type access='public'>
<typedef-decl name='const_reverse_iterator' type-id='type-id-19' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2528' column='1' id='type-id-18'/>
</member-type>
<member-type access='public'>
<typedef-decl name='reverse_iterator' type-id='type-id-21' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2529' column='1' id='type-id-20'/>
</member-type>
<member-type access='private'>
<class-decl name='_Rep_base' size-in-bits='192' is-struct='yes' visibility='default' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2546' column='1' id='type-id-22'>
<data-member access='public' layout-offset-in-bits='0'>
<var-decl name='_M_length' type-id='type-id-7' visibility='default' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2548' column='1'/>
</data-member>
<data-member access='public' layout-offset-in-bits='64'>
<var-decl name='_M_capacity' type-id='type-id-7' visibility='default' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2549' column='1'/>
</data-member>
<data-member access='public' layout-offset-in-bits='128'>
<var-decl name='_M_refcount' type-id='type-id-23' visibility='default' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2550' column='1'/>
</data-member>
</class-decl>
</member-type>
<member-type access='private'>
<class-decl name='_Rep' size-in-bits='192' is-struct='yes' visibility='default' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2553' column='1' id='type-id-24'>
<base-class access='public' layout-offset-in-bits='0' type-id='type-id-22'/>
</class-decl>
</member-type>
<data-member access='private' layout-offset-in-bits='0'>
<var-decl name='_M_dataplus' type-id='type-id-4' visibility='default' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2687' column='1'/>
</data-member>
</class-decl>
<class-decl name='allocator&lt;char&gt;' size-in-bits='8' visibility='default' filepath='/usr/include/c++/5.3.1/bits/allocator.h' line='92' column='1' id='type-id-5'>
<base-class access='public' layout-offset-in-bits='0' type-id='type-id-25'/>
<member-type access='public'>
<typedef-decl name='size_type' type-id='type-id-26' filepath='/usr/include/c++/5.3.1/bits/allocator.h' line='95' column='1' id='type-id-8'/>
</member-type>
<member-type access='public'>
<typedef-decl name='reference' type-id='type-id-27' filepath='/usr/include/c++/5.3.1/bits/allocator.h' line='99' column='1' id='type-id-11'/>
</member-type>
<member-type access='public'>
<typedef-decl name='const_reference' type-id='type-id-28' filepath='/usr/include/c++/5.3.1/bits/allocator.h' line='100' column='1' id='type-id-13'/>
</member-type>
</class-decl>
<typedef-decl name='size_t' type-id='type-id-29' filepath='/usr/include/c++/5.3.1/x86_64-redhat-linux/bits/c++config.h' line='1969' column='1' id='type-id-26'/>
<class-decl name='reverse_iterator&lt;__gnu_cxx::__normal_iterator&lt;char const*, std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; &gt; &gt;' visibility='default' is-declaration-only='yes' id='type-id-19'/>
<class-decl name='reverse_iterator&lt;__gnu_cxx::__normal_iterator&lt;char*, std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; &gt; &gt;' visibility='default' is-declaration-only='yes' id='type-id-21'/>
<class-decl name='char_traits&lt;char&gt;' size-in-bits='8' is-struct='yes' visibility='default' filepath='/usr/include/c++/5.3.1/bits/char_traits.h' line='233' column='1' id='type-id-30'>
<member-type access='public'>
<typedef-decl name='char_type' type-id='type-id-32' filepath='/usr/include/c++/5.3.1/bits/char_traits.h' line='235' column='1' id='type-id-31'/>
</member-type>
<member-type access='public'>
<typedef-decl name='int_type' type-id='type-id-34' filepath='/usr/include/c++/5.3.1/bits/char_traits.h' line='236' column='1' id='type-id-33'/>
</member-type>
</class-decl>
<typedef-decl name='string' type-id='type-id-3' filepath='/usr/include/c++/5.3.1/bits/stringfwd.h' line='74' column='1' id='type-id-35'/>
</namespace-decl>
<namespace-decl name='__gnu_cxx'>
<class-decl name='new_allocator&lt;char&gt;' size-in-bits='8' visibility='default' filepath='/usr/include/c++/5.3.1/ext/new_allocator.h' line='58' column='1' id='type-id-25'>
<member-type access='public'>
<typedef-decl name='size_type' type-id='type-id-26' filepath='/usr/include/c++/5.3.1/ext/new_allocator.h' line='61' column='1' id='type-id-36'/>
</member-type>
<member-type access='public'>
<typedef-decl name='pointer' type-id='type-id-6' filepath='/usr/include/c++/5.3.1/ext/new_allocator.h' line='63' column='1' id='type-id-37'/>
</member-type>
<member-type access='public'>
<typedef-decl name='const_pointer' type-id='type-id-39' filepath='/usr/include/c++/5.3.1/ext/new_allocator.h' line='64' column='1' id='type-id-38'/>
</member-type>
<member-type access='public'>
<typedef-decl name='reference' type-id='type-id-27' filepath='/usr/include/c++/5.3.1/ext/new_allocator.h' line='65' column='1' id='type-id-40'/>
</member-type>
<member-type access='public'>
<typedef-decl name='const_reference' type-id='type-id-28' filepath='/usr/include/c++/5.3.1/ext/new_allocator.h' line='66' column='1' id='type-id-41'/>
</member-type>
<member-function access='public'>
<function-decl name='new_allocator' mangled-name='_ZN9__gnu_cxx13new_allocatorIcEC4Ev' filepath='/usr/include/c++/5.3.1/ext/new_allocator.h' line='79' column='1' visibility='default' binding='global' size-in-bits='64'>
<parameter type-id='type-id-42' is-artificial='yes'/>
<return type-id='type-id-43'/>
</function-decl>
</member-function>
<member-function access='public'>
<function-decl name='new_allocator' mangled-name='_ZN9__gnu_cxx13new_allocatorIcEC4ERKS1_' filepath='/usr/include/c++/5.3.1/ext/new_allocator.h' line='81' column='1' visibility='default' binding='global' size-in-bits='64'>
<parameter type-id='type-id-42' is-artificial='yes'/>
<parameter type-id='type-id-44'/>
<return type-id='type-id-43'/>
</function-decl>
</member-function>
<member-function access='public' destructor='yes'>
<function-decl name='~new_allocator' mangled-name='_ZN9__gnu_cxx13new_allocatorIcED4Ev' filepath='/usr/include/c++/5.3.1/ext/new_allocator.h' line='86' column='1' visibility='default' binding='global' size-in-bits='64'>
<parameter type-id='type-id-42' is-artificial='yes'/>
<parameter type-id='type-id-34' is-artificial='yes'/>
<return type-id='type-id-43'/>
</function-decl>
</member-function>
<member-function access='public'>
<function-decl name='address' mangled-name='_ZNK9__gnu_cxx13new_allocatorIcE7addressERc' filepath='/usr/include/c++/5.3.1/ext/new_allocator.h' line='89' column='1' visibility='default' binding='global' size-in-bits='64'>
<parameter type-id='type-id-45' is-artificial='yes'/>
<parameter type-id='type-id-40'/>
<return type-id='type-id-37'/>
</function-decl>
</member-function>
<member-function access='public'>
<function-decl name='address' mangled-name='_ZNK9__gnu_cxx13new_allocatorIcE7addressERKc' filepath='/usr/include/c++/5.3.1/ext/new_allocator.h' line='93' column='1' visibility='default' binding='global' size-in-bits='64'>
<parameter type-id='type-id-45' is-artificial='yes'/>
<parameter type-id='type-id-41'/>
<return type-id='type-id-38'/>
</function-decl>
</member-function>
<member-function access='public'>
<function-decl name='allocate' mangled-name='_ZN9__gnu_cxx13new_allocatorIcE8allocateEmPKv' filepath='/usr/include/c++/5.3.1/ext/new_allocator.h' line='99' column='1' visibility='default' binding='global' size-in-bits='64'>
<parameter type-id='type-id-42' is-artificial='yes'/>
<parameter type-id='type-id-36'/>
<parameter type-id='type-id-46'/>
<return type-id='type-id-37'/>
</function-decl>
</member-function>
<member-function access='public'>
<function-decl name='deallocate' mangled-name='_ZN9__gnu_cxx13new_allocatorIcE10deallocateEPcm' filepath='/usr/include/c++/5.3.1/ext/new_allocator.h' line='109' column='1' visibility='default' binding='global' size-in-bits='64'>
<parameter type-id='type-id-42' is-artificial='yes'/>
<parameter type-id='type-id-37'/>
<parameter type-id='type-id-36'/>
<return type-id='type-id-43'/>
</function-decl>
</member-function>
<member-function access='public'>
<function-decl name='max_size' mangled-name='_ZNK9__gnu_cxx13new_allocatorIcE8max_sizeEv' filepath='/usr/include/c++/5.3.1/ext/new_allocator.h' line='113' column='1' visibility='default' binding='global' size-in-bits='64'>
<parameter type-id='type-id-45' is-artificial='yes'/>
<return type-id='type-id-36'/>
</function-decl>
</member-function>
<member-function access='public'>
<function-decl name='construct' mangled-name='_ZN9__gnu_cxx13new_allocatorIcE9constructEPcRKc' filepath='/usr/include/c++/5.3.1/ext/new_allocator.h' line='129' column='1' visibility='default' binding='global' size-in-bits='64'>
<parameter type-id='type-id-42' is-artificial='yes'/>
<parameter type-id='type-id-37'/>
<parameter type-id='type-id-28'/>
<return type-id='type-id-43'/>
</function-decl>
</member-function>
<member-function access='public'>
<function-decl name='destroy' mangled-name='_ZN9__gnu_cxx13new_allocatorIcE7destroyEPc' filepath='/usr/include/c++/5.3.1/ext/new_allocator.h' line='133' column='1' visibility='default' binding='global' size-in-bits='64'>
<parameter type-id='type-id-42' is-artificial='yes'/>
<parameter type-id='type-id-37'/>
<return type-id='type-id-43'/>
</function-decl>
</member-function>
</class-decl>
<class-decl name='__normal_iterator&lt;char*, std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; &gt;' visibility='default' is-declaration-only='yes' id='type-id-15'/>
<class-decl name='__normal_iterator&lt;char const*, std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; &gt;' visibility='default' is-declaration-only='yes' id='type-id-17'/>
<class-decl name='__numeric_traits_integer&lt;int&gt;' size-in-bits='8' is-struct='yes' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='55' column='1' id='type-id-47'/>
<class-decl name='__numeric_traits_integer&lt;long unsigned int&gt;' size-in-bits='8' is-struct='yes' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='55' column='1' id='type-id-48'/>
<class-decl name='__numeric_traits_integer&lt;char&gt;' size-in-bits='8' is-struct='yes' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='55' column='1' id='type-id-49'/>
<class-decl name='__numeric_traits_integer&lt;short int&gt;' size-in-bits='8' is-struct='yes' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='55' column='1' id='type-id-50'/>
<class-decl name='__numeric_traits_integer&lt;long int&gt;' size-in-bits='8' is-struct='yes' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='55' column='1' id='type-id-51'/>
</namespace-decl>
<type-decl name='unsigned long int' size-in-bits='64' id='type-id-29'/>
<type-decl name='char' size-in-bits='8' id='type-id-32'/>
<pointer-type-def type-id='type-id-32' size-in-bits='64' id='type-id-6'/>
<qualified-type-def type-id='type-id-32' const='yes' id='type-id-52'/>
<pointer-type-def type-id='type-id-52' size-in-bits='64' id='type-id-39'/>
<reference-type-def kind='lvalue' type-id='type-id-32' size-in-bits='64' id='type-id-27'/>
<reference-type-def kind='lvalue' type-id='type-id-52' size-in-bits='64' id='type-id-28'/>
<pointer-type-def type-id='type-id-25' size-in-bits='64' id='type-id-42'/>
<type-decl name='void' id='type-id-43'/>
<qualified-type-def type-id='type-id-25' const='yes' id='type-id-53'/>
<reference-type-def kind='lvalue' type-id='type-id-53' size-in-bits='64' id='type-id-44'/>
<type-decl name='int' size-in-bits='32' id='type-id-34'/>
<pointer-type-def type-id='type-id-53' size-in-bits='64' id='type-id-45'/>
<pointer-type-def type-id='type-id-43' size-in-bits='64' id='type-id-46'/>
<qualified-type-def type-id='type-id-34' const='yes' id='type-id-54'/>
<type-decl name='bool' size-in-bits='8' id='type-id-55'/>
<qualified-type-def type-id='type-id-55' const='yes' id='type-id-56'/>
<qualified-type-def type-id='type-id-29' const='yes' id='type-id-57'/>
<type-decl name='short int' size-in-bits='16' id='type-id-58'/>
<qualified-type-def type-id='type-id-58' const='yes' id='type-id-59'/>
<type-decl name='long int' size-in-bits='64' id='type-id-60'/>
<qualified-type-def type-id='type-id-60' const='yes' id='type-id-61'/>
<typedef-decl name='_Atomic_word' type-id='type-id-34' filepath='/usr/include/c++/5.3.1/x86_64-redhat-linux/bits/atomic_word.h' line='32' column='1' id='type-id-23'/>
<qualified-type-def type-id='type-id-7' const='yes' id='type-id-62'/>
<pointer-type-def type-id='type-id-5' size-in-bits='64' id='type-id-63'/>
<qualified-type-def type-id='type-id-5' const='yes' id='type-id-64'/>
<reference-type-def kind='lvalue' type-id='type-id-64' size-in-bits='64' id='type-id-65'/>
<pointer-type-def type-id='type-id-4' size-in-bits='64' id='type-id-66'/>
<reference-type-def kind='lvalue' type-id='type-id-24' size-in-bits='64' id='type-id-67'/>
<qualified-type-def type-id='type-id-24' const='yes' id='type-id-68'/>
<pointer-type-def type-id='type-id-68' size-in-bits='64' id='type-id-69'/>
<pointer-type-def type-id='type-id-24' size-in-bits='64' id='type-id-70'/>
<qualified-type-def type-id='type-id-3' const='yes' id='type-id-71'/>
<pointer-type-def type-id='type-id-71' size-in-bits='64' id='type-id-72'/>
<pointer-type-def type-id='type-id-3' size-in-bits='64' id='type-id-73'/>
<reference-type-def kind='lvalue' type-id='type-id-71' size-in-bits='64' id='type-id-74'/>
<reference-type-def kind='lvalue' type-id='type-id-3' size-in-bits='64' id='type-id-75'/>
<type-decl name='unsigned int' size-in-bits='32' id='type-id-76'/>
<typedef-decl name='wint_t' type-id='type-id-76' filepath='/usr/lib/gcc/x86_64-redhat-linux/5.3.1/include/stddef.h' line='357' column='1' id='type-id-77'/>
<function-decl name='btowc' filepath='/usr/include/wchar.h' line='353' column='1' visibility='default' binding='global' size-in-bits='64'>
<parameter type-id='type-id-34'/>
<return type-id='type-id-77'/>
</function-decl>
<class-decl name='_IO_FILE' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-78'/>
<typedef-decl name='__FILE' type-id='type-id-78' filepath='/usr/include/stdio.h' line='64' column='1' id='type-id-79'/>
<pointer-type-def type-id='type-id-79' size-in-bits='64' id='type-id-80'/>
<function-decl name='fgetwc' filepath='/usr/include/wchar.h' line='745' column='1' visibility='default' binding='global' size-in-bits='64'>
<parameter type-id='type-id-80'/>
<return type-id='type-id-77'/>
</function-decl>
<type-decl name='wchar_t' size-in-bits='32' id='type-id-81'/>
<pointer-type-def type-id='type-id-81' size-in-bits='64' id='type-id-82'/>
<function-decl name='fgetws' filepath='/usr/include/wchar.h' line='774' column='1' visibility='default' binding='global' size-in-bits='64'>
<parameter type-id='type-id-82'/>
<parameter type-id='type-id-34'/>
<parameter type-id='type-id-80'/>
<return type-id='type-id-82'/>
</function-decl>
<function-decl name='fputwc' filepath='/usr/include/wchar.h' line='759' column='1' visibility='default' binding='global' size-in-bits='64'>
<parameter type-id='type-id-81'/>
<parameter type-id='type-id-80'/>
<return type-id='type-id-77'/>
</function-decl>
<qualified-type-def type-id='type-id-81' const='yes' id='type-id-83'/>
<pointer-type-def type-id='type-id-83' size-in-bits='64' id='type-id-84'/>
<function-decl name='fputws' filepath='/usr/include/wchar.h' line='781' column='1' visibility='default' binding='global' size-in-bits='64'>
<parameter type-id='type-id-84'/>
<parameter type-id='type-id-80'/>
<return type-id='type-id-34'/>
</function-decl>
<function-decl name='fwide' filepath='/usr/include/wchar.h' line='587' column='1' visibility='default' binding='global' size-in-bits='64'>
<parameter type-id='type-id-80'/>
<parameter type-id='type-id-34'/>
<return type-id='type-id-34'/>
</function-decl>
<function-decl name='fwprintf' filepath='/usr/include/wchar.h' line='594' column='1' visibility='default' binding='global' size-in-bits='64'>
<parameter type-id='type-id-80'/>
<parameter type-id='type-id-84'/>
<parameter is-variadic='yes'/>
<return type-id='type-id-34'/>
</function-decl>
<function-decl name='fwscanf' filepath='/usr/include/wchar.h' line='635' column='1' visibility='default' binding='global' size-in-bits='64'>
<parameter type-id='type-id-80'/>
<parameter type-id='type-id-84'/>
<parameter is-variadic='yes'/>
<return type-id='type-id-34'/>
</function-decl>
<function-decl name='getwc' filepath='/usr/include/wchar.h' line='746' column='1' visibility='default' binding='global' size-in-bits='64'>
<parameter type-id='type-id-80'/>
<return type-id='type-id-77'/>
</function-decl>
<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-77'/>
</function-decl>
<typedef-decl name='size_t' type-id='type-id-29' filepath='/usr/lib/gcc/x86_64-redhat-linux/5.3.1/include/stddef.h' line='216' column='1' id='type-id-85'/>
<class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='/usr/include/wchar.h' line='83' column='1' id='type-id-86'>
<data-member access='public' layout-offset-in-bits='0'>
<var-decl name='__count' type-id='type-id-34' visibility='default' filepath='/usr/include/wchar.h' line='84' column='1'/>
</data-member>
</class-decl>
<typedef-decl name='__mbstate_t' type-id='type-id-86' filepath='/usr/include/wchar.h' line='94' column='1' id='type-id-87'/>
<typedef-decl name='mbstate_t' type-id='type-id-87' filepath='/usr/include/wchar.h' line='106' column='1' id='type-id-88'/>
<pointer-type-def type-id='type-id-88' size-in-bits='64' id='type-id-89'/>
<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-39'/>
<parameter type-id='type-id-85'/>
<parameter type-id='type-id-89'/>
<return type-id='type-id-85'/>
</function-decl>
<function-decl name='mbrtowc' filepath='/usr/include/wchar.h' line='365' column='1' visibility='default' binding='global' size-in-bits='64'>
<parameter type-id='type-id-82'/>
<parameter type-id='type-id-39'/>
<parameter type-id='type-id-85'/>
<parameter type-id='type-id-89'/>
<return type-id='type-id-85'/>
</function-decl>
<qualified-type-def type-id='type-id-88' const='yes' id='type-id-90'/>
<pointer-type-def type-id='type-id-90' size-in-bits='64' id='type-id-91'/>
<function-decl name='mbsinit' filepath='/usr/include/wchar.h' line='361' column='1' visibility='default' binding='global' size-in-bits='64'>
<parameter type-id='type-id-91'/>
<return type-id='type-id-34'/>
</function-decl>
<pointer-type-def type-id='type-id-39' size-in-bits='64' id='type-id-92'/>
<function-decl name='mbsrtowcs' filepath='/usr/include/wchar.h' line='408' column='1' visibility='default' binding='global' size-in-bits='64'>
<parameter type-id='type-id-82'/>
<parameter type-id='type-id-92'/>
<parameter type-id='type-id-85'/>
<parameter type-id='type-id-89'/>
<return type-id='type-id-85'/>
</function-decl>
<function-decl name='putwc' filepath='/usr/include/wchar.h' line='760' column='1' visibility='default' binding='global' size-in-bits='64'>
<parameter type-id='type-id-81'/>
<parameter type-id='type-id-80'/>
<return type-id='type-id-77'/>
</function-decl>
<function-decl name='putwchar' filepath='/usr/include/wchar.h' line='766' column='1' visibility='default' binding='global' size-in-bits='64'>
<parameter type-id='type-id-81'/>
<return type-id='type-id-77'/>
</function-decl>
<function-decl name='swprintf' filepath='/usr/include/wchar.h' line='604' column='1' visibility='default' binding='global' size-in-bits='64'>
<parameter type-id='type-id-82'/>
<parameter type-id='type-id-85'/>
<parameter type-id='type-id-84'/>
<parameter is-variadic='yes'/>
<return type-id='type-id-34'/>
</function-decl>
<function-decl name='swscanf' filepath='/usr/include/wchar.h' line='645' column='1' visibility='default' binding='global' size-in-bits='64'>
<parameter type-id='type-id-84'/>
<parameter type-id='type-id-84'/>
<parameter is-variadic='yes'/>
<return type-id='type-id-34'/>
</function-decl>
<function-decl name='ungetwc' filepath='/usr/include/wchar.h' line='789' column='1' visibility='default' binding='global' size-in-bits='64'>
<parameter type-id='type-id-77'/>
<parameter type-id='type-id-80'/>
<return type-id='type-id-77'/>
</function-decl>
<class-decl name='typedef __va_list_tag __va_list_tag' size-in-bits='192' is-struct='yes' visibility='default' id='type-id-93'>
<data-member access='public' layout-offset-in-bits='0'>
<var-decl name='gp_offset' type-id='type-id-76' visibility='default'/>
</data-member>
<data-member access='public' layout-offset-in-bits='32'>
<var-decl name='fp_offset' type-id='type-id-76' visibility='default'/>
</data-member>
<data-member access='public' layout-offset-in-bits='64'>
<var-decl name='overflow_arg_area' type-id='type-id-46' visibility='default'/>
</data-member>
<data-member access='public' layout-offset-in-bits='128'>
<var-decl name='reg_save_area' type-id='type-id-46' visibility='default'/>
</data-member>
</class-decl>
<pointer-type-def type-id='type-id-93' size-in-bits='64' id='type-id-94'/>
<function-decl name='vfwprintf' filepath='/usr/include/wchar.h' line='612' column='1' visibility='default' binding='global' size-in-bits='64'>
<parameter type-id='type-id-80'/>
<parameter type-id='type-id-84'/>
<parameter type-id='type-id-94'/>
<return type-id='type-id-34'/>
</function-decl>
<function-decl name='vfwscanf' filepath='/usr/include/wchar.h' line='689' column='1' visibility='default' binding='global' size-in-bits='64'>
<parameter type-id='type-id-80'/>
<parameter type-id='type-id-84'/>
<parameter type-id='type-id-94'/>
<return type-id='type-id-34'/>
</function-decl>
<function-decl name='vswprintf' filepath='/usr/include/wchar.h' line='625' column='1' visibility='default' binding='global' size-in-bits='64'>
<parameter type-id='type-id-82'/>
<parameter type-id='type-id-85'/>
<parameter type-id='type-id-84'/>
<parameter type-id='type-id-94'/>
<return type-id='type-id-34'/>
</function-decl>
<function-decl name='vswscanf' filepath='/usr/include/wchar.h' line='701' column='1' visibility='default' binding='global' size-in-bits='64'>
<parameter type-id='type-id-84'/>
<parameter type-id='type-id-84'/>
<parameter type-id='type-id-94'/>
<return type-id='type-id-34'/>
</function-decl>
<function-decl name='vwprintf' filepath='/usr/include/wchar.h' line='620' column='1' visibility='default' binding='global' size-in-bits='64'>
<parameter type-id='type-id-84'/>
<parameter type-id='type-id-94'/>
<return type-id='type-id-34'/>
</function-decl>
<function-decl name='vwscanf' filepath='/usr/include/wchar.h' line='697' column='1' visibility='default' binding='global' size-in-bits='64'>
<parameter type-id='type-id-84'/>
<parameter type-id='type-id-94'/>
<return type-id='type-id-34'/>
</function-decl>
<function-decl name='wcrtomb' filepath='/usr/include/wchar.h' line='370' column='1' visibility='default' binding='global' size-in-bits='64'>
<parameter type-id='type-id-6'/>
<parameter type-id='type-id-81'/>
<parameter type-id='type-id-89'/>
<return type-id='type-id-85'/>
</function-decl>
<function-decl name='wcscat' filepath='/usr/include/wchar.h' line='155' column='1' visibility='default' binding='global' size-in-bits='64'>
<parameter type-id='type-id-82'/>
<parameter type-id='type-id-84'/>
<return type-id='type-id-82'/>
</function-decl>
<function-decl name='wcscmp' filepath='/usr/include/wchar.h' line='163' column='1' visibility='default' binding='global' size-in-bits='64'>
<parameter type-id='type-id-84'/>
<parameter type-id='type-id-84'/>
<return type-id='type-id-34'/>
</function-decl>
<function-decl name='wcscoll' filepath='/usr/include/wchar.h' line='192' column='1' visibility='default' binding='global' size-in-bits='64'>
<parameter type-id='type-id-84'/>
<parameter type-id='type-id-84'/>
<return type-id='type-id-34'/>
</function-decl>
<function-decl name='wcscpy' filepath='/usr/include/wchar.h' line='147' column='1' visibility='default' binding='global' size-in-bits='64'>
<parameter type-id='type-id-82'/>
<parameter type-id='type-id-84'/>
<return type-id='type-id-82'/>
</function-decl>
<function-decl name='wcscspn' filepath='/usr/include/wchar.h' line='252' column='1' visibility='default' binding='global' size-in-bits='64'>
<parameter type-id='type-id-84'/>
<parameter type-id='type-id-84'/>
<return type-id='type-id-85'/>
</function-decl>
<class-decl name='tm' size-in-bits='448' is-struct='yes' visibility='default' filepath='/usr/include/time.h' line='133' column='1' id='type-id-95'>
<data-member access='public' layout-offset-in-bits='0'>
<var-decl name='tm_sec' type-id='type-id-34' visibility='default' filepath='/usr/include/time.h' line='135' column='1'/>
</data-member>
<data-member access='public' layout-offset-in-bits='32'>
<var-decl name='tm_min' type-id='type-id-34' visibility='default' filepath='/usr/include/time.h' line='136' column='1'/>
</data-member>
<data-member access='public' layout-offset-in-bits='64'>
<var-decl name='tm_hour' type-id='type-id-34' visibility='default' filepath='/usr/include/time.h' line='137' column='1'/>
</data-member>
<data-member access='public' layout-offset-in-bits='96'>
<var-decl name='tm_mday' type-id='type-id-34' visibility='default' filepath='/usr/include/time.h' line='138' column='1'/>
</data-member>
<data-member access='public' layout-offset-in-bits='128'>
<var-decl name='tm_mon' type-id='type-id-34' visibility='default' filepath='/usr/include/time.h' line='139' column='1'/>
</data-member>
<data-member access='public' layout-offset-in-bits='160'>
<var-decl name='tm_year' type-id='type-id-34' visibility='default' filepath='/usr/include/time.h' line='140' column='1'/>
</data-member>
<data-member access='public' layout-offset-in-bits='192'>
<var-decl name='tm_wday' type-id='type-id-34' visibility='default' filepath='/usr/include/time.h' line='141' column='1'/>
</data-member>
<data-member access='public' layout-offset-in-bits='224'>
<var-decl name='tm_yday' type-id='type-id-34' visibility='default' filepath='/usr/include/time.h' line='142' column='1'/>
</data-member>
<data-member access='public' layout-offset-in-bits='256'>
<var-decl name='tm_isdst' type-id='type-id-34' visibility='default' filepath='/usr/include/time.h' line='143' column='1'/>
</data-member>
<data-member access='public' layout-offset-in-bits='320'>
<var-decl name='tm_gmtoff' type-id='type-id-60' visibility='default' filepath='/usr/include/time.h' line='146' column='1'/>
</data-member>
<data-member access='public' layout-offset-in-bits='384'>
<var-decl name='tm_zone' type-id='type-id-39' visibility='default' filepath='/usr/include/time.h' line='147' column='1'/>
</data-member>
</class-decl>
<qualified-type-def type-id='type-id-95' const='yes' id='type-id-96'/>
<pointer-type-def type-id='type-id-96' size-in-bits='64' id='type-id-97'/>
<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-82'/>
<parameter type-id='type-id-85'/>
<parameter type-id='type-id-84'/>
<parameter type-id='type-id-97'/>
<return type-id='type-id-85'/>
</function-decl>
<function-decl name='wcslen' filepath='/usr/include/wchar.h' line='287' column='1' visibility='default' binding='global' size-in-bits='64'>
<parameter type-id='type-id-84'/>
<return type-id='type-id-85'/>
</function-decl>
<function-decl name='wcsncat' filepath='/usr/include/wchar.h' line='158' column='1' visibility='default' binding='global' size-in-bits='64'>
<parameter type-id='type-id-82'/>
<parameter type-id='type-id-84'/>
<parameter type-id='type-id-85'/>
<return type-id='type-id-82'/>
</function-decl>
<function-decl name='wcsncmp' filepath='/usr/include/wchar.h' line='166' column='1' visibility='default' binding='global' size-in-bits='64'>
<parameter type-id='type-id-84'/>
<parameter type-id='type-id-84'/>
<parameter type-id='type-id-85'/>
<return type-id='type-id-34'/>
</function-decl>
<function-decl name='wcsncpy' filepath='/usr/include/wchar.h' line='150' column='1' visibility='default' binding='global' size-in-bits='64'>
<parameter type-id='type-id-82'/>
<parameter type-id='type-id-84'/>
<parameter type-id='type-id-85'/>
<return type-id='type-id-82'/>
</function-decl>
<pointer-type-def type-id='type-id-84' size-in-bits='64' id='type-id-98'/>
<function-decl name='wcsrtombs' filepath='/usr/include/wchar.h' line='414' column='1' visibility='default' binding='global' size-in-bits='64'>
<parameter type-id='type-id-6'/>
<parameter type-id='type-id-98'/>
<parameter type-id='type-id-85'/>
<parameter type-id='type-id-89'/>
<return type-id='type-id-85'/>
</function-decl>
<function-decl name='wcsspn' filepath='/usr/include/wchar.h' line='256' column='1' visibility='default' binding='global' size-in-bits='64'>
<parameter type-id='type-id-84'/>
<parameter type-id='type-id-84'/>
<return type-id='type-id-85'/>
</function-decl>
<type-decl name='double' size-in-bits='64' id='type-id-99'/>
<pointer-type-def type-id='type-id-82' size-in-bits='64' id='type-id-100'/>
<function-decl name='wcstod' filepath='/usr/include/wchar.h' line='450' column='1' visibility='default' binding='global' size-in-bits='64'>
<parameter type-id='type-id-84'/>
<parameter type-id='type-id-100'/>
<return type-id='type-id-99'/>
</function-decl>
<type-decl name='float' size-in-bits='32' id='type-id-101'/>
<function-decl name='wcstof' filepath='/usr/include/wchar.h' line='457' column='1' visibility='default' binding='global' size-in-bits='64'>
<parameter type-id='type-id-84'/>
<parameter type-id='type-id-100'/>
<return type-id='type-id-101'/>
</function-decl>
<function-decl name='wcstok' filepath='/usr/include/wchar.h' line='282' column='1' visibility='default' binding='global' size-in-bits='64'>
<parameter type-id='type-id-82'/>
<parameter type-id='type-id-84'/>
<parameter type-id='type-id-100'/>
<return type-id='type-id-82'/>
</function-decl>
<function-decl name='wcstol' filepath='/usr/include/wchar.h' line='468' column='1' visibility='default' binding='global' size-in-bits='64'>
<parameter type-id='type-id-84'/>
<parameter type-id='type-id-100'/>
<parameter type-id='type-id-34'/>
<return type-id='type-id-60'/>
</function-decl>
<function-decl name='wcstoul' filepath='/usr/include/wchar.h' line='473' column='1' visibility='default' binding='global' size-in-bits='64'>
<parameter type-id='type-id-84'/>
<parameter type-id='type-id-100'/>
<parameter type-id='type-id-34'/>
<return type-id='type-id-29'/>
</function-decl>
<function-decl name='wcsxfrm' filepath='/usr/include/wchar.h' line='196' column='1' visibility='default' binding='global' size-in-bits='64'>
<parameter type-id='type-id-82'/>
<parameter type-id='type-id-84'/>
<parameter type-id='type-id-85'/>
<return type-id='type-id-85'/>
</function-decl>
<function-decl name='wctob' filepath='/usr/include/wchar.h' line='357' column='1' visibility='default' binding='global' size-in-bits='64'>
<parameter type-id='type-id-77'/>
<return type-id='type-id-34'/>
</function-decl>
<function-decl name='wmemcmp' filepath='/usr/include/wchar.h' line='325' column='1' visibility='default' binding='global' size-in-bits='64'>
<parameter type-id='type-id-84'/>
<parameter type-id='type-id-84'/>
<parameter type-id='type-id-85'/>
<return type-id='type-id-34'/>
</function-decl>
<function-decl name='wmemcpy' filepath='/usr/include/wchar.h' line='329' column='1' visibility='default' binding='global' size-in-bits='64'>
<parameter type-id='type-id-82'/>
<parameter type-id='type-id-84'/>
<parameter type-id='type-id-85'/>
<return type-id='type-id-82'/>
</function-decl>
<function-decl name='wmemmove' filepath='/usr/include/wchar.h' line='334' column='1' visibility='default' binding='global' size-in-bits='64'>
<parameter type-id='type-id-82'/>
<parameter type-id='type-id-84'/>
<parameter type-id='type-id-85'/>
<return type-id='type-id-82'/>
</function-decl>
<function-decl name='wmemset' filepath='/usr/include/wchar.h' line='338' column='1' visibility='default' binding='global' size-in-bits='64'>
<parameter type-id='type-id-82'/>
<parameter type-id='type-id-81'/>
<parameter type-id='type-id-85'/>
<return type-id='type-id-82'/>
</function-decl>
<function-decl name='wprintf' filepath='/usr/include/wchar.h' line='601' column='1' visibility='default' binding='global' size-in-bits='64'>
<parameter type-id='type-id-84'/>
<parameter is-variadic='yes'/>
<return type-id='type-id-34'/>
</function-decl>
<function-decl name='wscanf' filepath='/usr/include/wchar.h' line='642' column='1' visibility='default' binding='global' size-in-bits='64'>
<parameter type-id='type-id-84'/>
<parameter is-variadic='yes'/>
<return type-id='type-id-34'/>
</function-decl>
<function-decl name='wcschr' mangled-name='wcschr' filepath='/usr/include/wchar.h' line='224' column='1' visibility='default' binding='global' size-in-bits='64'>
<parameter type-id='type-id-84'/>
<parameter type-id='type-id-81'/>
<return type-id='type-id-84'/>
</function-decl>
<function-decl name='wcspbrk' mangled-name='wcspbrk' filepath='/usr/include/wchar.h' line='262' column='1' visibility='default' binding='global' size-in-bits='64'>
<parameter type-id='type-id-84'/>
<parameter type-id='type-id-84'/>
<return type-id='type-id-84'/>
</function-decl>
<function-decl name='wcsrchr' mangled-name='wcsrchr' filepath='/usr/include/wchar.h' line='234' column='1' visibility='default' binding='global' size-in-bits='64'>
<parameter type-id='type-id-84'/>
<parameter type-id='type-id-81'/>
<return type-id='type-id-84'/>
</function-decl>
<function-decl name='wcsstr' mangled-name='wcsstr' filepath='/usr/include/wchar.h' line='273' column='1' visibility='default' binding='global' size-in-bits='64'>
<parameter type-id='type-id-84'/>
<parameter type-id='type-id-84'/>
<return type-id='type-id-84'/>
</function-decl>
<function-decl name='wmemchr' mangled-name='wmemchr' filepath='/usr/include/wchar.h' line='316' column='1' visibility='default' binding='global' size-in-bits='64'>
<parameter type-id='type-id-84'/>
<parameter type-id='type-id-81'/>
<parameter type-id='type-id-85'/>
<return type-id='type-id-84'/>
</function-decl>
<type-decl name='long double' size-in-bits='128' id='type-id-102'/>
<function-decl name='wcstold' filepath='/usr/include/wchar.h' line='459' column='1' visibility='default' binding='global' size-in-bits='64'>
<parameter type-id='type-id-84'/>
<parameter type-id='type-id-100'/>
<return type-id='type-id-102'/>
</function-decl>
<type-decl name='long long int' size-in-bits='64' id='type-id-103'/>
<function-decl name='wcstoll' filepath='/usr/include/wchar.h' line='483' column='1' visibility='default' binding='global' size-in-bits='64'>
<parameter type-id='type-id-84'/>
<parameter type-id='type-id-100'/>
<parameter type-id='type-id-34'/>
<return type-id='type-id-103'/>
</function-decl>
<type-decl name='long long unsigned int' size-in-bits='64' id='type-id-104'/>
<function-decl name='wcstoull' filepath='/usr/include/wchar.h' line='490' column='1' visibility='default' binding='global' size-in-bits='64'>
<parameter type-id='type-id-84'/>
<parameter type-id='type-id-100'/>
<parameter type-id='type-id-34'/>
<return type-id='type-id-104'/>
</function-decl>
<function-decl name='setlocale' filepath='/usr/include/locale.h' line='124' column='1' visibility='default' binding='global' size-in-bits='64'>
<parameter type-id='type-id-34'/>
<parameter type-id='type-id-39'/>
<return type-id='type-id-6'/>
</function-decl>
<class-decl name='lconv' size-in-bits='768' is-struct='yes' visibility='default' filepath='/usr/include/locale.h' line='53' column='1' id='type-id-105'>
<data-member access='public' layout-offset-in-bits='0'>
<var-decl name='decimal_point' type-id='type-id-6' visibility='default' filepath='/usr/include/locale.h' line='57' column='1'/>
</data-member>
<data-member access='public' layout-offset-in-bits='64'>
<var-decl name='thousands_sep' type-id='type-id-6' visibility='default' filepath='/usr/include/locale.h' line='58' column='1'/>
</data-member>
<data-member access='public' layout-offset-in-bits='128'>
<var-decl name='grouping' type-id='type-id-6' visibility='default' filepath='/usr/include/locale.h' line='64' column='1'/>
</data-member>
<data-member access='public' layout-offset-in-bits='192'>
<var-decl name='int_curr_symbol' type-id='type-id-6' visibility='default' filepath='/usr/include/locale.h' line='70' column='1'/>
</data-member>
<data-member access='public' layout-offset-in-bits='256'>
<var-decl name='currency_symbol' type-id='type-id-6' visibility='default' filepath='/usr/include/locale.h' line='71' column='1'/>
</data-member>
<data-member access='public' layout-offset-in-bits='320'>
<var-decl name='mon_decimal_point' type-id='type-id-6' visibility='default' filepath='/usr/include/locale.h' line='72' column='1'/>
</data-member>
<data-member access='public' layout-offset-in-bits='384'>
<var-decl name='mon_thousands_sep' type-id='type-id-6' visibility='default' filepath='/usr/include/locale.h' line='73' column='1'/>
</data-member>
<data-member access='public' layout-offset-in-bits='448'>
<var-decl name='mon_grouping' type-id='type-id-6' visibility='default' filepath='/usr/include/locale.h' line='74' column='1'/>
</data-member>
<data-member access='public' layout-offset-in-bits='512'>
<var-decl name='positive_sign' type-id='type-id-6' visibility='default' filepath='/usr/include/locale.h' line='75' column='1'/>
</data-member>
<data-member access='public' layout-offset-in-bits='576'>
<var-decl name='negative_sign' type-id='type-id-6' visibility='default' filepath='/usr/include/locale.h' line='76' column='1'/>
</data-member>
<data-member access='public' layout-offset-in-bits='640'>
<var-decl name='int_frac_digits' type-id='type-id-32' visibility='default' filepath='/usr/include/locale.h' line='77' column='1'/>
</data-member>
<data-member access='public' layout-offset-in-bits='648'>
<var-decl name='frac_digits' type-id='type-id-32' visibility='default' filepath='/usr/include/locale.h' line='78' column='1'/>
</data-member>
<data-member access='public' layout-offset-in-bits='656'>
<var-decl name='p_cs_precedes' type-id='type-id-32' visibility='default' filepath='/usr/include/locale.h' line='80' column='1'/>
</data-member>
<data-member access='public' layout-offset-in-bits='664'>
<var-decl name='p_sep_by_space' type-id='type-id-32' visibility='default' filepath='/usr/include/locale.h' line='82' column='1'/>
</data-member>
<data-member access='public' layout-offset-in-bits='672'>
<var-decl name='n_cs_precedes' type-id='type-id-32' visibility='default' filepath='/usr/include/locale.h' line='84' column='1'/>
</data-member>
<data-member access='public' layout-offset-in-bits='680'>
<var-decl name='n_sep_by_space' type-id='type-id-32' visibility='default' filepath='/usr/include/locale.h' line='86' column='1'/>
</data-member>
<data-member access='public' layout-offset-in-bits='688'>
<var-decl name='p_sign_posn' type-id='type-id-32' visibility='default' filepath='/usr/include/locale.h' line='93' column='1'/>
</data-member>
<data-member access='public' layout-offset-in-bits='696'>
<var-decl name='n_sign_posn' type-id='type-id-32' visibility='default' filepath='/usr/include/locale.h' line='94' column='1'/>
</data-member>
<data-member access='public' layout-offset-in-bits='704'>
<var-decl name='int_p_cs_precedes' type-id='type-id-32' visibility='default' filepath='/usr/include/locale.h' line='97' column='1'/>
</data-member>
<data-member access='public' layout-offset-in-bits='712'>
<var-decl name='int_p_sep_by_space' type-id='type-id-32' visibility='default' filepath='/usr/include/locale.h' line='99' column='1'/>
</data-member>
<data-member access='public' layout-offset-in-bits='720'>
<var-decl name='int_n_cs_precedes' type-id='type-id-32' visibility='default' filepath='/usr/include/locale.h' line='101' column='1'/>
</data-member>
<data-member access='public' layout-offset-in-bits='728'>
<var-decl name='int_n_sep_by_space' type-id='type-id-32' visibility='default' filepath='/usr/include/locale.h' line='103' column='1'/>
</data-member>
<data-member access='public' layout-offset-in-bits='736'>
<var-decl name='int_p_sign_posn' type-id='type-id-32' visibility='default' filepath='/usr/include/locale.h' line='110' column='1'/>
</data-member>
<data-member access='public' layout-offset-in-bits='744'>
<var-decl name='int_n_sign_posn' type-id='type-id-32' visibility='default' filepath='/usr/include/locale.h' line='111' column='1'/>
</data-member>
</class-decl>
<pointer-type-def type-id='type-id-105' size-in-bits='64' id='type-id-106'/>
<function-decl name='localeconv' filepath='/usr/include/locale.h' line='127' column='1' visibility='default' binding='global' size-in-bits='64'>
<return type-id='type-id-106'/>
</function-decl>
<typedef-decl name='wctype_t' type-id='type-id-29' filepath='/usr/include/wctype.h' line='52' column='1' id='type-id-107'/>
<function-decl name='iswctype' filepath='/usr/include/wctype.h' line='175' column='1' visibility='default' binding='global' size-in-bits='64'>
<parameter type-id='type-id-77'/>
<parameter type-id='type-id-107'/>
<return type-id='type-id-34'/>
</function-decl>
<typedef-decl name='__int32_t' type-id='type-id-34' filepath='/usr/include/bits/types.h' line='40' column='1' id='type-id-108'/>
<qualified-type-def type-id='type-id-108' const='yes' id='type-id-109'/>
<pointer-type-def type-id='type-id-109' size-in-bits='64' id='type-id-110'/>
<typedef-decl name='wctrans_t' type-id='type-id-110' filepath='/usr/include/wctype.h' line='186' column='1' id='type-id-111'/>
<function-decl name='towctrans' filepath='/usr/include/wctype.h' line='221' column='1' visibility='default' binding='global' size-in-bits='64'>
<parameter type-id='type-id-77'/>
<parameter type-id='type-id-111'/>
<return type-id='type-id-77'/>
</function-decl>
<function-decl name='wctrans' filepath='/usr/include/wctype.h' line='218' column='1' visibility='default' binding='global' size-in-bits='64'>
<parameter type-id='type-id-39'/>
<return type-id='type-id-111'/>
</function-decl>
<function-decl name='wctype' filepath='/usr/include/wctype.h' line='171' column='1' visibility='default' binding='global' size-in-bits='64'>
<parameter type-id='type-id-39'/>
<return type-id='type-id-107'/>
</function-decl>
<reference-type-def kind='lvalue' type-id='type-id-31' size-in-bits='64' id='type-id-112'/>
<qualified-type-def type-id='type-id-31' const='yes' id='type-id-113'/>
<reference-type-def kind='lvalue' type-id='type-id-113' size-in-bits='64' id='type-id-114'/>
<pointer-type-def type-id='type-id-113' size-in-bits='64' id='type-id-115'/>
<pointer-type-def type-id='type-id-31' size-in-bits='64' id='type-id-116'/>
<qualified-type-def type-id='type-id-33' const='yes' id='type-id-117'/>
<reference-type-def kind='lvalue' type-id='type-id-117' size-in-bits='64' id='type-id-118'/>
<qualified-type-def type-id='type-id-35' const='yes' id='type-id-119'/>
<reference-type-def kind='lvalue' type-id='type-id-119' size-in-bits='64' id='type-id-120'/>
<qualified-type-def type-id='type-id-120' id='type-id-121'/>
<function-decl name='foo' mangled-name='_Z3fooRKSs' filepath='/home/dodji/git/libabigail.git/suppr/tests/data/test-read-dwarf/test24-drop-fns.cc' line='14' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_Z3fooRKSs'>
<parameter type-id='type-id-121' name='s' filepath='/home/dodji/git/libabigail.git/suppr/tests/data/test-read-dwarf/test24-drop-fns.cc' line='14' column='1'/>
<return type-id='type-id-35'/>
</function-decl>
<pointer-type-def type-id='type-id-2' size-in-bits='64' id='type-id-122'/>
<function-decl name='bar' mangled-name='_Z3barRKSs' filepath='/home/dodji/git/libabigail.git/suppr/tests/data/test-read-dwarf/test24-drop-fns.cc' line='21' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_Z3barRKSs'>
<parameter type-id='type-id-121' name='str' filepath='/home/dodji/git/libabigail.git/suppr/tests/data/test-read-dwarf/test24-drop-fns.cc' line='21' column='1'/>
<return type-id='type-id-122'/>
</function-decl>
<var-decl name='__dso_handle' type-id='type-id-46' visibility='default'/>
</abi-instr>
</abi-corpus>