1*5845688eSKadir Cetinkaya // Check for warnings 2*5845688eSKadir Cetinkaya // RUN: not %clang --warning-suppression-mappings=foo.txt -fsyntax-only %s 2>&1 | FileCheck -check-prefix MISSING_MAPPING %s 3*5845688eSKadir Cetinkaya // RUN: not %clang -cc1 --warning-suppression-mappings=foo.txt -fsyntax-only %s 2>&1 | FileCheck -check-prefix MISSING_MAPPING %s 4*5845688eSKadir Cetinkaya // MISSING_MAPPING: error: no such file or directory: 'foo.txt' 5*5845688eSKadir Cetinkaya 6*5845688eSKadir Cetinkaya // Check that it's no-op when diagnostics aren't enabled. 7*5845688eSKadir Cetinkaya // RUN: %clang -cc1 -Wno-everything -Werror --warning-suppression-mappings=%S/Inputs/suppression-mapping.txt -fsyntax-only %s 2>&1 | FileCheck -check-prefix WARNINGS_DISABLED --allow-empty %s 8*5845688eSKadir Cetinkaya // WARNINGS_DISABLED-NOT: warning: 9*5845688eSKadir Cetinkaya // WARNINGS_DISABLED-NOT: error: 10*5845688eSKadir Cetinkaya 11*5845688eSKadir Cetinkaya // RUN: %clang -cc1 -verify -Wformat=2 -Wunused --warning-suppression-mappings=%S/Inputs/suppression-mapping.txt -fsyntax-only %s 12*5845688eSKadir Cetinkaya 13*5845688eSKadir Cetinkaya __attribute__((__format__ (__printf__, 1, 2))) 14*5845688eSKadir Cetinkaya void format_err(const char* const pString, ...); 15*5845688eSKadir Cetinkaya 16*5845688eSKadir Cetinkaya namespace { 17*5845688eSKadir Cetinkaya void foo() { 18*5845688eSKadir Cetinkaya const char *x; 19*5845688eSKadir Cetinkaya format_err(x); // Warning suppressed here. 20*5845688eSKadir Cetinkaya const char *y; // expected-warning{{unused variable 'y'}} 21*5845688eSKadir Cetinkaya } 22*5845688eSKadir Cetinkaya } 23*5845688eSKadir Cetinkaya 24*5845688eSKadir Cetinkaya #line 42 "foo/bar.h" 25*5845688eSKadir Cetinkaya namespace { 26*5845688eSKadir Cetinkaya void bar() { // expected-warning{{unused function 'bar'}} 27*5845688eSKadir Cetinkaya const char *x; 28*5845688eSKadir Cetinkaya format_err(x); // expected-warning{{format string is not a string literal (potentially insecure)}} \ 29*5845688eSKadir Cetinkaya // expected-note{{treat the string as an argument to avoid this}} 30*5845688eSKadir Cetinkaya } 31*5845688eSKadir Cetinkaya } 32