vsk added a comment.

In http://reviews.llvm.org/D20878#446690, @ikudrin wrote:

> Is there a case where this patch makes things better than they were before? 
> Is it possible to improve handling of exceptions instead?


This patch removes something which doesn't appear to serve a useful purpose. In 
general, I don't see a way to handle stack unwinding well. Consider:

  1| void f() {
  2|  may_throw();
  3|  may_throw();
  4|  return;
  5|}

It would be prohibitively expensive to create separate regions and counters for 
lines 3 and 4, and after every callsite of `f`, and all its callsites, etc. We 
could improve the situation slightly by (1) documenting that stack unwinding is 
not handled precisely, and/or (2) emitting a diagnostic if the TU contains a 
`throw` statement. This would make the resulting coverage reports less 
surprising to users.


http://reviews.llvm.org/D20878



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to