jyu2 added a comment.

In https://reviews.llvm.org/D33333#760431, @aaron.ballman wrote:

> In https://reviews.llvm.org/D33333#760419, @jyu2 wrote:
>
> > In https://reviews.llvm.org/D33333#760149, @aaron.ballman wrote:
> >
> > > As an FYI, there is a related check currently under development in 
> > > clang-tidy; we probably should not duplicate this functionality in both 
> > > places. See https://reviews.llvm.org/D19201 for the other review.
> >
> >
> > To my understanding, clang-tidy is kind of source check tool.  It does more 
> > intensive checking than compiler.  
> >  My purpose here is to emit minimum warning form compiler, in case, 
> > clang-tidy is not used.
>
>
> Sort of correct. clang-tidy doesn't necessarily do more intensive checking 
> than the compiler. It's more an AST matching source checking tool for checks 
> that are either expensive or have a higher false-positive rate than we'd want 
> to see in the frontend.
>
> I think that this particular check should probably be in the frontend, like 
> you're doing. My biggest concern is that we do not duplicate functionality 
> between the two tools. https://reviews.llvm.org/D19201 has has a considerable 
> amount of review, so you should look at the test cases there and ensure you 
> are handling them (including the fixits). Hopefully your patch ends up 
> covering all of the functionality in the clang-tidy patch.
>
> > In https://reviews.llvm.org/D33333#760353, @Prazek wrote:
> > 
> >> Could you add similar tests as the ones that Stanislaw provied in his 
> >> patch?
> >>  Like the one with checking if throw is catched, or the conditional 
> >> noexcept (by a macro, etc)
> > 
> > 
> > Good idea!  Could add “marco” test for this.  But I am not sure compiler 
> > want to add check for throw caught by different catch handler.  Because at 
> > compile time, compiler can not statically determine which catch handler 
> > will be used to caught the exception on all time.   I would think that is 
> > pragma's responsibility.
> > 
> > For example:
> > 
> >   If (a) throw A else throw B;  
> >    
> >    
> > 
> > My main concern there is implicit noexcept gets set by compiler, which 
> > cause runtime to termination.


As I said, I don't think checking throw type matching catch handler type is 
compiler's job.  I'd like either silence all warning for that.  What do you 
think?


https://reviews.llvm.org/D33333



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

Reply via email to