From 74ae34f26e6d9ffd34b2865df6e0235df14e721c Mon Sep 17 00:00:00 2001 From: Petr Machata Date: Wed, 13 Oct 2010 13:26:10 +0200 Subject: [PATCH] dwarflint: Support zero-length ranges --- dwarflint/coverage.cc | 2 -- dwarflint/test-coverage.cc | 10 ++++++++++ 2 files changed, 10 insertions(+), 2 deletions(-) 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); } -- 2.47.3