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