+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>
PR libstdc++/35637
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.
// Assuming baseline_names, test_names are both unique w/ no duplicates.
//
for (size_t j = 0; j < missing_size; ++j)
{
symbol& base = baseline_objects[missing_names[j]];
- base.status = symbol::subtracted;
- incompatible.push_back(symbol_pair(base, base));
+
+ // 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;
+ incompatible.push_back(symbol_pair(base, base));
+ }
}
// Check shared names for compatibility.