mirror of git://gcc.gnu.org/git/gcc.git
testsuite_abi.cc: Add support for not counting GLIBCXX_LDBL_* compat symbols missing if...
2008-03-20 Benjamin Kosnik <bkoz@redhat.com> * testsuite/util/testsuite_abi.cc: Add support for not counting GLIBCXX_LDBL_* compat symbols missing if no long double compat symbols under test. From-SVN: r133417
This commit is contained in:
parent
f3270633e0
commit
4a49c70b85
|
@ -1,3 +1,9 @@
|
||||||
|
2008-03-20 Benjamin Kosnik <bkoz@redhat.com>
|
||||||
|
|
||||||
|
* testsuite/util/testsuite_abi.cc: Add support for not counting
|
||||||
|
GLIBCXX_LDBL_* compat symbols missing if no long double compat
|
||||||
|
symbols under test.
|
||||||
|
|
||||||
2008-03-20 Paolo Carlini <pcarlini@suse.de>
|
2008-03-20 Paolo Carlini <pcarlini@suse.de>
|
||||||
|
|
||||||
PR libstdc++/35637
|
PR libstdc++/35637
|
||||||
|
|
|
@ -354,6 +354,16 @@ compare_symbols(const char* baseline_file, const char* test_file,
|
||||||
exit(2);
|
exit(2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Check to see if any long double compatibility symbols are produced.
|
||||||
|
bool ld_version_found(false);
|
||||||
|
symbol_objects::iterator li(test_objects.begin());
|
||||||
|
while (!ld_version_found && li != test_objects.end())
|
||||||
|
{
|
||||||
|
if (li->second.version_name.find("GLIBCXX_LDBL_") != std::string::npos)
|
||||||
|
ld_version_found = true;
|
||||||
|
++li;
|
||||||
|
}
|
||||||
|
|
||||||
// Sort out names.
|
// Sort out names.
|
||||||
// Assuming baseline_names, test_names are both unique w/ no duplicates.
|
// Assuming baseline_names, test_names are both unique w/ no duplicates.
|
||||||
//
|
//
|
||||||
|
@ -389,9 +399,18 @@ compare_symbols(const char* baseline_file, const char* test_file,
|
||||||
for (size_t j = 0; j < missing_size; ++j)
|
for (size_t j = 0; j < missing_size; ++j)
|
||||||
{
|
{
|
||||||
symbol& base = baseline_objects[missing_names[j]];
|
symbol& base = baseline_objects[missing_names[j]];
|
||||||
|
|
||||||
|
// Iff no test long double symbols at all and the symbol missing
|
||||||
|
// is a baseline long double symbol, skip.
|
||||||
|
if (!ld_version_found
|
||||||
|
&& base.version_name.find("GLIBCXX_LDBL_") != std::string::npos)
|
||||||
|
continue;
|
||||||
|
else
|
||||||
|
{
|
||||||
base.status = symbol::subtracted;
|
base.status = symbol::subtracted;
|
||||||
incompatible.push_back(symbol_pair(base, base));
|
incompatible.push_back(symbol_pair(base, base));
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Check shared names for compatibility.
|
// Check shared names for compatibility.
|
||||||
const symbol_names::size_type shared_size = shared_names.size();
|
const symbol_names::size_type shared_size = shared_names.size();
|
||||||
|
|
Loading…
Reference in New Issue