erichkeane added a comment.

In https://reviews.llvm.org/D33537#801889, @baloghadamsoftware wrote:

> In https://reviews.llvm.org/D33537#771274, @aaron.ballman wrote:
>
> > The check in https://reviews.llvm.org/D33333 is using a CFG, not just 
> > checking direct throws.
>
>
> I tested the latest revision (the fronted patch already included) on my test 
> file. Disregarding of the not so important parameters (`EnabledFunctions` and 
> `IgnoredExceptions`) I do not get warnings for any indirect throws 
> (`indirect_implicit()` and `indirect_explicit()`). So for me it does not seem 
> to be using the CFG. Furthermore, I do not get warning for 
> `throw_and_catch_some()` where `1.1` is a `double` thus `catch(int &)` should 
> not catch it. The same happens in `throw_catch_rethrow_the_rest()`, where 
> `catch(int &)` should not catch `1.1`, but `catch(...)` should catch and 
> rethrow it. This latter may be a bug.


Jen Yu can clarify, but I believe it was decided to put the implementation in 
the CFG, but not do a full analysis (leave that for a later implementation).  
It is not doing 'catch' analysis, and I don't believe they decided to do 
analysis on the function call itself, since the false-positive rate is massive 
thanks to the C headers.


https://reviews.llvm.org/D33537



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

Reply via email to