isuckatcs added inline comments.
================ Comment at: clang-tools-extra/clang-tidy/utils/ExceptionAnalyzer.cpp:542 + CaughtExceptions)) { + CaughtExceptions.emplace(CaughtType, SourceLocation()); ExceptionInfo Rethrown = throwsException(Catch->getHandlerBlock(), ---------------- isuckatcs wrote: > Here we rethrow something from a `try` block if I understand it correctly. > > ```lang=c++ > void foo() { > throw 3; > } > > void bar() { > try { > foo(); > } catch(short) { > } > } > ``` > > The best way would be to set the `SourceLocation` to the point, where `foo()` > is called. > I think you would need to create a new `struct` called `ThrowableInfo`, which > contains, > every information that we need to know about the `Throwable` e.g.: type, > location, parent > context, etc. That would also be more extensible. > > If there's no way to deduce this location for some reason, you can still set > the location > to the `try` block and create messages like `rethrown from try here`, etc. > Just don't create > invalid `SourceLocation`s please, because besides them being incorrect, they > are also > a source of bugs and crashes. Also, is this branch tested? I don't see any new test case with a `try` block. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D153298/new/ https://reviews.llvm.org/D153298 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits