From: Petr Machata Date: Wed, 13 Oct 2010 11:26:10 +0000 (+0200) Subject: dwarflint: Support zero-length ranges X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=74ae34f26e6d9ffd34b2865df6e0235df14e721c;p=thirdparty%2Felfutils.git dwarflint: Support zero-length ranges --- diff --git a/dwarflint/coverage.cc b/dwarflint/coverage.cc index bdd1e2c86..5da06ee8c 100644 --- a/dwarflint/coverage.cc +++ b/dwarflint/coverage.cc @@ -197,8 +197,6 @@ coverage::remove (uint64_t start, bool coverage::is_covered (uint64_t start, uint64_t length) const { - assert (length > 0); - if (empty ()) return false; diff --git a/dwarflint/test-coverage.cc b/dwarflint/test-coverage.cc index 6f94685ad..5ac8bf54d 100644 --- a/dwarflint/test-coverage.cc +++ b/dwarflint/test-coverage.cc @@ -141,11 +141,21 @@ main () assert (cov.empty ()); cmpfmt(cov, ""); + cov.add (0, 10); assert (cov == cov); assert (cov == coverage (cov)); assert (cov == coverage (cov) + coverage (cov)); assert ((coverage (cov) - coverage (cov)).empty ()); + cov.add (20, 0); + cmpfmt (cov, "[0x0, 0xa), [0x14, 0x14)"); + chkcov (cov, 20, 0); + chkncov (cov, 19, 1); + chkncov (cov, 20, 1); + chkncov (cov, 30, 0); + cov.add (30, 10); + cmpholes(cov, "[0xa, 0x14), [0x14, 0x1e)"); + if (fail) std::exit (1); }