Improve test coverage for %zx, %zu used with printf

This commit is contained in:
Dmitry-Me 2017-10-13 18:17:33 +03:00
parent 81beb47e5c
commit 7a7f34fb11
1 changed files with 6 additions and 0 deletions

View File

@ -1796,6 +1796,12 @@ private:
"}");
ASSERT_EQUALS("", errout.str());
check("void foo(int i, long double ld) {\n"
" printf(\"%zx %zu\", i, ld);\n"
"}");
ASSERT_EQUALS("[test.cpp:2]: (warning) %zx in format string (no. 1) requires 'size_t' but the argument type is 'signed int'.\n"
"[test.cpp:2]: (warning) %zu in format string (no. 2) requires 'size_t' but the argument type is 'long double'.\n", errout.str());
// False negative test
check("void foo(unsigned int i) {\n"
" printf(\"%h\", i);\n"