salman-javed-nz added inline comments.

================
Comment at: 
clang-tools-extra/test/clang-tidy/infrastructure/nolintbeginend.cpp:6
+
+// NOLINTEND
+class B1 { B1(int i); };
----------------
aaron.ballman wrote:
> Do you think this should be diagnosed as a sign of user confusion with the 
> markings?
For a stray `NOLINTEND` like this one, I don't think so. The original warning 
is still raised, so I see this as clang-tidy failing safe. The user is forced 
to fix their mistake before the warning goes away.

The consequences are of the same severity as misusing the existing `NOLINT` and 
`NOLINTNEXTLINE` markers, e.g. putting `NOLINT` on the wrong line, or adding a 
blank line after `NOLINTNEXTLINE`.


================
Comment at: 
clang-tools-extra/test/clang-tidy/infrastructure/nolintbeginend.cpp:86
+
+// NOLINTBEGIN
+class H1 { H1(int i); };
----------------
aaron.ballman wrote:
> Should this be diagnosed as user confusion?
> 
> My concern in both of these cases isn't so much that someone writes this 
> intentionally, but that one of the begin/end pair gets removed accidentally 
> when refactoring. Helping the user to identify *where* the unmatched 
> delimiters are seems like it could be user-friendly behavior.
The consequences of this one are higher, as there is the potential to suppress 
warnings unintentionally and allow clang-tidy rule violations to go undetected. 
I agree that something more could be done here.

I can think of two improvements:

1. In `LineIsMarkedWithNOLINT()`, when a `NOLINTBEGIN` is found, only return 
true if the corresponding `NOLINTEND` is found as well. Raise the original 
warning if the `NOLINTEND` is omitted.

2. Raise an additional warning regarding the unmatched pair of delimiters. Some 
guidance on how to implement it would be appreciated. In the call stack of the 
`LineIsMarkedWithNOLINT()` function, I can't see any exposed functionality to 
generate new diagnostics on the fly. Would a new clang-tidy check be the place 
to implement this?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D108560/new/

https://reviews.llvm.org/D108560

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

Reply via email to