[PATCH] D41815: [clang-tidy] implement check for goto

Roman Lebedev via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Sat Jan 13 07:13:54 PST 2018


lebedev.ri added inline comments.


================
Comment at: clang-tidy/cppcoreguidelines/AvoidGotoCheck.cpp:21
+AST_MATCHER(GotoStmt, isForwardJumping) {
+  return Node.getLocStart() < Node.getLabel()->getLocStart();
+}
----------------
JonasToth wrote:
> lebedev.ri wrote:
> > Hm, on a second thought, i think this will have false-positive if the label and the goto are on the same line, like
> > ```
> > goto label; ; label: ; 
> > ```
> > I wonder we could **easily** compare accounting for the position in the line, or it is not worth the extra complexity.
> Iam not sure what you mean. Is the concern that the `goto` does not actually skip something?
> If yes it is still worth it, because its not necessary to have the `goto` then.
> 
> The `<` on the locations should always be sensefull because AFAIK its at byte level (or something similar).
> 
> Your example is diagnosed correctly.
> The < on the locations should always be sensefull because AFAIK its at byte level (or something similar).
Ah, great then. I had some recollections of having some issues with that before, but it makes sense that it would just work.



Repository:
  rCTE Clang Tools Extra

https://reviews.llvm.org/D41815





More information about the cfe-commits mailing list