From: Petr Machata Date: Wed, 13 Oct 2010 11:35:56 +0000 (+0200) Subject: dwarflint: Fix is_overlap for zero-length ranges X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d68337a0c5086eb481a02375fae7d5872421c375;p=thirdparty%2Felfutils.git dwarflint: Fix is_overlap for zero-length ranges --- diff --git a/dwarflint/coverage.cc b/dwarflint/coverage.cc index 5da06ee8c..0722a4c55 100644 --- a/dwarflint/coverage.cc +++ b/dwarflint/coverage.cc @@ -238,8 +238,10 @@ namespace bool coverage::is_overlap (uint64_t start, uint64_t length) const { - if (empty () || length == 0) + if (empty ()) return false; + if (length == 0) + return is_covered (start, length); uint64_t a_end = start + length; const_iterator r_i = find (start); diff --git a/dwarflint/test-coverage.cc b/dwarflint/test-coverage.cc index 5ac8bf54d..ed9e2c2d5 100644 --- a/dwarflint/test-coverage.cc +++ b/dwarflint/test-coverage.cc @@ -32,6 +32,7 @@ void chkcov (coverage const &cov, uint64_t start, uint64_t length) { assert (cov.is_covered (start, length)); + assert (cov.is_overlap (start, length)); for (uint64_t i = start; i < start + length; ++i) { assert (cov.is_covered (i, 1));