[PATCH] D18575: [clang-tidy] New checker to replace deprecated throw() specifications
Aaron Ballman via cfe-commits
cfe-commits at lists.llvm.org
Tue Apr 5 09:46:16 PDT 2016
aaron.ballman added inline comments.
================
Comment at: clang-tidy/modernize/UseNoexceptCheck.cpp:16
@@ +15,3 @@
+
+// FIXME: Should this be moved to ASTMatchers.h?
+namespace ast_matchers {
----------------
alexfh wrote:
> Yes, it might make sense to move it to ASTMatchers.h.
Yes, please (along with tests and documentation, etc).
================
Comment at: clang-tidy/modernize/UseNoexceptCheck.cpp:94
@@ +93,3 @@
+
+ const FunctionDecl *FuncDecl =
+ Result.Nodes.getNodeAs<clang::FunctionDecl>("functionDecl");
----------------
Can use `auto` here to not repeat the type name from the initializer.
================
Comment at: clang-tidy/modernize/UseNoexceptCheck.cpp:148
@@ +147,3 @@
+ CurrentLoc = Tok.getLocation();
+ }
+
----------------
I think all of this custom logic can be replaced by looking at the FunctionType. If it has a dynamic exception specification (`hasDynamicExceptionSpec()`) then whether it is throwing or not throwing (`isNothrow()`) determines whether you replace with `noexcept(false)` or `noexcept`. But then you don't have to go back to the source to see what is written.
http://reviews.llvm.org/D18575
More information about the cfe-commits
mailing list