[1/2] corpus: is_empty: consider actual translation unit contents
Commit Message
A corpus with completely filtered out symbols (exhaustive whitelist),
still contains compilation units, but they are empty. A list of empty
translation units shall be considered empty as no entries need to be
considered. That is useful to skip empty corpora when writing out the
xml for them.
Hence, teach is_empty() to have a look at the actual translation units.
* src/abg-corpus.cc (corpus::is_empty): consider a list of
empty members to be empty.
Signed-off-by: Matthias Maennich <maennich@google.com>
---
src/abg-corpus.cc | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
@@ -859,7 +859,18 @@ corpus::set_architecture_name(const string& arch)
bool
corpus::is_empty() const
{
- return (priv_->members.empty()
+ bool members_empty = true;
+ for (translation_units::const_iterator i = priv_->members.begin(),
+ e = priv_->members.end();
+ i != e; ++i)
+ {
+ if (!(*i)->is_empty())
+ {
+ members_empty = false;
+ break;
+ }
+ }
+ return (members_empty
&& priv_->fun_symbol_map
&& priv_->fun_symbol_map->empty()
&& priv_->var_symbol_map