@@ -645,7 +645,24 @@ reader::symtab() const
priv_->symt = symtab_reader::symtab::load
(elf_handle(), options().env,
[&](const elf_symbol_sptr& symbol)
- {return suppr::is_elf_symbol_suppressed(*this, symbol);});
+ {
+ // This closure determines if a given symbol is suppressed by
+ // taking into accont symbol aliases. Basically, a symbol is
+ // suppressed if all its aliases are suppressed.
+ if (!symbol)
+ return false;
+ if (!suppr::is_elf_symbol_suppressed(*this, symbol))
+ return false;
+ for (elf_symbol_sptr a = symbol->get_next_alias();
+ a && a.get() != symbol->get_main_symbol().get();
+ a = a->get_next_alias())
+ {
+ if (!suppr::is_elf_symbol_suppressed(*this, a))
+ return false;
+ }
+ return true;
+ }
+ );
if (!priv_->symt)
std::cerr << "Symbol table of '" << corpus_path()
@@ -551,15 +551,6 @@ symtab::load_(Elf* elf_handle,
elf_helpers::stv_to_elf_symbol_visibility
(GELF_ST_VISIBILITY(sym->st_other)));
- // We do not take suppressed symbols into our symbol vector to avoid
- // accidental leakage. But we ensure supressed symbols are otherwise set
- // up for lookup.
- if (!(is_suppressed && is_suppressed(symbol_sptr)))
- // add to the symbol vector
- symbols_.push_back(symbol_sptr);
- else
- symbol_sptr->set_is_suppressed(true);
-
// add to the name->symbol lookup
name_symbol_map_[name].push_back(symbol_sptr);
@@ -583,6 +574,25 @@ symtab::load_(Elf* elf_handle,
setup_symbol_lookup_tables(elf_handle, sym, symbol_sptr);
}
+ // Now that symbols aliases have been constructed, let's determine
+ // what symbol has been suppressed or not. Suppression takes into
+ // account
+ for (auto& elem : name_symbol_map_)
+ {
+ auto& symbols = elem.second;
+ for (auto& symbol : symbols)
+ {
+ // We do not take suppressed symbols into our symbol vector
+ // to avoid accidental leakage. But we ensure supressed
+ // symbols are otherwise set up for lookup.
+ if (!(is_suppressed && is_suppressed(symbol)))
+ // add to the symbol vector
+ symbols_.push_back(symbol);
+ else
+ symbol->set_is_suppressed(true);
+ }
+ }
+
add_alternative_address_lookups(elf_handle);
is_kernel_binary_ = elf_helpers::is_linux_kernel(elf_handle);
@@ -12,385 +12,356 @@
<elf-symbol name='_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
</elf-function-symbols>
<abi-instr address-size='64' path='test24-drop-fns.cc' comp-dir-path='/home/dodji/git/libabigail.git/suppr/tests/data/test-read-dwarf' language='LANG_C_plus_plus'>
- <type-decl name='bool' size-in-bits='8' hash='5ba96bb22f4237fb' id='type-id-1'/>
- <type-decl name='char' size-in-bits='8' hash='65b2d157027b431a' id='type-id-2'/>
- <array-type-def dimensions='1' type-id='type-id-2' size-in-bits='32' hash='932523ac2c3bfb84' id='type-id-3'>
- <subrange length='4' lower-bound='0' upper-bound='3' type-id='type-id-4' size-in-bits='64' is-anonymous='yes' hash='cee611f4a73e486c' id='type-id-5'/>
+ <type-decl name='char' size-in-bits='8' hash='65b2d157027b431a' id='type-id-1'/>
+ <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='32' hash='932523ac2c3bfb84' id='type-id-2'>
+ <subrange length='4' lower-bound='0' upper-bound='3' type-id='type-id-3' size-in-bits='64' is-anonymous='yes' hash='cee611f4a73e486c' id='type-id-4'/>
</array-type-def>
- <type-decl name='double' size-in-bits='64' hash='e9e9b320886d9aa6' id='type-id-6'/>
- <type-decl name='float' size-in-bits='32' hash='d7ec3bf03d3c5690' id='type-id-7'/>
- <type-decl name='int' size-in-bits='32' hash='09d17c08f594edc7' id='type-id-8'/>
- <type-decl name='long double' size-in-bits='128' hash='2a9bbfe8bb0475f1#2' id='type-id-9'/>
- <type-decl name='long int' size-in-bits='64' hash='b119fe0931d2ee10#2' id='type-id-10'/>
- <type-decl name='long long int' size-in-bits='64' hash='5ae7f9eec1fc43d6#3' id='type-id-11'/>
- <type-decl name='short int' size-in-bits='16' hash='6c2352eccdcd3eea#4' id='type-id-12'/>
- <type-decl name='sizetype' size-in-bits='64' hash='3e84f1a1648448f5' id='type-id-4'/>
- <class-decl name='__mbstate_t' is-struct='yes' naming-typedef-id='type-id-13' visibility='default' size-in-bits='64' filepath='/usr/include/wchar.h' line='83' column='1' hash='e97fe294ce223fec' id='type-id-14'>
+ <type-decl name='double' size-in-bits='64' hash='e9e9b320886d9aa6' id='type-id-5'/>
+ <type-decl name='float' size-in-bits='32' hash='d7ec3bf03d3c5690' id='type-id-6'/>
+ <type-decl name='int' size-in-bits='32' hash='09d17c08f594edc7' id='type-id-7'/>
+ <type-decl name='long double' size-in-bits='128' hash='2a9bbfe8bb0475f1#2' id='type-id-8'/>
+ <type-decl name='long int' size-in-bits='64' hash='b119fe0931d2ee10#2' id='type-id-9'/>
+ <type-decl name='long long int' size-in-bits='64' hash='5ae7f9eec1fc43d6#3' id='type-id-10'/>
+ <type-decl name='short int' size-in-bits='16' hash='6c2352eccdcd3eea#4' id='type-id-11'/>
+ <type-decl name='sizetype' size-in-bits='64' hash='3e84f1a1648448f5' id='type-id-3'/>
+ <class-decl name='__mbstate_t' is-struct='yes' naming-typedef-id='type-id-12' visibility='default' size-in-bits='64' filepath='/usr/include/wchar.h' line='83' column='1' hash='e97fe294ce223fec' id='type-id-13'>
<member-type access='public'>
- <union-decl name='__anonymous_union__' visibility='default' size-in-bits='32' is-anonymous='yes' filepath='/usr/include/wchar.h' line='86' column='1' hash='db9d16b710a8f305' id='type-id-15'>
+ <union-decl name='__anonymous_union__' visibility='default' size-in-bits='32' is-anonymous='yes' filepath='/usr/include/wchar.h' line='86' column='1' hash='db9d16b710a8f305' id='type-id-14'>
<data-member access='public'>
- <var-decl name='__wch' type-id='type-id-16' visibility='default' filepath='/usr/include/wchar.h' line='88' column='1'/>
+ <var-decl name='__wch' type-id='type-id-15' visibility='default' filepath='/usr/include/wchar.h' line='88' column='1'/>
</data-member>
<data-member access='public'>
- <var-decl name='__wchb' type-id='type-id-3' visibility='default' filepath='/usr/include/wchar.h' line='92' column='1'/>
+ <var-decl name='__wchb' type-id='type-id-2' visibility='default' filepath='/usr/include/wchar.h' line='92' column='1'/>
</data-member>
</union-decl>
</member-type>
<data-member access='public' layout-offset-in-bits='0'>
- <var-decl name='__count' type-id='type-id-8' visibility='default' filepath='/usr/include/wchar.h' line='84' column='1'/>
+ <var-decl name='__count' type-id='type-id-7' visibility='default' filepath='/usr/include/wchar.h' line='84' column='1'/>
</data-member>
<data-member access='public' layout-offset-in-bits='32'>
- <var-decl name='__value' type-id='type-id-15' visibility='default' filepath='/usr/include/wchar.h' line='93' column='1'/>
+ <var-decl name='__value' type-id='type-id-14' visibility='default' filepath='/usr/include/wchar.h' line='93' column='1'/>
</data-member>
</class-decl>
- <class-decl name='lconv' is-struct='yes' visibility='default' size-in-bits='768' filepath='/usr/include/locale.h' line='53' column='1' hash='91b2fd0786b4df3e' id='type-id-17'>
+ <class-decl name='lconv' is-struct='yes' visibility='default' size-in-bits='768' filepath='/usr/include/locale.h' line='53' column='1' hash='91b2fd0786b4df3e' id='type-id-16'>
<data-member access='public' layout-offset-in-bits='0'>
- <var-decl name='decimal_point' type-id='type-id-18' visibility='default' filepath='/usr/include/locale.h' line='57' column='1'/>
+ <var-decl name='decimal_point' type-id='type-id-17' 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-18' visibility='default' filepath='/usr/include/locale.h' line='58' column='1'/>
+ <var-decl name='thousands_sep' type-id='type-id-17' 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-18' visibility='default' filepath='/usr/include/locale.h' line='64' column='1'/>
+ <var-decl name='grouping' type-id='type-id-17' 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-18' visibility='default' filepath='/usr/include/locale.h' line='70' column='1'/>
+ <var-decl name='int_curr_symbol' type-id='type-id-17' 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-18' visibility='default' filepath='/usr/include/locale.h' line='71' column='1'/>
+ <var-decl name='currency_symbol' type-id='type-id-17' 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-18' visibility='default' filepath='/usr/include/locale.h' line='72' column='1'/>
+ <var-decl name='mon_decimal_point' type-id='type-id-17' 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-18' visibility='default' filepath='/usr/include/locale.h' line='73' column='1'/>
+ <var-decl name='mon_thousands_sep' type-id='type-id-17' 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-18' visibility='default' filepath='/usr/include/locale.h' line='74' column='1'/>
+ <var-decl name='mon_grouping' type-id='type-id-17' 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-18' visibility='default' filepath='/usr/include/locale.h' line='75' column='1'/>
+ <var-decl name='positive_sign' type-id='type-id-17' 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-18' visibility='default' filepath='/usr/include/locale.h' line='76' column='1'/>
+ <var-decl name='negative_sign' type-id='type-id-17' 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-2' visibility='default' filepath='/usr/include/locale.h' line='77' column='1'/>
+ <var-decl name='int_frac_digits' type-id='type-id-1' 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-2' visibility='default' filepath='/usr/include/locale.h' line='78' column='1'/>
+ <var-decl name='frac_digits' type-id='type-id-1' 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-2' visibility='default' filepath='/usr/include/locale.h' line='80' column='1'/>
+ <var-decl name='p_cs_precedes' type-id='type-id-1' 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-2' visibility='default' filepath='/usr/include/locale.h' line='82' column='1'/>
+ <var-decl name='p_sep_by_space' type-id='type-id-1' 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-2' visibility='default' filepath='/usr/include/locale.h' line='84' column='1'/>
+ <var-decl name='n_cs_precedes' type-id='type-id-1' 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-2' visibility='default' filepath='/usr/include/locale.h' line='86' column='1'/>
+ <var-decl name='n_sep_by_space' type-id='type-id-1' 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-2' visibility='default' filepath='/usr/include/locale.h' line='93' column='1'/>
+ <var-decl name='p_sign_posn' type-id='type-id-1' 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-2' visibility='default' filepath='/usr/include/locale.h' line='94' column='1'/>
+ <var-decl name='n_sign_posn' type-id='type-id-1' 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-2' visibility='default' filepath='/usr/include/locale.h' line='97' column='1'/>
+ <var-decl name='int_p_cs_precedes' type-id='type-id-1' 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-2' visibility='default' filepath='/usr/include/locale.h' line='99' column='1'/>
+ <var-decl name='int_p_sep_by_space' type-id='type-id-1' 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-2' visibility='default' filepath='/usr/include/locale.h' line='101' column='1'/>
+ <var-decl name='int_n_cs_precedes' type-id='type-id-1' 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-2' visibility='default' filepath='/usr/include/locale.h' line='103' column='1'/>
+ <var-decl name='int_n_sep_by_space' type-id='type-id-1' 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-2' visibility='default' filepath='/usr/include/locale.h' line='110' column='1'/>
+ <var-decl name='int_p_sign_posn' type-id='type-id-1' 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-2' visibility='default' filepath='/usr/include/locale.h' line='111' column='1'/>
+ <var-decl name='int_n_sign_posn' type-id='type-id-1' visibility='default' filepath='/usr/include/locale.h' line='111' column='1'/>
</data-member>
</class-decl>
- <class-decl name='tm' is-struct='yes' visibility='default' size-in-bits='448' filepath='/usr/include/time.h' line='133' column='1' hash='831fa813c3806379' id='type-id-19'>
+ <class-decl name='tm' is-struct='yes' visibility='default' size-in-bits='448' filepath='/usr/include/time.h' line='133' column='1' hash='831fa813c3806379' id='type-id-18'>
<data-member access='public' layout-offset-in-bits='0'>
- <var-decl name='tm_sec' type-id='type-id-8' visibility='default' filepath='/usr/include/time.h' line='135' column='1'/>
+ <var-decl name='tm_sec' type-id='type-id-7' 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-8' visibility='default' filepath='/usr/include/time.h' line='136' column='1'/>
+ <var-decl name='tm_min' type-id='type-id-7' 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-8' visibility='default' filepath='/usr/include/time.h' line='137' column='1'/>
+ <var-decl name='tm_hour' type-id='type-id-7' 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-8' visibility='default' filepath='/usr/include/time.h' line='138' column='1'/>
+ <var-decl name='tm_mday' type-id='type-id-7' 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-8' visibility='default' filepath='/usr/include/time.h' line='139' column='1'/>
+ <var-decl name='tm_mon' type-id='type-id-7' 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-8' visibility='default' filepath='/usr/include/time.h' line='140' column='1'/>
+ <var-decl name='tm_year' type-id='type-id-7' 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-8' visibility='default' filepath='/usr/include/time.h' line='141' column='1'/>
+ <var-decl name='tm_wday' type-id='type-id-7' 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-8' visibility='default' filepath='/usr/include/time.h' line='142' column='1'/>
+ <var-decl name='tm_yday' type-id='type-id-7' 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-8' visibility='default' filepath='/usr/include/time.h' line='143' column='1'/>
+ <var-decl name='tm_isdst' type-id='type-id-7' 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-10' visibility='default' filepath='/usr/include/time.h' line='146' column='1'/>
+ <var-decl name='tm_gmtoff' type-id='type-id-9' 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-20' visibility='default' filepath='/usr/include/time.h' line='147' column='1'/>
+ <var-decl name='tm_zone' type-id='type-id-19' visibility='default' filepath='/usr/include/time.h' line='147' column='1'/>
</data-member>
</class-decl>
- <class-decl name='typedef__va_list_tag__va_list_tag' is-struct='yes' visibility='default' size-in-bits='192' hash='3b37d6f26ac12c24' id='type-id-21'>
+ <class-decl name='typedef__va_list_tag__va_list_tag' is-struct='yes' visibility='default' size-in-bits='192' hash='3b37d6f26ac12c24' id='type-id-20'>
<data-member access='public' layout-offset-in-bits='0'>
- <var-decl name='gp_offset' type-id='type-id-16' visibility='default'/>
+ <var-decl name='gp_offset' type-id='type-id-15' visibility='default'/>
</data-member>
<data-member access='public' layout-offset-in-bits='32'>
- <var-decl name='fp_offset' type-id='type-id-16' visibility='default'/>
+ <var-decl name='fp_offset' type-id='type-id-15' visibility='default'/>
</data-member>
<data-member access='public' layout-offset-in-bits='64'>
- <var-decl name='overflow_arg_area' type-id='type-id-22' visibility='default'/>
+ <var-decl name='overflow_arg_area' type-id='type-id-21' visibility='default'/>
</data-member>
<data-member access='public' layout-offset-in-bits='128'>
- <var-decl name='reg_save_area' type-id='type-id-22' visibility='default'/>
+ <var-decl name='reg_save_area' type-id='type-id-21' visibility='default'/>
</data-member>
</class-decl>
- <typedef-decl name='_Atomic_word' type-id='type-id-8' size-in-bits='32' filepath='/usr/include/c++/5.3.1/x86_64-redhat-linux/bits/atomic_word.h' line='32' column='1' hash='09d17c08f594edc7' id='type-id-23'/>
- <typedef-decl name='__int32_t' type-id='type-id-8' size-in-bits='32' filepath='/usr/include/bits/types.h' line='40' column='1' hash='09d17c08f594edc7' id='type-id-24'/>
- <typedef-decl name='__mbstate_t' type-id='type-id-14' size-in-bits='64' filepath='/usr/include/wchar.h' line='94' column='1' id='type-id-13'/>
- <typedef-decl name='mbstate_t' type-id='type-id-13' size-in-bits='64' filepath='/usr/include/wchar.h' line='106' column='1' id='type-id-25'/>
- <typedef-decl name='size_t' type-id='type-id-26' size-in-bits='64' filepath='/usr/lib/gcc/x86_64-redhat-linux/5.3.1/include/stddef.h' line='216' column='1' hash='8fdc5eea2983a729' id='type-id-27'/>
- <typedef-decl name='wctrans_t' type-id='type-id-28' size-in-bits='64' filepath='/usr/include/wctype.h' line='186' column='1' hash='96e1bfcb27b9d6ed' id='type-id-29'/>
- <typedef-decl name='wctype_t' type-id='type-id-26' size-in-bits='64' filepath='/usr/include/wctype.h' line='52' column='1' hash='8fdc5eea2983a729' id='type-id-30'/>
- <typedef-decl name='wint_t' type-id='type-id-16' size-in-bits='32' filepath='/usr/lib/gcc/x86_64-redhat-linux/5.3.1/include/stddef.h' line='357' column='1' hash='e66b43f97c38e87a' id='type-id-31'/>
- <type-decl name='unsigned int' size-in-bits='32' hash='e66b43f97c38e87a' id='type-id-16'/>
- <type-decl name='unsigned long int' size-in-bits='64' hash='8fdc5eea2983a729#2' id='type-id-26'/>
- <type-decl name='unsigned long long int' size-in-bits='64' hash='ebdfc4685a1e82df#3' id='type-id-32'/>
- <type-decl name='wchar_t' size-in-bits='32' hash='4b224bc24abb5f1b' id='type-id-33'/>
- <pointer-type-def type-id='type-id-34' size-in-bits='64' hash='608f46af5d93b320' id='type-id-35'/>
- <reference-type-def kind='lvalue' type-id='type-id-2' size-in-bits='64' hash='ffc913127619398d' id='type-id-36'/>
- <pointer-type-def type-id='type-id-2' size-in-bits='64' hash='e533f42d1dd4942c' id='type-id-18'/>
- <qualified-type-def type-id='type-id-34' const='yes' hash='d0c896a319e39135' id='type-id-37'/>
- <reference-type-def kind='lvalue' type-id='type-id-37' size-in-bits='64' hash='9a4f67b0de72c33d' id='type-id-38'/>
- <pointer-type-def type-id='type-id-37' size-in-bits='64' hash='0481e4c0dbe5485f' id='type-id-39'/>
- <qualified-type-def type-id='type-id-24' const='yes' hash='3aaf0f2479f2834c' id='type-id-40'/>
- <pointer-type-def type-id='type-id-40' size-in-bits='64' hash='96e1bfcb27b9d6ed' id='type-id-28'/>
- <qualified-type-def type-id='type-id-2' const='yes' hash='3e50fd33f9bb78d9' id='type-id-41'/>
- <reference-type-def kind='lvalue' type-id='type-id-41' size-in-bits='64' hash='78bf127c69ae91c1' id='type-id-42'/>
- <pointer-type-def type-id='type-id-41' size-in-bits='64' hash='c44743f354f6a443' id='type-id-20'/>
- <pointer-type-def type-id='type-id-20' size-in-bits='64' hash='cea1d4b0943594a3' id='type-id-43'/>
- <qualified-type-def type-id='type-id-8' const='yes' hash='8cef8df4b6728924' id='type-id-44'/>
- <qualified-type-def type-id='type-id-10' const='yes' hash='ea466b949f1ce7b6#2' id='type-id-45'/>
- <qualified-type-def type-id='type-id-25' const='yes' hash='a328f2686e4dcc6e' id='type-id-46'/>
- <pointer-type-def type-id='type-id-46' size-in-bits='64' hash='965b139f91617649' id='type-id-47'/>
- <qualified-type-def type-id='type-id-12' const='yes' hash='fa0f98d319d2e5f4#3' id='type-id-48'/>
- <qualified-type-def type-id='type-id-49' const='yes' hash='902ffeb42efa2254' id='type-id-50'/>
- <reference-type-def kind='lvalue' type-id='type-id-50' size-in-bits='64' hash='7d4280c016344b59' id='type-id-51'/>
- <qualified-type-def type-id='type-id-52' const='yes' hash='876836f44f3494e5' id='type-id-53'/>
- <reference-type-def kind='lvalue' type-id='type-id-53' size-in-bits='64' hash='c150ddfcb238b493' id='type-id-54'/>
- <pointer-type-def type-id='type-id-53' size-in-bits='64' hash='558e377f8e11c9af' id='type-id-55'/>
- <qualified-type-def type-id='type-id-56' const='yes' hash='7226944aa4e46352' id='type-id-57'/>
- <pointer-type-def type-id='type-id-57' size-in-bits='64' hash='61c33da8fd0cc9a8' id='type-id-58'/>
- <qualified-type-def type-id='type-id-59' const='yes' hash='f3ad494e9f7aea44' id='type-id-60'/>
- <qualified-type-def type-id='type-id-61' const='yes' hash='0d301f00e830e5eb' id='type-id-62'/>
- <reference-type-def kind='lvalue' type-id='type-id-62' size-in-bits='64' hash='d98a60be7234f7c8' id='type-id-63'/>
- <pointer-type-def type-id='type-id-62' size-in-bits='64' hash='f4903706bce76c85' id='type-id-64'/>
- <qualified-type-def type-id='type-id-65' const='yes' hash='9c3f1503b45b0328' id='type-id-66'/>
- <reference-type-def kind='lvalue' type-id='type-id-66' size-in-bits='64' hash='00b5256d58d8bd92' id='type-id-67'/>
- <qualified-type-def type-id='type-id-68' const='yes' hash='18782c365e5b3732' id='type-id-69'/>
- <reference-type-def kind='lvalue' type-id='type-id-69' size-in-bits='64' hash='c1a2c2d06c5e591e' id='type-id-70'/>
- <qualified-type-def type-id='type-id-19' const='yes' hash='6d30d2c0485b21b8' id='type-id-71'/>
- <pointer-type-def type-id='type-id-71' size-in-bits='64' hash='934b82f269d593b3' id='type-id-72'/>
- <qualified-type-def type-id='type-id-33' const='yes' hash='f2fba7dbc42fc9d5' id='type-id-73'/>
- <pointer-type-def type-id='type-id-73' size-in-bits='64' hash='317089067e76910a' id='type-id-74'/>
- <pointer-type-def type-id='type-id-74' size-in-bits='64' hash='535c62eb027026ae' id='type-id-75'/>
- <pointer-type-def type-id='type-id-17' size-in-bits='64' hash='6921f81febec828e' id='type-id-76'/>
- <pointer-type-def type-id='type-id-25' size-in-bits='64' hash='18fb85b101e2cd25' id='type-id-77'/>
- <pointer-type-def type-id='type-id-49' size-in-bits='64' hash='e3d0c180eee5d782' id='type-id-78'/>
- <reference-type-def kind='lvalue' type-id='type-id-52' size-in-bits='64' hash='eafca7fdb10b089a' id='type-id-79'/>
- <pointer-type-def type-id='type-id-52' size-in-bits='64' hash='18becb8991ad6ad0' id='type-id-80'/>
- <pointer-type-def type-id='type-id-81' size-in-bits='64' hash='9d029584a1ffef40' id='type-id-82'/>
- <reference-type-def kind='lvalue' type-id='type-id-56' size-in-bits='64' hash='dce7c83b7dca5265' id='type-id-83'/>
- <pointer-type-def type-id='type-id-56' size-in-bits='64' hash='0eeadcf9df869442' id='type-id-84'/>
- <reference-type-def kind='lvalue' type-id='type-id-61' size-in-bits='64' hash='75929b1513585467' id='type-id-85'/>
- <pointer-type-def type-id='type-id-61' size-in-bits='64' hash='4cef840ef4725ab6' id='type-id-86'/>
- <pointer-type-def type-id='type-id-21' size-in-bits='64' hash='32209790a214ec40' id='type-id-87'/>
- <pointer-type-def type-id='type-id-33' size-in-bits='64' hash='fb9a8c973ae04ed8' id='type-id-88'/>
- <pointer-type-def type-id='type-id-88' size-in-bits='64' hash='f6157ba411f3141d' id='type-id-89'/>
- <pointer-type-def type-id='type-id-90' size-in-bits='64' id='type-id-91'/>
+ <typedef-decl name='_Atomic_word' type-id='type-id-7' size-in-bits='32' filepath='/usr/include/c++/5.3.1/x86_64-redhat-linux/bits/atomic_word.h' line='32' column='1' hash='09d17c08f594edc7' id='type-id-22'/>
+ <typedef-decl name='__int32_t' type-id='type-id-7' size-in-bits='32' filepath='/usr/include/bits/types.h' line='40' column='1' hash='09d17c08f594edc7' id='type-id-23'/>
+ <typedef-decl name='__mbstate_t' type-id='type-id-13' size-in-bits='64' filepath='/usr/include/wchar.h' line='94' column='1' id='type-id-12'/>
+ <typedef-decl name='mbstate_t' type-id='type-id-12' size-in-bits='64' filepath='/usr/include/wchar.h' line='106' column='1' id='type-id-24'/>
+ <typedef-decl name='size_t' type-id='type-id-25' size-in-bits='64' filepath='/usr/lib/gcc/x86_64-redhat-linux/5.3.1/include/stddef.h' line='216' column='1' hash='8fdc5eea2983a729' id='type-id-26'/>
+ <typedef-decl name='wctrans_t' type-id='type-id-27' size-in-bits='64' filepath='/usr/include/wctype.h' line='186' column='1' hash='96e1bfcb27b9d6ed' id='type-id-28'/>
+ <typedef-decl name='wctype_t' type-id='type-id-25' size-in-bits='64' filepath='/usr/include/wctype.h' line='52' column='1' hash='8fdc5eea2983a729' id='type-id-29'/>
+ <typedef-decl name='wint_t' type-id='type-id-15' size-in-bits='32' filepath='/usr/lib/gcc/x86_64-redhat-linux/5.3.1/include/stddef.h' line='357' column='1' hash='e66b43f97c38e87a' id='type-id-30'/>
+ <type-decl name='unsigned int' size-in-bits='32' hash='e66b43f97c38e87a' id='type-id-15'/>
+ <type-decl name='unsigned long int' size-in-bits='64' hash='8fdc5eea2983a729#2' id='type-id-25'/>
+ <type-decl name='unsigned long long int' size-in-bits='64' hash='ebdfc4685a1e82df#3' id='type-id-31'/>
+ <type-decl name='wchar_t' size-in-bits='32' hash='4b224bc24abb5f1b' id='type-id-32'/>
+ <pointer-type-def type-id='type-id-33' size-in-bits='64' hash='608f46af5d93b320' id='type-id-34'/>
+ <reference-type-def kind='lvalue' type-id='type-id-1' size-in-bits='64' hash='ffc913127619398d' id='type-id-35'/>
+ <pointer-type-def type-id='type-id-1' size-in-bits='64' hash='e533f42d1dd4942c' id='type-id-17'/>
+ <qualified-type-def type-id='type-id-33' const='yes' hash='d0c896a319e39135' id='type-id-36'/>
+ <reference-type-def kind='lvalue' type-id='type-id-36' size-in-bits='64' hash='9a4f67b0de72c33d' id='type-id-37'/>
+ <pointer-type-def type-id='type-id-36' size-in-bits='64' hash='0481e4c0dbe5485f' id='type-id-38'/>
+ <qualified-type-def type-id='type-id-23' const='yes' hash='3aaf0f2479f2834c' id='type-id-39'/>
+ <pointer-type-def type-id='type-id-39' size-in-bits='64' hash='96e1bfcb27b9d6ed' id='type-id-27'/>
+ <qualified-type-def type-id='type-id-1' const='yes' hash='3e50fd33f9bb78d9' id='type-id-40'/>
+ <reference-type-def kind='lvalue' type-id='type-id-40' size-in-bits='64' hash='78bf127c69ae91c1' id='type-id-41'/>
+ <pointer-type-def type-id='type-id-40' size-in-bits='64' hash='c44743f354f6a443' id='type-id-19'/>
+ <pointer-type-def type-id='type-id-19' size-in-bits='64' hash='cea1d4b0943594a3' id='type-id-42'/>
+ <qualified-type-def type-id='type-id-7' const='yes' hash='8cef8df4b6728924' id='type-id-43'/>
+ <qualified-type-def type-id='type-id-9' const='yes' hash='ea466b949f1ce7b6#2' id='type-id-44'/>
+ <qualified-type-def type-id='type-id-24' const='yes' hash='a328f2686e4dcc6e' id='type-id-45'/>
+ <pointer-type-def type-id='type-id-45' size-in-bits='64' hash='965b139f91617649' id='type-id-46'/>
+ <qualified-type-def type-id='type-id-11' const='yes' hash='fa0f98d319d2e5f4#3' id='type-id-47'/>
+ <qualified-type-def type-id='type-id-48' const='yes' hash='7226944aa4e46352' id='type-id-49'/>
+ <qualified-type-def type-id='type-id-50' const='yes' hash='f3ad494e9f7aea44' id='type-id-51'/>
+ <qualified-type-def type-id='type-id-52' const='yes' hash='0d301f00e830e5eb' id='type-id-53'/>
+ <qualified-type-def type-id='type-id-54' const='yes' hash='9c3f1503b45b0328' id='type-id-55'/>
+ <qualified-type-def type-id='type-id-56' const='yes' hash='18782c365e5b3732' id='type-id-57'/>
+ <reference-type-def kind='lvalue' type-id='type-id-57' size-in-bits='64' hash='c1a2c2d06c5e591e' id='type-id-58'/>
+ <qualified-type-def type-id='type-id-18' const='yes' hash='6d30d2c0485b21b8' id='type-id-59'/>
+ <pointer-type-def type-id='type-id-59' size-in-bits='64' hash='934b82f269d593b3' id='type-id-60'/>
+ <qualified-type-def type-id='type-id-32' const='yes' hash='f2fba7dbc42fc9d5' id='type-id-61'/>
+ <pointer-type-def type-id='type-id-61' size-in-bits='64' hash='317089067e76910a' id='type-id-62'/>
+ <pointer-type-def type-id='type-id-62' size-in-bits='64' hash='535c62eb027026ae' id='type-id-63'/>
+ <pointer-type-def type-id='type-id-16' size-in-bits='64' hash='6921f81febec828e' id='type-id-64'/>
+ <pointer-type-def type-id='type-id-24' size-in-bits='64' hash='18fb85b101e2cd25' id='type-id-65'/>
+ <pointer-type-def type-id='type-id-20' size-in-bits='64' hash='32209790a214ec40' id='type-id-66'/>
+ <pointer-type-def type-id='type-id-32' size-in-bits='64' hash='fb9a8c973ae04ed8' id='type-id-67'/>
+ <pointer-type-def type-id='type-id-67' size-in-bits='64' hash='f6157ba411f3141d' id='type-id-68'/>
+ <pointer-type-def type-id='type-id-69' size-in-bits='64' id='type-id-70'/>
<namespace-decl name='std'>
- <class-decl name='allocator<char>' visibility='default' size-in-bits='8' filepath='/usr/include/c++/5.3.1/bits/allocator.h' line='92' column='1' hash='0e29bc311ca95715' id='type-id-49'>
- <base-class access='public' layout-offset-in-bits='0' type-id='type-id-34'/>
+ <class-decl name='allocator<char>' visibility='default' size-in-bits='8' filepath='/usr/include/c++/5.3.1/bits/allocator.h' line='92' column='1' hash='0e29bc311ca95715' id='type-id-71'>
+ <base-class access='public' layout-offset-in-bits='0' type-id='type-id-33'/>
<member-type access='public'>
- <typedef-decl name='const_reference' type-id='type-id-42' size-in-bits='64' filepath='/usr/include/c++/5.3.1/bits/allocator.h' line='100' column='1' hash='78bf127c69ae91c1' id='type-id-92'/>
+ <typedef-decl name='const_reference' type-id='type-id-41' size-in-bits='64' filepath='/usr/include/c++/5.3.1/bits/allocator.h' line='100' column='1' hash='78bf127c69ae91c1' id='type-id-72'/>
</member-type>
<member-type access='public'>
- <typedef-decl name='reference' type-id='type-id-36' size-in-bits='64' filepath='/usr/include/c++/5.3.1/bits/allocator.h' line='99' column='1' hash='ffc913127619398d' id='type-id-93'/>
+ <typedef-decl name='reference' type-id='type-id-35' size-in-bits='64' filepath='/usr/include/c++/5.3.1/bits/allocator.h' line='99' column='1' hash='ffc913127619398d' id='type-id-73'/>
</member-type>
<member-type access='public'>
- <typedef-decl name='size_type' type-id='type-id-95' size-in-bits='64' filepath='/usr/include/c++/5.3.1/bits/allocator.h' line='95' column='1' hash='8fdc5eea2983a729' id='type-id-94'/>
+ <typedef-decl name='size_type' type-id='type-id-75' size-in-bits='64' filepath='/usr/include/c++/5.3.1/bits/allocator.h' line='95' column='1' hash='8fdc5eea2983a729' id='type-id-74'/>
</member-type>
</class-decl>
- <class-decl name='basic_string<char,std::char_traits<char>,std::allocator<char>>' visibility='default' size-in-bits='64' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2510' column='1' hash='c9b0684f73450e83' id='type-id-52'>
+ <class-decl name='basic_string<char,std::char_traits<char>,std::allocator<char>>' visibility='default' size-in-bits='64' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2510' column='1' hash='c9b0684f73450e83' id='type-id-76'>
<member-type access='private'>
- <class-decl name='_Alloc_hider' is-struct='yes' visibility='default' size-in-bits='64' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2670' column='1' hash='b2053c926fcda493' id='type-id-81'>
- <base-class access='public' layout-offset-in-bits='0' type-id='type-id-49'/>
+ <class-decl name='_Alloc_hider' is-struct='yes' visibility='default' size-in-bits='64' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2670' column='1' hash='b2053c926fcda493' id='type-id-77'>
+ <base-class access='public' layout-offset-in-bits='0' type-id='type-id-71'/>
<data-member access='public' layout-offset-in-bits='0'>
- <var-decl name='_M_p' type-id='type-id-18' visibility='default' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2675' column='1'/>
+ <var-decl name='_M_p' type-id='type-id-17' 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='private'>
- <class-decl name='_Rep' is-struct='yes' visibility='default' size-in-bits='192' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2553' column='1' hash='1100d7022e36b961' id='type-id-56'>
- <base-class access='public' layout-offset-in-bits='0' type-id='type-id-96'/>
+ <class-decl name='_Rep' is-struct='yes' visibility='default' size-in-bits='192' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2553' column='1' hash='1100d7022e36b961' id='type-id-48'>
+ <base-class access='public' layout-offset-in-bits='0' type-id='type-id-78'/>
</class-decl>
</member-type>
<member-type access='private'>
- <class-decl name='_Rep_base' is-struct='yes' visibility='default' size-in-bits='192' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2546' column='1' hash='ef64d4b91b5de2fe' id='type-id-96'>
+ <class-decl name='_Rep_base' is-struct='yes' visibility='default' size-in-bits='192' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2546' column='1' hash='ef64d4b91b5de2fe' id='type-id-78'>
<data-member access='public' layout-offset-in-bits='0'>
- <var-decl name='_M_length' type-id='type-id-59' visibility='default' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2548' column='1'/>
+ <var-decl name='_M_length' type-id='type-id-50' 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-59' visibility='default' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2549' column='1'/>
+ <var-decl name='_M_capacity' type-id='type-id-50' 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'/>
+ <var-decl name='_M_refcount' type-id='type-id-22' 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='public'>
- <typedef-decl name='allocator_type' type-id='type-id-49' size-in-bits='8' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2518' column='1' id='type-id-97'/>
+ <typedef-decl name='allocator_type' type-id='type-id-71' size-in-bits='8' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2518' column='1' id='type-id-79'/>
</member-type>
<member-type access='public'>
- <typedef-decl name='const_reference' type-id='type-id-92' size-in-bits='64' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2522' column='1' hash='78bf127c69ae91c1' id='type-id-98'/>
+ <typedef-decl name='const_reference' type-id='type-id-72' size-in-bits='64' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2522' column='1' hash='78bf127c69ae91c1' id='type-id-80'/>
</member-type>
<member-type access='public'>
- <typedef-decl name='reference' type-id='type-id-93' size-in-bits='64' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2521' column='1' hash='ffc913127619398d' id='type-id-99'/>
+ <typedef-decl name='reference' type-id='type-id-73' size-in-bits='64' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2521' column='1' hash='ffc913127619398d' id='type-id-81'/>
</member-type>
<member-type access='public'>
- <typedef-decl name='size_type' type-id='type-id-94' size-in-bits='64' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2519' column='1' hash='8fdc5eea2983a729' id='type-id-59'/>
+ <typedef-decl name='size_type' type-id='type-id-74' size-in-bits='64' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2519' column='1' hash='8fdc5eea2983a729' id='type-id-50'/>
</member-type>
<member-type access='public'>
- <typedef-decl name='const_iterator' type-id='type-id-101' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2527' column='1' id='type-id-100'/>
+ <typedef-decl name='const_iterator' type-id='type-id-83' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2527' column='1' id='type-id-82'/>
</member-type>
<member-type access='public'>
- <typedef-decl name='const_reverse_iterator' type-id='type-id-103' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2528' column='1' id='type-id-102'/>
+ <typedef-decl name='const_reverse_iterator' type-id='type-id-85' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2528' column='1' id='type-id-84'/>
</member-type>
<member-type access='public'>
- <typedef-decl name='iterator' type-id='type-id-105' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2525' column='1' id='type-id-104'/>
+ <typedef-decl name='iterator' type-id='type-id-87' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2525' column='1' id='type-id-86'/>
</member-type>
<member-type access='public'>
- <typedef-decl name='reverse_iterator' type-id='type-id-107' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2529' column='1' id='type-id-106'/>
+ <typedef-decl name='reverse_iterator' type-id='type-id-89' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2529' column='1' id='type-id-88'/>
</member-type>
<data-member access='private' layout-offset-in-bits='0'>
- <var-decl name='_M_dataplus' type-id='type-id-81' visibility='default' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2687' column='1'/>
+ <var-decl name='_M_dataplus' type-id='type-id-77' visibility='default' filepath='/usr/include/c++/5.3.1/bits/basic_string.h' line='2687' column='1'/>
</data-member>
</class-decl>
- <class-decl name='char_traits<char>' is-struct='yes' visibility='default' size-in-bits='8' filepath='/usr/include/c++/5.3.1/bits/char_traits.h' line='233' column='1' hash='fc88b5d70352b916' id='type-id-108'>
+ <class-decl name='char_traits<char>' is-struct='yes' visibility='default' size-in-bits='8' filepath='/usr/include/c++/5.3.1/bits/char_traits.h' line='233' column='1' hash='fc88b5d70352b916' id='type-id-90'>
<member-type access='public'>
- <typedef-decl name='char_type' type-id='type-id-2' size-in-bits='8' filepath='/usr/include/c++/5.3.1/bits/char_traits.h' line='235' column='1' hash='65b2d157027b431a' id='type-id-61'/>
+ <typedef-decl name='char_type' type-id='type-id-1' size-in-bits='8' filepath='/usr/include/c++/5.3.1/bits/char_traits.h' line='235' column='1' hash='65b2d157027b431a' id='type-id-52'/>
</member-type>
<member-type access='public'>
- <typedef-decl name='int_type' type-id='type-id-8' size-in-bits='32' filepath='/usr/include/c++/5.3.1/bits/char_traits.h' line='236' column='1' hash='09d17c08f594edc7' id='type-id-65'/>
+ <typedef-decl name='int_type' type-id='type-id-7' size-in-bits='32' filepath='/usr/include/c++/5.3.1/bits/char_traits.h' line='236' column='1' hash='09d17c08f594edc7' id='type-id-54'/>
</member-type>
- <member-function access='public' static='yes'>
- <function-decl name='length' mangled-name='_ZNSt11char_traitsIcE6lengthEPKc' filepath='/usr/include/c++/5.3.1/bits/char_traits.h' line='266' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt11char_traitsIcE6lengthEPKc' hash='020ad60f75c8b018'>
- <parameter type-id='type-id-64'/>
- <return type-id='type-id-95'/>
- </function-decl>
- </member-function>
</class-decl>
- <typedef-decl name='size_t' type-id='type-id-26' size-in-bits='64' filepath='/usr/include/c++/5.3.1/x86_64-redhat-linux/bits/c++config.h' line='1969' column='1' hash='8fdc5eea2983a729' id='type-id-95'/>
- <typedef-decl name='string' type-id='type-id-52' size-in-bits='64' filepath='/usr/include/c++/5.3.1/bits/stringfwd.h' line='74' column='1' id='type-id-68'/>
- <class-decl name='basic_ostream<char,std::char_traits<char>>' visibility='default' is-declaration-only='yes' id='type-id-109'/>
- <class-decl name='reverse_iterator<__gnu_cxx::__normal_iterator<char*,std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>' visibility='default' is-declaration-only='yes' id='type-id-107'/>
- <class-decl name='reverse_iterator<__gnu_cxx::__normal_iterator<charconst*,std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>' visibility='default' is-declaration-only='yes' id='type-id-103'/>
- <function-decl name='operator+<char,std::char_traits<char>,std::allocator<char>>' mangled-name='_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_EPKS3_RKS6_' filepath='/usr/include/c++/5.3.1/bits/basic_string.tcc' line='1151' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_EPKS3_RKS6_' hash='e176adab2711438b'>
- <parameter type-id='type-id-20'/>
- <parameter type-id='type-id-54'/>
- <return type-id='type-id-52'/>
- </function-decl>
- <typedef-decl name='ostream' type-id='type-id-109' filepath='/usr/include/c++/5.3.1/iosfwd' line='141' column='1' id='type-id-110'/>
+ <typedef-decl name='size_t' type-id='type-id-25' size-in-bits='64' filepath='/usr/include/c++/5.3.1/x86_64-redhat-linux/bits/c++config.h' line='1969' column='1' hash='8fdc5eea2983a729' id='type-id-75'/>
+ <typedef-decl name='string' type-id='type-id-76' size-in-bits='64' filepath='/usr/include/c++/5.3.1/bits/stringfwd.h' line='74' column='1' id='type-id-56'/>
+ <class-decl name='basic_ostream<char,std::char_traits<char>>' visibility='default' is-declaration-only='yes' id='type-id-91'/>
+ <class-decl name='reverse_iterator<__gnu_cxx::__normal_iterator<char*,std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>' visibility='default' is-declaration-only='yes' id='type-id-89'/>
+ <class-decl name='reverse_iterator<__gnu_cxx::__normal_iterator<charconst*,std::basic_string<char,std::char_traits<char>,std::allocator<char>>>>' visibility='default' is-declaration-only='yes' id='type-id-85'/>
+ <typedef-decl name='ostream' type-id='type-id-91' filepath='/usr/include/c++/5.3.1/iosfwd' line='141' column='1' id='type-id-92'/>
</namespace-decl>
- <pointer-type-def type-id='type-id-110' size-in-bits='64' id='type-id-111'/>
- <class-decl name='_IO_FILE' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-112'/>
+ <pointer-type-def type-id='type-id-92' size-in-bits='64' id='type-id-93'/>
+ <class-decl name='_IO_FILE' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-94'/>
<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' hash='e4d69d935f5c1015'>
- <parameter type-id='type-id-70' 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-68'/>
+ <parameter type-id='type-id-58' 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-56'/>
</function-decl>
<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' hash='e4d69d935f5c1015'>
- <parameter type-id='type-id-70' 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-111'/>
+ <parameter type-id='type-id-58' 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-93'/>
</function-decl>
<namespace-decl name='__gnu_cxx'>
- <class-decl name='new_allocator<char>' visibility='default' size-in-bits='8' filepath='/usr/include/c++/5.3.1/ext/new_allocator.h' line='58' column='1' hash='084a85392ac35fed' id='type-id-34'>
+ <class-decl name='new_allocator<char>' visibility='default' size-in-bits='8' filepath='/usr/include/c++/5.3.1/ext/new_allocator.h' line='58' column='1' hash='084a85392ac35fed' id='type-id-33'>
<member-type access='public'>
- <typedef-decl name='const_pointer' type-id='type-id-20' size-in-bits='64' filepath='/usr/include/c++/5.3.1/ext/new_allocator.h' line='64' column='1' hash='c44743f354f6a443' id='type-id-113'/>
+ <typedef-decl name='const_pointer' type-id='type-id-19' size-in-bits='64' filepath='/usr/include/c++/5.3.1/ext/new_allocator.h' line='64' column='1' hash='c44743f354f6a443' id='type-id-95'/>
</member-type>
<member-type access='public'>
- <typedef-decl name='const_reference' type-id='type-id-42' size-in-bits='64' filepath='/usr/include/c++/5.3.1/ext/new_allocator.h' line='66' column='1' hash='78bf127c69ae91c1' id='type-id-114'/>
+ <typedef-decl name='const_reference' type-id='type-id-41' size-in-bits='64' filepath='/usr/include/c++/5.3.1/ext/new_allocator.h' line='66' column='1' hash='78bf127c69ae91c1' id='type-id-96'/>
</member-type>
<member-type access='public'>
- <typedef-decl name='pointer' type-id='type-id-18' size-in-bits='64' filepath='/usr/include/c++/5.3.1/ext/new_allocator.h' line='63' column='1' hash='e533f42d1dd4942c' id='type-id-115'/>
+ <typedef-decl name='pointer' type-id='type-id-17' size-in-bits='64' filepath='/usr/include/c++/5.3.1/ext/new_allocator.h' line='63' column='1' hash='e533f42d1dd4942c' id='type-id-97'/>
</member-type>
<member-type access='public'>
- <typedef-decl name='reference' type-id='type-id-36' size-in-bits='64' filepath='/usr/include/c++/5.3.1/ext/new_allocator.h' line='65' column='1' hash='ffc913127619398d' id='type-id-116'/>
+ <typedef-decl name='reference' type-id='type-id-35' size-in-bits='64' filepath='/usr/include/c++/5.3.1/ext/new_allocator.h' line='65' column='1' hash='ffc913127619398d' id='type-id-98'/>
</member-type>
<member-type access='public'>
- <typedef-decl name='size_type' type-id='type-id-95' size-in-bits='64' filepath='/usr/include/c++/5.3.1/ext/new_allocator.h' line='61' column='1' hash='8fdc5eea2983a729' id='type-id-117'/>
+ <typedef-decl name='size_type' type-id='type-id-75' size-in-bits='64' filepath='/usr/include/c++/5.3.1/ext/new_allocator.h' line='61' column='1' hash='8fdc5eea2983a729' id='type-id-99'/>
</member-type>
</class-decl>
- <class-decl name='__numeric_traits_integer<char>' is-struct='yes' visibility='default' size-in-bits='8' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='55' column='1' hash='b155c1439fb8f926' id='type-id-118'>
+ <class-decl name='__numeric_traits_integer<char>' is-struct='yes' visibility='default' size-in-bits='8' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='55' column='1' hash='b155c1439fb8f926' id='type-id-100'>
<data-member access='public' static='yes'>
- <var-decl name='__max' type-id='type-id-41' mangled-name='_ZN9__gnu_cxx24__numeric_traits_integerIcE5__maxE' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='59' column='1'/>
+ <var-decl name='__max' type-id='type-id-40' mangled-name='_ZN9__gnu_cxx24__numeric_traits_integerIcE5__maxE' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='59' column='1'/>
</data-member>
</class-decl>
- <class-decl name='__numeric_traits_integer<int>' is-struct='yes' visibility='default' size-in-bits='8' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='55' column='1' hash='93106c70be9cc18a' id='type-id-119'>
+ <class-decl name='__numeric_traits_integer<int>' is-struct='yes' visibility='default' size-in-bits='8' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='55' column='1' hash='93106c70be9cc18a' id='type-id-101'>
<data-member access='public' static='yes'>
- <var-decl name='__min' type-id='type-id-44' mangled-name='_ZN9__gnu_cxx24__numeric_traits_integerIiE5__minE' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='58' column='1'/>
+ <var-decl name='__min' type-id='type-id-43' mangled-name='_ZN9__gnu_cxx24__numeric_traits_integerIiE5__minE' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='58' column='1'/>
</data-member>
<data-member access='public' static='yes'>
- <var-decl name='__max' type-id='type-id-44' mangled-name='_ZN9__gnu_cxx24__numeric_traits_integerIiE5__maxE' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='59' column='1'/>
+ <var-decl name='__max' type-id='type-id-43' mangled-name='_ZN9__gnu_cxx24__numeric_traits_integerIiE5__maxE' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='59' column='1'/>
</data-member>
</class-decl>
- <class-decl name='__numeric_traits_integer<longint>' is-struct='yes' visibility='default' size-in-bits='8' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='55' column='1' hash='b83b6d736c3d7a3d' id='type-id-120'>
+ <class-decl name='__numeric_traits_integer<longint>' is-struct='yes' visibility='default' size-in-bits='8' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='55' column='1' hash='b83b6d736c3d7a3d' id='type-id-102'>
<data-member access='public' static='yes'>
- <var-decl name='__min' type-id='type-id-45' mangled-name='_ZN9__gnu_cxx24__numeric_traits_integerIlE5__minE' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='58' column='1'/>
+ <var-decl name='__min' type-id='type-id-44' mangled-name='_ZN9__gnu_cxx24__numeric_traits_integerIlE5__minE' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='58' column='1'/>
</data-member>
<data-member access='public' static='yes'>
- <var-decl name='__max' type-id='type-id-45' mangled-name='_ZN9__gnu_cxx24__numeric_traits_integerIlE5__maxE' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='59' column='1'/>
+ <var-decl name='__max' type-id='type-id-44' mangled-name='_ZN9__gnu_cxx24__numeric_traits_integerIlE5__maxE' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='59' column='1'/>
</data-member>
</class-decl>
- <class-decl name='__numeric_traits_integer<longunsignedint>' is-struct='yes' visibility='default' size-in-bits='8' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='55' column='1' hash='43c9314f28796314' id='type-id-121'>
+ <class-decl name='__numeric_traits_integer<longunsignedint>' is-struct='yes' visibility='default' size-in-bits='8' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='55' column='1' hash='43c9314f28796314' id='type-id-103'>
<data-member access='public' static='yes'>
- <var-decl name='__digits' type-id='type-id-44' mangled-name='_ZN9__gnu_cxx24__numeric_traits_integerImE8__digitsE' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='64' column='1'/>
+ <var-decl name='__digits' type-id='type-id-43' mangled-name='_ZN9__gnu_cxx24__numeric_traits_integerImE8__digitsE' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='64' column='1'/>
</data-member>
</class-decl>
- <class-decl name='__numeric_traits_integer<shortint>' is-struct='yes' visibility='default' size-in-bits='8' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='55' column='1' hash='9d7868ef0e2cc9d6' id='type-id-122'>
+ <class-decl name='__numeric_traits_integer<shortint>' is-struct='yes' visibility='default' size-in-bits='8' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='55' column='1' hash='9d7868ef0e2cc9d6' id='type-id-104'>
<data-member access='public' static='yes'>
- <var-decl name='__min' type-id='type-id-48' mangled-name='_ZN9__gnu_cxx24__numeric_traits_integerIsE5__minE' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='58' column='1'/>
+ <var-decl name='__min' type-id='type-id-47' mangled-name='_ZN9__gnu_cxx24__numeric_traits_integerIsE5__minE' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='58' column='1'/>
</data-member>
<data-member access='public' static='yes'>
- <var-decl name='__max' type-id='type-id-48' mangled-name='_ZN9__gnu_cxx24__numeric_traits_integerIsE5__maxE' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='59' column='1'/>
+ <var-decl name='__max' type-id='type-id-47' mangled-name='_ZN9__gnu_cxx24__numeric_traits_integerIsE5__maxE' visibility='default' filepath='/usr/include/c++/5.3.1/ext/numeric_traits.h' line='59' column='1'/>
</data-member>
</class-decl>
- <class-decl name='__normal_iterator<char*,std::basic_string<char,std::char_traits<char>,std::allocator<char>>>' visibility='default' is-declaration-only='yes' id='type-id-105'/>
- <class-decl name='__normal_iterator<charconst*,std::basic_string<char,std::char_traits<char>,std::allocator<char>>>' visibility='default' is-declaration-only='yes' id='type-id-101'/>
+ <class-decl name='__normal_iterator<char*,std::basic_string<char,std::char_traits<char>,std::allocator<char>>>' visibility='default' is-declaration-only='yes' id='type-id-87'/>
+ <class-decl name='__normal_iterator<charconst*,std::basic_string<char,std::char_traits<char>,std::allocator<char>>>' visibility='default' is-declaration-only='yes' id='type-id-83'/>
</namespace-decl>
- <typedef-decl name='__FILE' type-id='type-id-112' filepath='/usr/include/stdio.h' line='64' column='1' id='type-id-90'/>
- <type-decl name='variadic parameter type' id='type-id-123'/>
- <type-decl name='void' id='type-id-124'/>
- <pointer-type-def type-id='type-id-124' id='type-id-22'/>
+ <typedef-decl name='__FILE' type-id='type-id-94' filepath='/usr/include/stdio.h' line='64' column='1' id='type-id-69'/>
+ <type-decl name='variadic parameter type' id='type-id-105'/>
+ <type-decl name='void' id='type-id-106'/>
+ <pointer-type-def type-id='type-id-106' id='type-id-21'/>
</abi-instr>
</abi-corpus>
@@ -7,12 +7,4 @@
<elf-symbol name='alias_var' size='4' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
<elf-symbol name='main_var' size='4' type='object-type' binding='global-binding' visibility='default-visibility' alias='alias_var' is-defined='yes'/>
</elf-variable-symbols>
- <abi-instr address-size='64' path='test.c' comp-dir-path='/ws/android/aosp/kernel-build-tools/external/libabigail' language='LANG_C99'>
- <type-decl name='int' size-in-bits='32' hash='09d17c08f594edc7' id='95e97e5e'/>
- <function-decl name='main_func' mangled-name='main_func' filepath='/ws/android/aosp/kernel-build-tools/external/libabigail/test.c' line='7' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='main_func' hash='7f32ffea222edbe7'>
- <return type-id='48b5725f'/>
- </function-decl>
- <var-decl name='main_var' type-id='95e97e5e' mangled-name='main_var' visibility='default' filepath='/ws/android/aosp/kernel-build-tools/external/libabigail/test.c' line='14' column='1' elf-symbol-id='main_var'/>
- <type-decl name='void' id='48b5725f'/>
- </abi-instr>
</abi-corpus>
@@ -5,8 +5,6 @@
<elf-function-symbols>
<elf-symbol name='__foo' type='func-type' binding='global-binding' visibility='default-visibility' alias='foo,foo__,__foo__' is-defined='yes'/>
<elf-symbol name='__foo__' type='func-type' binding='global-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-symbol name='foo' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
<elf-symbol name='foo__' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
</elf-function-symbols>
@@ -3,17 +3,10 @@
<dependency name='libc.so.6'/>
</elf-needed>
<elf-function-symbols>
- <elf-symbol name='__foo' type='func-type' binding='global-binding' visibility='default-visibility' alias='foo,foo__,__foo__' is-defined='yes'/>
<elf-symbol name='__foo__' type='func-type' binding='global-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-symbol name='foo' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
+ <elf-symbol name='foo' type='func-type' binding='weak-binding' visibility='default-visibility' alias='foo__,__foo__' is-defined='yes'/>
<elf-symbol name='foo__' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
</elf-function-symbols>
- <abi-instr address-size='64' path='test3.c' comp-dir-path='/home/byby/oracle/src/libabigail/tests/data/test-read-common' language='LANG_C89'>
- <function-decl name='__foo' mangled-name='__foo' filepath='/home/byby/oracle/src/libabigail/tests/data/test-read-common/test3.c' line='23' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__foo' hash='7f32ffea222edbe7'>
- <return type-id='48b5725f'/>
- </function-decl>
- <type-decl name='void' id='48b5725f'/>
- </abi-instr>
</abi-corpus>
@@ -3,17 +3,6 @@
<dependency name='libc.so.6'/>
</elf-needed>
<elf-function-symbols>
- <elf-symbol name='__foo' type='func-type' binding='global-binding' visibility='default-visibility' alias='foo,foo__,__foo__' is-defined='yes'/>
- <elf-symbol name='__foo__' type='func-type' binding='global-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-symbol name='foo' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
- <elf-symbol name='foo__' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
</elf-function-symbols>
- <abi-instr address-size='64' path='test3.c' comp-dir-path='/home/byby/oracle/src/libabigail/tests/data/test-read-common' language='LANG_C89'>
- <function-decl name='__foo' mangled-name='__foo' filepath='/home/byby/oracle/src/libabigail/tests/data/test-read-common/test3.c' line='23' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__foo' hash='7f32ffea222edbe7'>
- <return type-id='48b5725f'/>
- </function-decl>
- <type-decl name='void' id='48b5725f'/>
- </abi-instr>
</abi-corpus>
@@ -3,17 +3,6 @@
<dependency name='libc.so.6'/>
</elf-needed>
<elf-function-symbols>
- <elf-symbol name='__foo' type='func-type' binding='global-binding' visibility='default-visibility' alias='foo,foo__,__foo__' is-defined='yes'/>
- <elf-symbol name='__foo__' type='func-type' binding='global-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-symbol name='foo' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
- <elf-symbol name='foo__' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
</elf-function-symbols>
- <abi-instr address-size='64' path='test3.c' comp-dir-path='/home/byby/oracle/src/libabigail/tests/data/test-read-common' language='LANG_C89'>
- <function-decl name='__foo' mangled-name='__foo' filepath='/home/byby/oracle/src/libabigail/tests/data/test-read-common/test3.c' line='23' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__foo' hash='7f32ffea222edbe7'>
- <return type-id='48b5725f'/>
- </function-decl>
- <type-decl name='void' id='48b5725f'/>
- </abi-instr>
</abi-corpus>
@@ -10,6 +10,7 @@
#ifndef __TEST_READ_COMMON_H__
#define __TEST_READ_COMMON_H__
+#include <cstring>
#include <string>
#include "abg-ir.h"
#include "abg-corpus.h"
@@ -77,7 +78,7 @@ struct test_task : public abigail::workers::task
void
set_in_suppr_spec_path()
{
- if (spec.in_suppr_spec_path)
+ if (spec.in_suppr_spec_path && strcmp(spec.in_suppr_spec_path, ""))
in_suppr_spec_path = in_elf_base + spec.in_suppr_spec_path;
else
in_suppr_spec_path.clear();
@@ -661,10 +661,12 @@ test_task_dwarf::perform()
return;
string abidw = string(get_build_dir()) + "/tools/abidw";
- string drop_private_types;
+ string drop_private_types, suppr_specs;
if (!in_public_headers_path.empty())
drop_private_types += "--headers-dir " + in_public_headers_path +
" --drop-private-types";
+ if (!in_suppr_spec_path.empty())
+ suppr_specs = " --suppr " + in_suppr_spec_path + " ";
string type_id_style = "sequence";
if (spec.type_id_style == HASH_TYPE_ID_STYLE)
type_id_style = "hash";
@@ -672,7 +674,7 @@ test_task_dwarf::perform()
string cmd = abidw + " --no-parameter-names --no-architecture --no-load-undefined-interfaces"
+ " --type-id-style " + type_id_style
+ " --no-corpus-path "
- + drop_private_types + " " + in_elf_path
+ + drop_private_types + suppr_specs + " " + in_elf_path
+" > " + out_abi_path;
if (system(cmd.c_str()))