[clang] [Clang][Sema] Process warnings conditionally (PR #120591)
Dmitry Chestnykh via cfe-commits
cfe-commits at lists.llvm.org
Mon Dec 23 08:48:28 PST 2024
================
@@ -6591,27 +6591,36 @@ void CheckFormatHandler::HandleNonStandardConversionSpecifier(
void CheckFormatHandler::HandlePosition(const char *startPos,
unsigned posLen) {
- EmitFormatDiagnostic(S.PDiag(diag::warn_format_non_standard_positional_arg),
- getLocationOfByte(startPos),
- /*IsStringLocation*/true,
- getSpecifierRange(startPos, posLen));
+ if (!S.getDiagnostics().isIgnored(
+ diag::warn_format_non_standard_positional_arg, SourceLocation())) {
+ EmitFormatDiagnostic(S.PDiag(diag::warn_format_non_standard_positional_arg),
+ getLocationOfByte(startPos),
+ /*IsStringLocation*/ true,
+ getSpecifierRange(startPos, posLen));
+ }
}
void CheckFormatHandler::HandleInvalidPosition(
const char *startSpecifier, unsigned specifierLen,
analyze_format_string::PositionContext p) {
- EmitFormatDiagnostic(
- S.PDiag(diag::warn_format_invalid_positional_specifier) << (unsigned)p,
- getLocationOfByte(startSpecifier), /*IsStringLocation*/ true,
- getSpecifierRange(startSpecifier, specifierLen));
+ if (!S.getDiagnostics().isIgnored(
+ diag::warn_format_invalid_positional_specifier, SourceLocation())) {
+ EmitFormatDiagnostic(
+ S.PDiag(diag::warn_format_invalid_positional_specifier) << (unsigned)p,
+ getLocationOfByte(startSpecifier), /*IsStringLocation*/ true,
+ getSpecifierRange(startSpecifier, specifierLen));
+ }
----------------
chestnykh wrote:
Fixed
https://github.com/llvm/llvm-project/pull/120591
More information about the cfe-commits
mailing list