]> git.ipfire.org Git - thirdparty/elfutils.git/commitdiff
dwarflint: Support zero-length ranges
authorPetr Machata <pmachata@redhat.com>
Wed, 13 Oct 2010 11:26:10 +0000 (13:26 +0200)
committerPetr Machata <pmachata@redhat.com>
Wed, 13 Oct 2010 11:26:10 +0000 (13:26 +0200)
dwarflint/coverage.cc
dwarflint/test-coverage.cc

index bdd1e2c86f57a652ad5740150579c565e9947622..5da06ee8cbfaf35d9cb5f94e60b625fe3e5e81a9 100644 (file)
@@ -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;
 
index 6f94685ad00b902e06069b86d67083a242a0f854..5ac8bf54dad3e21dee97c61e8d9b44884b19b495 100644 (file)
@@ -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);
 }