[PATCH] D23265: [clang-tidy] enhance readability-else-after-return

Kirill Bobyrev via cfe-commits cfe-commits at lists.llvm.org
Tue Aug 9 10:38:29 PDT 2016

omtcyfz added inline comments.

Comment at: clang-tidy/readability/ElseAfterReturnCheck.cpp:45
@@ +44,3 @@
+  for (const auto &BindingName :
+       {"return", "continue", "break", "goto", "throw"}) {
+    if (Result.Nodes.getNodeAs<Stmt>(BindingName)) {
alexfh wrote:
> This won't work in MSVC2013, I think. Just add a `const char *Labels[] = {"return", ...` (add more consts, constexprs or statics, if you like ;)
Hm, I'm confused. What exactly wouldn't work in MSVC?

Comment at: test/clang-tidy/readability-else-after-return.cpp:33
@@ -32,1 +32,3 @@
+  // CHECK-MESSAGES: :[[@LINE-1]]:3: warning: do not use 'else' after 'return'
+  // CHECK-FIXES: // comment
alexfh wrote:
> CHECK-FIXES pattern should be sticter. Current pattern will match for any `// comment` occurrence anywhere in the test file, even if it's on a different line and still prefixed with `else`.
> Two action items here: 1. make comments and patterns unique, 2. anchor patterns to the start of line (`{{ˆ}}`).
Why make comments and patterns unique? If I anchor patterns to the start of line, it will only look at the line above, why does it need to be unique then?


More information about the cfe-commits mailing list