summaryrefslogtreecommitdiffstats
path: root/clang/test/Sema/format-strings-ms.c
diff options
context:
space:
mode:
authorSaleem Abdulrasool <compnerd@compnerd.org>2018-09-19 18:13:34 +0000
committerSaleem Abdulrasool <compnerd@compnerd.org>2018-09-19 18:13:34 +0000
commit29bf94d86fba0babf426e3d25abaae24dd9971bd (patch)
treed799b7ebbcc4e72f7f5f03f95cc0f051da646791 /clang/test/Sema/format-strings-ms.c
parent8191d63c3bb4fb20afdc30a0681c072d18b6dcfc (diff)
downloadbcm5719-llvm-29bf94d86fba0babf426e3d25abaae24dd9971bd.tar.gz
bcm5719-llvm-29bf94d86fba0babf426e3d25abaae24dd9971bd.zip
Sema: handle `wint_t` more carefully for printf checking
In the case that `win_t` is an `unsigned short` (e.g. on Windows), we would previously incorrectly diagnose the conversion because we would immediately promote the argument type from `wint_t` (aka `unsigned short`) to `int` before checking if the type matched. This should repair the Windows hosted bots. llvm-svn: 342565
Diffstat (limited to 'clang/test/Sema/format-strings-ms.c')
-rw-r--r--clang/test/Sema/format-strings-ms.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/clang/test/Sema/format-strings-ms.c b/clang/test/Sema/format-strings-ms.c
index 9887b461f61..56a349051d4 100644
--- a/clang/test/Sema/format-strings-ms.c
+++ b/clang/test/Sema/format-strings-ms.c
@@ -13,7 +13,6 @@ void non_iso_warning_test(__int32 i32, __int64 i64, wchar_t c, void *p) {
printf("%I32d", i32); // expected-warning{{'I32' length modifier is not supported by ISO C}}
printf("%I64d", i64); // expected-warning{{'I64' length modifier is not supported by ISO C}}
printf("%wc", c); // expected-warning{{'w' length modifier is not supported by ISO C}}
- // expected-warning@-1{{format specifies type 'wint_t' (aka 'unsigned short') but the argument has type 'wchar_t' (aka 'unsigned short')}}
printf("%Z", p); // expected-warning{{'Z' conversion specifier is not supported by ISO C}}
}
@@ -36,7 +35,7 @@ void unsigned_test() {
}
void w_test(wchar_t c, wchar_t *s) {
- printf("%wc", c); // expected-warning{{format specifies type 'wint_t' (aka 'unsigned short') but the argument has type 'wchar_t' (aka 'unsigned short')}}
+ printf("%wc", c);
printf("%wC", c);
printf("%C", c);
printf("%ws", s);
OpenPOWER on IntegriCloud