llvm-project/clang/test/Misc/warning-suppression-mappings-pragmas.cpp
Kadir Cetinkaya 5845688e91
Reapply "[clang] Introduce diagnostics suppression mappings (#112517)"
This reverts commit 5f140ba54794fe6ca379362b133eb27780e363d7.
2024-11-13 10:35:22 +01:00

17 lines
708 B
C++

// Check that clang-diagnostic pragmas take precedence over suppression mapping.
// RUN: %clang -cc1 -verify -Wformat=2 --warning-suppression-mappings=%S/Inputs/suppression-mapping.txt -fsyntax-only %s
__attribute__((__format__ (__printf__, 1, 2)))
void format_err(const char* const pString, ...);
void foo() {
const char *x;
format_err(x); // Warning suppressed here.
// check that pragmas take precedence
#pragma clang diagnostic push
#pragma clang diagnostic warning "-Wformat=2"
format_err(x); // expected-warning{{format string is not a string literal (potentially insecure)}} \
// expected-note{{treat the string as an argument to avoid this}}
#pragma clang diagnostic pop
}