aaron.ballman added a comment. In D157572#4612141 <https://reviews.llvm.org/D157572#4612141>, @cjdb wrote:
> I don't dislike it, but I am a bit concerned about misuse being noisy. So you're concerned that a library author uses `diagnose_if` to add a diagnostic to a warning group that makes the diagnostic seem too chatty, so the user disables the group and loses the compiler's diagnostics? Or are there other kinds of misuse you're worried about? > As much as I hate suppressing diagnostics, I think there needs to be a way to > suppress the `diagnose_if` forms of warning without suppressing something > that the compiler would otherwise generate. Something like: > > - `-Wno-deprecated`: suppresses anything that `-Wdeprecated` would turn on. > - `-Wno-deprecated=diagnose_if`: just the ones flagged by `diagnose_if`. > - `-Wno-deprecated=non-diagnose_if`: complement to #2. > > (and similarly for `-Wno-error=`.) > > I'm not sure about the system header knob though: `[[deprecated]]` and > `[[nodiscard]]` still show up even when the declaration is in a system header? Correct, those will still show up when the declaration is in a system header but not when the use is in a system header: https://godbolt.org/z/PjqKbGsrr We currently have `-Wuser-defined-warnings` as the warning group for `diagnose_if` warning diagnostics, so I wonder if it would make sense to allow `-Wno-deprecated` suppresses anything that `-Wdeprecated` would turn on, while `-Wdeprecated -Wno-user-defined-warnings` would turn on only the compiler-generated deprecation warnings and not the diagnose_if-generated ones? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D157572/new/ https://reviews.llvm.org/D157572 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits